Linuxの固定IP設定
目次
いっつも固定IPの設定方法を忘れて調べまくるのでまとめてメモ。
全体的に
書式チェックは省略しているが、sshなどリモートで設定する場合は、適用前に書式チェックをしないと、多分悲しいことになるので注意。
netplan
最近のUbuntuとかがこれ。
詳細はここで確認できる。 https://netplan.io/examples/
(例: /etc/netplan/01-netcfg.yaml
)
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
dhcp6: no
# IPv6の自動設定を抑止
accept-ra: no
addresses:
- 10.0.0.100/24
- 2001:DB8::100/64
gateway4: 10.0.0.1
gateway6: fe80::1
nameservers:
search:
- notr.app
addresses:
- 10.0.0.53
netplan apply
で適用。
interfaces
正式名称は知らないが、 /etc/network/interfaces
で設定するやつ。
Debianとか古いUbuntuがこれのイメージ。
# ホットプラグする場合は
# allow-hotplug eth0
auto eth0
iface eth0 inet static
address 10.0.0.100
netmask 255.255.255.0
gateway 10.0.0.1
dns-domain notr.app
dns-nameservers 10.0.0.53
iface eth0 inet6 static
address 2001:DB8::100
netmask 64
gateway fe80::1
#dns-nameservers fe80::53
service networking restart
で適用。
network-scripts
同じく正式名称は知らないが、 /etc/sysconfig/network-scripts/ifcfg-xxxx
で設定するやつ。
CentOSとかRHELがこれのイメージ。CentOS 7以降はnmcli
が推奨らしい。
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=10.0.0.100
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
DNS1=10.0.0.53
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6ADDR=2001:DB8::100/64
IPV6_DEFAULTGW=fe80::1
service network restart
で適用。
nmcli
RHEL 7以降で推奨されている方法。NetworkManager。
nmcli connection modify enp7s0 ipv4.addresses 10.0.0.100/24
nmcli connection modify enp7s0 ipv4.gateway 10.0.0.1
nmcli connection modify enp7s0 ipv4.dns 10.0.0.53
nmcli connection modify enp7s0 ipv4.dns-search example.com
nmcli connection modify enp7s0 ipv4.method manual
nmcli connection up enp7s0
で適用。(down
は不要。)