手元のPCにUbuntuをインストールした...よく考えてみると物理PCに直接Ubuntuをインストールしたのが初めてだと気がついた。 特にネットワーク周りの設定は、ネットワークインタフェースに影響を受けるので、今まで意識したことが無いところでの設定が必要になった。
自宅内サーバとしての使い方なのでIPアドレスは固定化したい。 本当はルータ側でMACアドレスを指定してIPアドレス払い出しを固定化する方法も有るはずなのだけど、上手くいかなかったので、まずはUbuntu側で設定することにした。
Ubuntuでは、netplan
というコマンドを使ってIPアドレスを固定化する。
詳しい解説は、以下のサイトを参照のこと
公式ドキュメントでも、ネットの情報でも、明示的にrenderer
を指定している例が多いけど、公式ドキュメントには/etc/netplan/
配下にYAMLファイルが置かれていると明示的にrenderer
にNetworkManager
を指定しない限り、networkd
が利用されるそうなので、明示的に指定する必要が無かった。
あと、Ubuntu ServerはデフォルトでNetworkManager
をインストールしないので、NetworkManager
のパッケージを追加インストールしない限り、renderer
にNetworkManager
を指定してもネットワークインタフェースは何も設定されないので、注意。初めてUbuntu Serverをインストールした時、nmcli
ではネットワークインタフェースが全てunmanaged
になっていたので何事?と思ったけど、そもそもNetworkManager
では管理されていない、というそのままの状態表示だった。
インストールしたPCには有線LANと無線LANの、2つのインタフェースが有るので、有線LAN側を固定IP化することにした。
有線LAN側の設定
network: ethernets: device_ethernet: dhcp4: false addresses: [192.168.0.xx/24] routes: - to: default via: 192.168.0.1 metric: 100 nameservers: addresses: [192.168.0.1] wakeonlan: true version: 2
デバイス名と、IPアドレスはマスクしているけど、それ以外は設定した内容をそのまま載せている。静的にIPを指定する場合は、nameserver
とmetric
は明示的に設定する必要がある。
metricの意味は下記のサイトを参考にした。
デフォルトでは無線LANのインタフェースには600、有線LANのインタフェースには100が割り当てられた。同じゲートウェイを向いている時は、有線LANが選択されることになる。IPアドレスを固定化する際は、明示的に指定しないといけないの、デフォルトと同じ100を設定した。
name serverは、利用しているホームゲートウェイがWAN側にDNSサーバのアドレスを保持しているので、ゲートウェイに設定した。パブリックDNS 8.8.8.8でも別によいけど。
Wake on LANも明示的に設定しないと有効にならなかったので設定した......これで遠隔から電源をオンにできる。
無線LAN側の設定
同じ設定方法だとトラブった時に切り分けができないので、無線LAN側はDHCPを使うデフォルト設定のままとした。
network: version: 2 wifis: device_wifi: access-points: name_of_access_point: password: xxxxxxxxxxxxxxxxxxx dhcp4: true
ip route
コマンドで反映した結果を確認する
なお、ゲートウェイを指定するgateway4
記法はUbuntu 22.04より非推奨になっており、routes
を使うのだそうだ。