ネットワーク設定
Amazon EC2 を例にネットワークの設定を整理しています。
概要
Amazon EC2 Ubuntu 20.04 LTS (Focal Fossa) でネットワーク初期設定がどのように設定されているのかを確認します。
本記事では以下を確認します。
- IP アドレスおよび MAC アドレス
- デフォルトゲートウェイ
- DNS サーバ(フルサービスリゾルバ)
Amazon VPC 内の Amazon EC2 インスタンスは、Amazon DHCP サーバと通信して IP アドレスを取得します。
また EC2 は VPC 作成時にネットワークアドレス +2 に配置される AmazonProvidedDNS をフルサービスリゾルバとして使用します。
ref. デフォルト DHCP オプションセット
本記事は、上記の設定を Ubuntu で確認します。
IP アドレスおよび MAC アドレス
Ubuntu のネットワークは netplan で設定します1。
設定ファイルは /etc/netplan/50-cloud-init.yaml です。
本記事はコマンド発行結果で、記事に関係のない出力を省略しています。
# Amazon EC2 Ubuntu 20.04
$ less /etc/netplan/50-cloud-init.yaml
network:
ethernets:
eth0:
dhcp4: true
dhcp6: false
match:
macaddress: 06:b5:10:xx:xx:xx // 一部の 16 進数をxxと置き換えています
set-name: eth0
version: 2
/etc/netplan/50-cloud-init.yaml で以下ことが分かります。
- IPv4 の IP アドレスを DHCP サーバから取得している
eth0の MAC アドレスは06:b5:10:xx:xx:xxである
# eth0 の MAC アドレスが 06:b5:10:xx:xx:xx であることを確認
# IPv4 のアドレスが割り振られていることを確認
ip a
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 fq_codel state UP group default qlen 1000
link/ether 06:b5:10:xx:xx:xx brd ff:ff:ff:ff:ff:ff // <==== 50-cloud-init.yaml の eth0 の MAC アドレスと同じです
inet 10.3.0.183/24 brd 10.3.0.255 scope global dynamic eth0
ip a で以下のことが分かります。
eth0の IPv4 の IP アドレスが10.3.0.183/24
デフォルトゲートウェイ
ルートテーブルを確認します。
ip route
# または route -n
default via 10.3.0.1 dev eth0 proto dhcp src 10.3.0.183 metric 100
10.3.0.0/24 dev eth0 proto kernel scope link src 10.3.0.183
ルートテーブルから以下のことが分かります。
- ゲートウェイが
10.3.0.1
DNS サーバ(フルサービスリゾルバ)
フルサービスリゾルバは、/etc/resolv.conf で設定します。
less /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 example.org
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: example.org
Address: 93.184.216.34
Name: example.org
Address: 2606:2800:220:1:248:1893:25c8:1946
しかし VPC のフルサービスリゾルバは、VPCのネットワークアドレスに 2 を加えたアドレスです(10.3.0.0/16 の場合は 10.3.0.2 )です。
resolvectl status で systemd-resolved.service が最終的に参照するフルサービスリゾルバを確認します。
10.3.0.2 が参照されています。
sudo resolvectl status
Global
LLMNR setting: no
...
Current DNS Server: 10.3.0.2
DNS Servers: 10.3.0.2
DNS Domain: ap-northeast-1.compute.internal
-
netplanはLTSでは18.04以降に導入されました。 ↩