こんにちは、Aireです。
本記事では、Amazon linux 2以降を対象に各Linuxディストリビューションでネットワーク設定を行う方法を記載します。
目次
ネットワーク設定方法の概要
Amazon Linuxは世代ごとに使えるパッケージが異なるため、ネットワークの設定方法も異なります。以下に世代ごとの設定方法の概要を記載します。
Amazon Linux 2
Amazon Linux 2では、NetworkManager
パッケージを利用できます。本パッケージをインストールすることで、nmcli
コマンドによるネットワーク設定が可能です。
Amazon Linux 2023
Amazon Linux 2023では、NetworkManager
パッケージが削除されたため、nmcli
コマンドによるネットワーク設定ができません(2023/8/19現在)。そのため、ネットワーク設定ファイルを編集することで対応します。
ネットワーク設定方法の紹介
NICのMTUを変更する
ここでは、1つのNICが割り当てられたAmazon Linuxインスタンスに対し、対象NICのMTUをデフォルト値から1500に変更します。
NetworkManager
パッケージをインストールします。
1 |
$ yum install -y NetworkManager |
NetworkManager
パッケージを起動します。
1 |
$ systemctl start NetworkManager |
NetworkManager
パッケージの自動起動を有効化します。
1 |
$ systemctl enable NetworkManager |
- NICの名前とMTUを確認します。(ここではeth0と9001)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000 link/ether 06:e7:86:10:78:2d brd ff:ff:ff:ff:ff:ff inet 10.0.0.46/24 brd 10.0.0.255 scope global dynamic eth0 valid_lft 3030sec preferred_lft 3030sec inet6 fe80::4e7:86ff:fe10:782d/64 scope link valid_lft forever preferred_lft forever |
- NIC(eth0)のコネクション名を確認します。(ここではSystem eth0)
1 2 3 4 |
$ nmcli c NAME UUID TYPE DEVICE System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0 eth0 a38d574b-3835-4e3f-8f37-556a524b57aa ethernet -- |
- NIC(eth0)のMTUを変更します。(ここでは1500に変更)
1 |
$ nmcli c modify "System eth0" 802-3-ethernet.mtu 1500 |
- MTUの変更を反映します。
1 2 |
$ nmcli c up eth0 接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/3) |
- NIC(eth0)のMTUが1500に変更されていることを確認します。
1 2 3 4 5 6 7 |
$ ip addr show eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 06:e7:86:10:78:2d brd ff:ff:ff:ff:ff:ff inet 10.0.0.46/24 brd 10.0.0.255 scope global dynamic noprefixroute eth0 valid_lft 3529sec preferred_lft 3529sec inet6 fe80::4e7:86ff:fe10:782d/64 scope link valid_lft forever preferred_lft forever |
NICのルーティングを変更する
ここでは、2つのNICが割り当てられたAmazon Linuxインスタンス(IPアドレス:10.0.1.20/10.0.2.20)に対し、2つ目のNICを経由してピアリング先VPCのサブネット(10.1.0.0/24)と通信する設定を追加します。
NetworkManager
パッケージをインストールします。
1 |
$ yum install -y NetworkManager |
NetworkManager
パッケージを起動します。
1 |
$ systemctl start NetworkManager |
NetworkManager
パッケージの自動起動を有効化します。
1 |
$ systemctl enable NetworkManager |
- NICの名前を確認します。(1つ目:eth0、2つ目:eth1)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
$ ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000 link/ether 06:02:d7:c7:79:45 brd ff:ff:ff:ff:ff:ff inet 10.0.1.20/24 brd 10.0.1.255 scope global dynamic eth0 valid_lft 3119sec preferred_lft 3119sec inet6 fe80::402:d7ff:fec7:7945/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000 link/ether 06:73:f6:2d:2e:4d brd ff:ff:ff:ff:ff:ff inet 10.0.2.20/24 brd 10.0.2.255 scope global dynamic eth1 valid_lft 3390sec preferred_lft 3390sec inet6 fe80::473:f6ff:fe2d:2e4d/64 scope link noprefixroute valid_lft forever preferred_lft forever |
- ルーティング設定を確認します。
1 2 3 4 5 |
$ ip route default via 10.0.1.1 dev eth0 10.0.1.0/24 dev eth0 proto kernel scope link src 10.0.1.20 10.0.2.0/24 dev eth1 proto kernel scope link src 10.0.2.20 metric 101 169.254.169.254 dev eth0 |
- NIC(eth1)のコネクション名を確認します。(ここではSystem eth1)
1 2 3 4 5 |
$ nmcli c NAME UUID TYPE DEVICE System eth1 9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04 ethernet eth1 eth0 af3d531c-fc18-43fc-bb25-18b8367e97da ethernet eth0 System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet -- |
- ルーティング設定を変更します。以下のように
nmcli
コマンドを実行し、10.1.0.0/24への通信が10.0.2.1を経由するように設定します。
1 |
$ nmcli c modify "System eth1" +ipv4.routes "10.1.0.0/24 10.0.2.1" |
- ルーティングの変更を反映します。
1 2 |
$ nmcli c up "System eth1" Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3) |
- ルーティング設定が変更されていることを確認します。
1 2 3 4 5 6 |
$ ip route default via 10.0.1.1 dev eth0 10.0.1.0/24 dev eth0 proto kernel scope link src 10.0.1.20 10.0.2.0/24 dev eth1 proto kernel scope link src 10.0.2.20 metric 101 10.1.0.0/24 via 10.0.2.1 dev eth1 proto static metric 101 169.254.169.254 dev eth0 |