Amazon EC2のネットワーク設定をUbuntuで確認する

Pocket

Amazon EC2 Ubuntu 20.04 LTS (Focal Fossa)のネットワーク設定がUbuntuでどのように設定されているのかを確認します。

内容

本記事では以下を確認します。

  • IPアドレスおよびMACアドレス
  • デフォルトゲートウェイ
  • DNSサーバ(フルサービスリゾルバ)

Amazon VPC内のAmazon EC2インスタンスはAmazon DHCPサーバと通信してIPアドレスを取得します。
またデフォルトでは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
    inet6 ::1/128 scope host
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`から以下のことが分かります。

- IPv4のアドレスは10.3.0.183/24

## デフォルトゲートウェイ

ルートテーブルを確認します。

```sh
$ ip route
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 esample.com
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

しかしAmazon VPCのフルサービスリゾルバは、VPCのネットワークアドレスに2を加えたアドレスです(10.3.0.0/16の場合は10.3.0.2)。

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

  1. netplanはLTSでは18.04以降に導入されました。 

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。