固定IP/DHCP有無、ネットワークインターフェースとMACアドレス関連付け、デフォルトゲートウェイなどを設定します。
RedHat系では/etc/sysconfig/network
に対応します。
設定ファイル:/etc/netplan/50-cloud-init.yaml
Netplan はすべての /etc/netplan/*.yaml ファイルを読み込みます。 複数のファイルが存在する場合は、ファイル名のアルファベット順に読み込まれ、後に読み込まれたファイルの設定値が優先的に使用されます。 例えば、
/etc/netplan/50-cloud-init.yaml
/etc/netplan/99-custom.yaml
というファイルがある場合、50-cloud-init.yaml で設定された値は 99-custom.yaml の設定値によって上書きされます。
-- Linuxメモ: Netplan で Ubuntu のネットワーク設定を行う
ref. https://maku.blog/p/7q3dnx8/
netplan
はUbuntu 18.04
から導入されました。
設定ファイルは/etc/netplan/50-cloud-init.yaml
です。
netplan
が導入される以前(Ubuntu 16.04以前)は、/etc/network/interfaces
が使用されていました。
https://qiita.com/nasuvitz/items/b67100028f7245ebe9b9
$ less /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
eth0:
dhcp4: true
dhcp6: false
match:
macaddress: 06:ea:d8:20:a2:79 <--- ip address showのeth0のMACアドレスと同じ
set-name: eth0
version: 2
$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
link/ether 06:ea:d8:20:a2:79 brd ff:ff:ff:ff:ff:ff
inet 10.3.0.100/24 metric 100 brd 10.11.0.255 scope global dynamic eth0
フルサービスリゾルバは、/etc/resolv.conf
に記載されています。
# This is /run/systemd/resolve/stub-resolv.conf managed by man:systemd-resolved(8).
# Do not edit.
#
# This file might be symlinked as /etc/resolv.conf. If you're looking at
# /etc/resolv.conf and seeing this text, you have followed the symlink.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "resolvectl status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs should typically not access this file directly, but only
# through the symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a
# different way, replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.
nameserver 127.0.0.53
options edns0 trust-ad
search ap-northeast-1.compute.internal
上記ではフルサービスリゾルバとしてsystemd-resolved.service
が提供している127.0.0.53
を使用しています。
nslookupで確認してもフルサービスリゾルバとして127.0.0.53
が使用されていることが分かります。
$ nslookup esample.com
Server: 127.0.0.53
Address: 127.0.0.531#53
しかしAmazon VPCのフルサービスリゾルバはVPCのネットワークアドレスに2を加えたアドレスです(例では10.3.0.2
)。
sudo resolvectl status
でsystemd-resolved.service
が最終的に参照するフルサービスリゾルバが分かります。
以下のように最終的には10.3.0.2
が参照されています。
$ sudo resolvectl status
Global
LLMNR setting: no
// ...
Link 2 (eth0)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 10.3.0.2
DNS Servers: 10.3.0.2
DNS Domain: ap-northeast-1.compute.internal
参考までにさくらVPSのUbuntu 16.04を記載します。
$ less /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 203.0.113.100
netmask 255.255.254.0
network 203.0.113.0
broadcast 203.0.113.255
gateway 203.0.113.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 203.0.113.200
$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:06:01:52:36 brd ff:ff:ff:ff:ff:ff
inet203.0.113.100/43 brd 49.212.185.255 scope global eth0