研究室などに設置する場合、大学のネットワーク管理者に問い合わせて次の情報を得てください
このページでは以下のIPv4のアドレスを付与された場合について解説します。
自宅に外部から接続可能なサーバーを設置する場合は、固定IPに対応したインターネットサービスプロバイダ(ISP)と契約する必要があります(月額料金が普通のISPより1000円くらい高いです)。
DNSサーバは、冗長性を持たせるために複数指定するのが一般的ですが、一つだけでも構いません。
Netplanを使ったIPアドレスの固定方法を説明します。
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 04:d9:f5:80:8e:c9 brd ff:ff:ff:ff:ff:ff
3: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
link/ether 04:d9:f5:80:8e:ca brd ff:ff:ff:ff:ff:ff
4: enp1s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether a0:36:9f:3f:b9:30 brd ff:ff:ff:ff:ff:ff
5: enp1s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether a0:36:9f:3f:b9:32 brd ff:ff:ff:ff:ff:ff
$ cd /etc/netplan $ sudo cp 01-network-manager-all.yaml 99-config.yaml $ sudo nano /etc/netplan/99-netcfg.yaml
network:
version: 2
renderer: NetworkManager
ethernets:
enp1s0f0:
dhcp4: no
dhcp6: no
addresses:
- xxx.xxx.xxx.xxx/24
routes:
- to: default
via: yyy.yyy.yyy.yyy
nameservers:
addresses:
- aaa.aaa.aaa.aaa
- bbb.bbb.bbb.bbb
enp1s0f1:
dhcp4: no
dhcp6: no
addresses:
- 192.168.0.1/24
$ sudo netplan apply
$ ip address
$ ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=2.37 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=55 time=2.17 ms ...
$ sudo apt update $ sudo apt upgrade -y $ sudo reboot # 必要に応じて再起動
(Ubuntu Desktop 26.04)
Netplanを更新する際に、systemd-networkdが起動していないというメッセージが出ることがあります。
$ sudo netplan apply [sudo: authenticate] Password: systemd-networkd is not running, output might be incomplete. Failed to reload network settings: Unit dbus-org.freedesktop.network1.service not found. Falling back to a hard restart of systemd-networkd.service
多分、問題ないのですが、気になる場合はsystemd-networkdを自動起動するようにします。
$ systemctl enable systemd-networkd ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-unit-files ==== Authentication is required to manage system service or unit files. Authenticating as: system_admin Password: ==== AUTHENTICATION COMPLETE ==== Created symlink '/etc/systemd/system/dbus-org.freedesktop.network1.service' → '/usr/lib/systemd/system/systemd-networkd.service'. Created symlink '/etc/systemd/system/multi-user.target.wants/systemd-networkd.service' → '/usr/lib/systemd/system/systemd-networkd.service'. Created symlink '/etc/systemd/system/sockets.target.wants/systemd-networkd.socket' → '/usr/lib/systemd/system/systemd-networkd.socket'. Created symlink '/etc/systemd/system/sockets.target.wants/systemd-networkd-varlink.socket' → '/usr/lib/systemd/system/systemd-networkd-varlink.socket'. Created symlink '/etc/systemd/system/sockets.target.wants/systemd-networkd-resolve-hook.socket' → '/usr/lib/systemd/system/systemd-networkd-resolve-hook.socket'. Created symlink '/etc/systemd/system/sysinit.target.wants/systemd-network-generator.service' → '/usr/lib/systemd/system/systemd-network-generator.service'. Created symlink '/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service' → '/usr/lib/systemd/system/systemd-networkd-wait-online.service'. ==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon ==== Authentication is required to reload the systemd state. Authenticating as: system_admin Password: ==== AUTHENTICATION COMPLETE ====
Netplanの設定ファイルは以下でも動きますが、昔の書き方です。 gateway4の使用はubuntu22.04以降は非推奨になりました。
network:
version: 2
renderer: NetworkManager
ethernets:
enp1s0f0:
dhcp4: no
dhcp6: no
addresses: [xxx.xxx.xxx.xxx/24]
gateway4: yyy.yyy.yyy.yyy
nameservers:
addresses: [aaa.aaa.aaa.aaa, bbb.bbb.bbb.bbb]
enp1s0f1:
dhcp4: no
dhcp6: no
addresses: [192.168.0.1/24]