はじめに
本ページは、Azure上のRed Hat OSに対して、マルチNICを構成した場合の静的ルートの設定方法を記述したものである。
投稿した理由、Microsoft Azureの公式ドキュメント「複数のネットワーク インターフェイス カードを使用して Linux 仮想マシンを Azure に作成する方法の複数の NIC 用にゲスト OS を構成する」では、下記の記載がある通り、詳細な手順が記載されておりません。
「オペレーティング システムに永続的なルートを追加する方法は、
ディストリビューションによって異なります。
手順については、ディストリビューションのドキュメントを参照してください。」
Red Hat OSの手順を記載しますが、初めて操作する方にイメージがつけばいいなと考えております!
では、Let's Study!
設定手順
流れとして。
Azure ポータル上から追加しただけでは、NICが有効化されていないため、
OS上で「1.追加したNICを接続する手順」を実施する。
その後「2.永続的な静的ルートの設定手順」を実施する。
1.追加したNICを接続する手順
1-1.eth1が「切断済み」であることを確認する。
# nmcli d
DEVICE TYPE STATE CONNECTION
eth0 ethernet 接続済み System eth0
virbr0 bridge 接続済み virbr0
eth1 ethernet 切断済み --
lo loopback 管理無し --
virbr0-nic tun 管理無し --
1-2.Network Manager画面を表示し、eth1を接続する。
# nmtui
Network Manager画面上の設定
[接続の編集]-<追加>-<Ethernet>-<作成>を選択する。
Ethernet 接続 1 の設定画面が表示されるため、
デバイスに eth1 と入力する。
また、IPv6設定を「無視する。」を選択し、<OK>を選択する。
<戻る>-<OK>を選択する。
1-3.eth1が「接続済み」であることを確認する。
# nmcli d
DEVICE TYPE STATE CONNECTION
eth0 ethernet 接続済み System eth0
eth1 ethernet 接続済み Ethernet 接続 1
virbr0 bridge 接続済み virbr0
lo loopback 管理無し --
virbr0-nic tun 管理無し --
2.永続的な静的ルートの設定手順
2-1.現状のルートを確認する。
# route -n
2-2.nmcliを使った静的ルートの設定
# nmcli device modify eth1 +ipv4.routes "10.0.0.0/24 10.0.0.1"
"宛先アドレス/<プレフィックス> <GWアドレス>"
※GWのアドレスは、Azureではサブネットに対して定義されているアドレス範囲内の最初の IP アドレスとなる。
@angel_p_57様からいただいたコメントを検証した結果を反映しました。
RHEL7の推奨設定方法( 4.2. NMCLI を使った静的ルートの設定 )
2-6.サービス再起動
# systemctl restart network
以降、設定したルートが反映されてeth1で接続ができるようになる!
(補足:プライマリはeth0 セカンダリーはeth1で固定です。)
参考文献
・複数の NIC 用にゲスト OS を構成する(Windows版)
・9.4.静的ルートおよびデフォルトゲートウェイ
・4.2.NMCLIを使った静的ルートの設定