2つのサブネット(サブネットAとサブネットB)を持つVPCがあります。
私たちのチームは、各サブネットで1つのIPをインスタンスに複数のIPに割り当てようとしています。インスタンスの起動時に
既にプライマリインスタンスのプライベートIPがあり、SubnetA
コンソールオプションを介して別のプライベートIPを接続しました。コンソールのオプションで両方のIPを表示できます。インスタンスを再起動し、再起動すると両方のIPが表示されることが予想されますが、デフォルトのIPのみが表示されます。SubnetB
Attach network Interface
Managed IP Address
ifconfig
プライベートIPが実際にインスタンスに接続されていることを確認するには、次のコマンドを使用してインスタンスメタデータを照会します。
curl -s http://169.254.169.254/latest/meta-data/network/interfaces/macs/02:14:46:91:bc:34/local-ipv4s
curl -s http://169.254.169.254/latest/meta-data/network/interfaces/macs/02:1d:2a:75:ax:04/local-ipv4s
上記の2つのコマンドの出力で、それぞれ両方のIPを見ることができます。
NETWORKMANAGERステータスを確認しましたが停止systemctl status NetworkManager
しました。
次のコマンドを使用してサービスを開始し、起動時にNetworkManagerを自動的に有効にしました。
systemctl start NetworkManager
systemctl enable NetworkManager
その後、出力を確認しました。ifconfig
今回は2つのMACアドレスが表示されました。唯一の違いは、2番目のMACアドレスではIPアドレスを見ることができないことでした。したがって、デフォルトではインターフェイスが動作するため、基本デバイスを見つけることができます。このインターフェイスに関連付けられたIPアドレスはありません。
そのため、IPを関連付ける2つのオプションを試しました。
IPアドレスを手動で割り当てるには:
sudo ifconfig ens6 w.x.y.z
または、DHCPサーバー(ある場合)に連絡して、インターフェイスのIPアドレスを提供するようにします。
sudo dhclient -v ens6
両方とも機能し、その下に両方のIPが表示されますinet
。
最後の問題は、インスタンスを再起動するたびにこれを行う必要があることです。そこで、次のコマンドを使用して永続パスを追加してみました。
sudo /sbin/route add default gw 1xx.xx.2xx.193
ここでIPは2番目のIPですが、SubnetB
エラーが発生します。
SIOCADDRT: Network is unreachable
上記の問題を解決するために私がしたことは、プライマリIPの詳細を含む
/etc/sysconfig/network-scripts/ifcfg-ens5
ファイルがすでに存在し、
/etc/sysconfig/network-scripts/ifcfg-ens6
セカンダリIPの必要な詳細を含む他のファイルを追加したことです。
これこれが私が言及したものです。
再起動して動作しています。
ただし、セカンダリIPをpingすることはできません。。 2番目のサブネットでもう1つ追加する必要があるようですが、Gateway
わかりません。
セカンダリIPを使用してトラフィック、ping、sshをルーティングするには、さらに行う必要があります。
私のVPCサブネットCIDRSを参照してください。
サブネットA:1.7.2.128/26
サブネットB:1.7.2.192/26
修正する:
今日サーバーを起動すると、テストインスタンスの1つでセカンダリIP(200)をpingできましたが、プライマリIP(136)はpingできませんでした。また、これはssh
デフォルトのIPを使用して行われます。
答え1
ip route add default via 1XX.XX.XXX.X9X dev ens6 table 2000;
ip route add 1XX.7X.2XX.X9X dev ens6 table 2000;
ip rule add from 1XX.7X.2XX.1XX lookup 2000;
上記のコマンドは問題を解決するのに役立ち、セカンダリIPをpingできました。再起動後もこの設定を維持するために同じコマンドrc.local
最初の行のIPは、ゲートウェイIP(サブネット範囲の2番目のIP)です。コマンドの2行目と3行目に記載されているIPは、私のサーバーの実際のセカンダリIPです。