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は不要。)