#
ドキュメント

Document

自分のための備忘録です。

netplan

固定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/

netplanUbuntu 18.04から導入されました。
設定ファイルは/etc/netplan/50-cloud-init.yamlです。

netplanが導入される以前(Ubuntu 16.04以前)は、/etc/network/interfacesが使用されていました。

Amazon EC2 Ubuntu 22.04

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 statussystemd-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

Ubuntu 16.04

参考までにさくら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