Ubuntu Serverのインストーラーは「ディスクの半分だけ使う」という控えめな設定をデフォルトにしているので、全ての領域を使う設定を行う。
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv sudo resize2fs /dev/ubuntu-vg/ubuntu-lv df -h /
■②外付HDDをフォーマットして接続
内蔵SSDだけでは容量不足なので、HDDケースに格納したHDDを追加接続する
lsblk sudo mkfs.ext4 /dev/sdb1 sudo mkdir -p /mnt/data sudo mount /dev/sdb1 /mnt/data sudo blkid /dev/sdb1
mkfs コマンドで、HDDをext4形式フォーマットする
mkdir コマンドで、マウントポイント /mnt/data を作成
mount コマンドで、HDDをマウント
blkid コマンドで、HDDの固有IDを調べる「UUID="9eb4a428-50ae-4ad5-a428-da36a393cf95"」
エディタで、fstabファイルの修正
sudo nano /etc/fstab
最終行に調べたUUIDを書き足し再起動
UUID=9eb4a428-50ae-4ad5-a428-da36a393cf95 /mnt/data ext4 defaults 0 2
■③Ubuntu Server を windows機から操作する
Samba のインストール
sudo apt update sudo apt install samba -y
エディタで smb.conf 修正
sudo nano /etc/samba/smb.conf
ファイルの一番最後に、以下の内容を追加、Homeも追加
[ThinkPad_Data] path = /mnt/data browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755 force user = vafee [Home] path = /home/vafee browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755 force user = vafee
Windowsから接続するときに使うパスワードを決める
sudo smbpasswd -a vafee
設定の反映
sudo systemctl restart smbd
「ThinkPad_Data」と「Home」フォルダが見える。
Windowsからドライブ割当。コマンドプロンプトで以下を入力。スタートアップにバッチファイル追加
net use Z: \\192.168.0.100\ThinkPad_Data net use Y: \\192.168.0.100\Home
Ubuntu Server 起動時にSambaを自動起動
sudo systemctl daemon-reload sudo systemctl restart smbd
smbdが落ちても10秒後に自動復旧するコマンド
sudo systemctl daemon-reload sudo systemctl restart smbd
■④時刻の修正
時刻のデフォルトはホスト自体がUTCになっているのでJSTに変更(+9時間)
sudo timedatectl set-timezone Asia/Tokyo timedatectl
■⑤二画面ファイラー Midnight Commander をインストール
MS-DOS時代に便利に使わせて頂いた、山根直也氏の二画面ファイラー『FL』を思い出す、ファイル操作の 9割はコマンド不要で、秀丸エディタに近いエディタ内蔵
Midnight Commander(mc)のインストール
sudo apt update sudo apt install mc -y
■⑥tailscale インストール
sudo apt update && sudo apt install -y openssh-server tailscale docker.io docker-compose-plugin apache2 certbot sudo tailscale up
Tailscale再認証すると新しいノードとして登録され、IPが変わることがある。MagicDNS名(ubuntu-sv.tail******.ts.net)で運用していれば実害は少ないが、Windows側「windows_transfer.conf」の WINDOWS_SSH_HOST等、IP直書きの設定がないか確認する。
180日後の認証を止める、Tailscale 管理コンソールで該当マシンの「Key expiry」設定を確認し、無効化すれば今後再認証は不要となる。
・tailscaledプロセス自体がクラッシュする
・Tailscale側のアップデート適用に失敗する
・サーバー再起動時にtailscaledが正常に起動しない
・Tailscale社側のコーディネーションサーバーで障害が起きる
上記の対策として Tailscaleにresolv.conf を上書きさせないようにする
sudo tailscale set --accept-dns=false
■⑦ファイアウォール設定
ファイアウォール設定の確認
sudo ufw status numbered
『状態: 非アクティブ』で、働いていなかった。TailscaleがVPN層でアクセス制御しているので、外部からの直接攻撃リスクは低いとは言え、全ポートが無防備に開いている状態なので、解放するポートを指定して、その他は閉じることとした。
# --- 既存ルールを一旦リセット --- sudo ufw --force reset # SSH(LAN + Tailscale) sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp sudo ufw allow from 100.64.0.0/10 to any port 22 proto tcp # AdGuard Home Web管理画面 / Apache (80)(LANのみ) sudo ufw allow from 192.168.0.0/24 to any port 80 proto tcp # AdGuard Home DNS (53)(LAN + Tailscale) sudo ufw allow from 192.168.0.0/24 to any port 53 sudo ufw allow from 100.64.0.0/10 to any port 53 # AdGuard Home DHCP (67/68)(自宅Wi-Fi/LAN全体への配布のため無条件許可) sudo ufw allow 67/udp comment 'AdGuard DHCP server' sudo ufw allow 68/udp comment 'AdGuard DHCP client/relay' # EPGStation (8888)(LAN + Tailscale) sudo ufw allow from 192.168.0.0/24 to any port 8888 proto tcp sudo ufw allow from 100.64.0.0/10 to any port 8888 proto tcp # Mirakurun (40772)(LAN + Tailscale) sudo ufw allow from 192.168.0.0/24 to any port 40772 proto tcp sudo ufw allow from 100.64.0.0/10 to any port 40772 proto tcp # Samba (445/139)(LANのみ) sudo ufw allow from 192.168.0.0/24 to any port 445 proto tcp sudo ufw allow from 192.168.0.0/24 to any port 139 proto tcp # Netdata (19999)(LAN + Tailscale) sudo ufw allow from 192.168.0.0/24 to any port 19999 proto tcp sudo ufw allow from 100.64.0.0/10 to any port 19999 proto tcp # HLS Proxy/HTTP (8890/8889)(Tailscaleのみ) sudo ufw allow from 100.64.0.0/10 to any port 8890 proto tcp sudo ufw allow from 100.64.0.0/10 to any port 8889 proto tcp # --- 有効化 --- sudo ufw --force enable sudo ufw status numbered
と、聞いてくるが、「y enter」で、完了。
■⑧スピーカーの無音化
Ubuntu Server で、エラーが出ると、短いけど「プ」とビープ音がなる、普段ディスプレイの音量は大きくしているので、このビープ音が大きいので無効化する。
# pcspkr モジュールを無効化 echo "blacklist pcspkr" | sudo tee /etc/modprobe.d/nobeep.conf sudo rmmod pcspkr 2>/dev/null # ターミナルのベル設定を確認 echo $TERM # ベルを無効化 echo "set bell-style none" >> ~/.inputrc # 即座に反映 bind -f ~/.inputrc# ターミナルのベル設定を確認 echo $TERM
まだ設定が足りなかった、SSH画面なのでWindows Terminal の設定が必要だった。
Windows Terminal の設定: 設定 → プロファイル → Ubuntu Server (tmux) → 詳細 → 「ベル通知」 をオフ
■⑨Ubuntu 再起動しても通信出来る様設定する
Adgurd のDHCサーバーを有効にして、ルーターのDHCサーバーを無効にしていると、Ubuntuを再起動すると通信が出来なくなった、一度DHCサーバーを有効にすれば回避できたが、その手順は面倒なので、Ubuntu が起動した瞬間に、自力でIPとゲートウェイを設定するように書き換える。
設定ファイル名を確認
ls /etc/netplan/
表示されたファイル名が『50-cloud-init.yaml』だったので、置換える
sudo nano /etc/netplan/50-cloud-init.yaml
network:
version: 2
renderer: networkd
ethernets:
enp0s31f6:
dhcp4: no
addresses:
- 192.168.0.100/24
nameservers:
addresses:
- 8.8.8.8
- 1.1.1.1
routes:
- to: default
via: 192.168.0.1現在の設定「192.168.0.1」だと、Ubuntu は名前解決をルーター(=その先のAdGuard)に頼り切っているので、これを「 8.8.8.8(Google)」 にしておくことで、たとえ AdGuardが起動エラーで止まっていても、Ubuntu自体は外と繋がり、Cloudflare Tunnelが自力で立ち上がり、アクセスが復活できる
■再起動・電源OFFの覚書
再起動
sudo reboot
電源OFF
sudo shutdown -h now
-h: Halt(停止)の略
now: 「今すぐ」実行
sudo poweroff: これも「今すぐ電源を切る」動作
sudo shutdown -h +10: 10分後に電源を切る予約
sudo shutdown -c 間違えて打った時にキャンセル