Onkサーバー
目次
Ubuntu server インストールメディアの作成
- Ubuntu server .isoファイルをダウンロードする
- Fedora Media Writer MacでUSBメモリーに.isoファイルを書き込み 起動メディアを作る
- LANケーブルを挿しとく
- 起動メディアをパソコンに挿し 電源を入れ F7キーを押して boot managerを表示し USBから起動する
インストール
- デフォルトのubuntu serverをインストールする minimizedはVimとか入っていないので選択しない
- ipアドレスの固定はあとからする
- ストレージ設定
- 1stストレージ500GBに16GBのswap領域を設定したら 自動でmaxで1GBちょっとの/bootパテーションが表示されたのでそれに従った 残りすべてを/パテーションにした
- 2ndストレージ2TBは/mnt/2nd_storageとしてすべてデータ保存ボリュームにする
- もしも2ndストレージと同じものがあればRIDE1を組みたい
- user nameはonk277とし システムをいじるときのユーザーにする 管理人二人のユーザーはあとから作る
- proはスキップする
- OpenSSH serverは後でインストールする
- アプリケーションはあとからインストールする
- インストール完了
ネットワーク設定
確認
ip addr
/etc/netplan/ディレクトリの設定ファイルを編集してipアドレ スを固定する
DNSサーバーを192.168.1.40に設定する
network: version: 2 ethernets: enp0s3: dhcp4: no addresses: - 192.168.1.100/24 gateway4: 192.168.1.1 nameservers: addresses: - 192.168.1.40
ユーザー追加
インストール時のユーザーはそのままにして自分ともう一人のユーザーを追加する
sudo adduser user1 sudo adduser user2
新しいユーザーに管理者権限を付与
sudo usermod -aG sudo user1 sudo usermod -aG sudo user2
ファイアーウォール
UFW(Uncomplicated Firewall)を使用してポートを開ける:
sudo ufw allow 8080
ファイアウォールのステータスを確認する:
sudo ufw status
OpenSSHサーバーをインストール
まず、パッケージリストを最新の状態に更新
sudo apt update
OpenSSHサーバーのインストール
sudo apt install openssh-server
SSHサービスの起動と有効化
sudo systemctl start ssh sudo systemctl enable ssh
SSHサービスのステータス確認
sudo systemctl status ssh
「active (running)」と表示されていれば、SSHサーバーは正常に動作
SSH接続
クライアントから秘密鍵と公開鍵でSSH接続する
秘密鍵と公開鍵の役割 秘密鍵(Private Key) 場所: クライアントマシンに保持します。 役割: 認証のために使用されます。秘密鍵は厳重に管理し、他人に知られないようにする必要があります。 ファイル名の例: ~/.ssh/id_rsa 公開鍵(Public Key) 場所: サーバーマシンに配置します。 役割: サーバー側でクライアントの認証を行うために使用されます。公開鍵は秘密ではないので、他人と共有しても問題ありません。 ファイル名の例: ~/.ssh/id_rsa.pub 配置場所: サーバーのユーザーのホームディレクトリにある~/.ssh/authorized_keysファイルに追加します。
クライアント側で新しく鍵を作る -cオプションで鍵に指紋を付ける サーバー側に公開鍵を書き込んだとき誰の鍵かわかるようになる
ssh-keygen -t rsa -b 4096 -C "shudo@pokpok.jp" Generating public/private rsa key pair. Enter file in which to save the key (/Users/jq/.ssh/id_rsa): /Users/jq/.ssh/id_rsa_onk-server ※既存の鍵があるので新しい鍵名にする Enter passphrase (empty for no passphrase): ※パスワードを入力せずにそのままエンターを押す ssh接続のときパスワード無しで接続できる Enter same passphrase again: Your identification has been saved in id_rsa_onk-server Your public key has been saved in id_rsa_onk-server.pub The key fingerprint is: SHA256:LePqJZ0yH4T8lhE2/k1TKHkML8ONjrMBz1kPn6UH+uQ shudo@pokpok.jp The key's randomart image is: +---[RSA 4096]----+ | . | | . B . | | . + X B o | | . B O X * | | o S + O . | | = @ * o | | + @ . E | | O . | | .o . | +----[SHA256]-----+
クライアント側に新しい秘密鍵と公開鍵ができた
id_rsa_onk-server id_rsa_onk-server.pub
新しい公開鍵(~/.ssh/id_rsa_onk-server.pub)をサーバーにコピーする
ssh-copy-id -i ~/.ssh/id_rsa_onk-server.pub shudo@192.168.1.40
クライアント側の~/.ssh/config ファイルを使用してSSH接続設定を書く
Host onk-server Hostname 192.168.1.40 port 22 User shudo IdentityFile ~/.ssh/id_rsa_onk-server
パスワードなしで接続できる
jq@MacBook-Pro % ssh onk-server Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-41-generic x86_64)
パスワード認証を禁止する /etc/ssh/sshd_config
PasswordAuthentication no KbdInteractiveAuthentication no
BIND9のインストール
sudo apt update sudo apt install bind9
/etc/bind/named.conf.local
zone "pokpok.jp" { type master; file "/etc/bind/db.pokpok.jp"; };
/etc/bind/db.pokpok.jp
$TTL 604800 @ IN SOA ns.pokpok.jp. root.pokpok.jp. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.pokpok.jp. ns IN A 192.168.1.40 ssh IN A 192.168.1.40
DHCPサーバのインストール
sudo apt update sudo apt install isc-dhcp-server
/etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option domain-name-servers 192.168.1.40, 8.8.8.8; option domain-name "pokpok.jp"; option routers 192.168.1.1; option broadcast-address 192.168.1.255; default-lease-time 600; max-lease-time 7200; }
DHCPサーバを起動し、自動起動を有効にします
sudo systemctl start isc-dhcp-server sudo systemctl enable isc-dhcp-server
状態確認
sudo systemctl status isc-dhcp-server
DHCPサーバを再起動
sudo systemctl restart isc-dhcp-server
Docker のインストール
リポジトリの更新と依存関係のインストール:
sudo apt update sudo apt install apt-transport-https ca-certificates curl software-properties-common
Docker GPG キーの追加:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Docker リポジトリの追加:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Docker のインストール:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io
Docker の起動と自動起動の設定:
sudo systemctl start docker sudo systemctl enable docker