%20%E3%81%A7%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84.png)
私はセントOS7インスタンスオンEC2必要なアプリケーションウェアをインストールし、1を割り当てましたエラスティックIPデフォルトのネットワークインターフェース(eth0) すべてアクセス可能です。
今私は別のものを作りましたネットワークインターフェース、割り当てられたエラスティックIPそれにエニその後、インスタンスにアクセスできなくなります。eth1(新しい追加ネットワーク インターフェイス)。
私はGoogleで見つけた様々なアプローチを試してみましたifcfg-eth1で/etc/sysconfig/ネットワークスクリプトしかし運がなかった。
ヘルプとして、これはからの出力ですifconfig -a(IPはマスクされています):
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet 1XX.3XX.2XX.4XX netmask 255.255.240.0 broadcast 1XX.3XX.2XX.4XX
inet6 fe80::2e:a1ff:fe01:c763 prefixlen 64 scopeid 0x20<link>
ether 02:2e:a1:01:c7:63 txqueuelen 1000 (Ethernet)
RX packets 219 bytes 28188 (27.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 284 bytes 31055 (30.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 02:78:73:34:66:35 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 23 bytes 4968 (4.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 23 bytes 4968 (4.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
これはIPアドレス:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
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 qlen 1000
link/ether 02:2e:a1:01:c7:63 brd ff:ff:ff:ff:ff:ff
inet 1XX.3XX.2XX.4XX/20 brd 1XX.3XX.2XX.4XX scope global dynamic eth0
valid_lft 3404sec preferred_lft 3404sec
inet6 fe80::2e:a1ff:fe01:c763/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 02:78:73:34:66:35 brd ff:ff:ff:ff:ff:ff
私の/etc/sysconfig/ネットワークスクリプト/ifcfg-eth0ファイルの内容は次のとおりです:
DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="yes"
PEERDNS="yes"
IPV6INIT="no"
PERSISTENT_DHCLIENT="1"
答え1
最後に、この人以外には誰もいません:https://www.internetstaff.com/multiple-ec2-network-interfaces-on-red-hat-centos-7/助けて頂きました。
将来リンクが無効になった場合に情報を保存するために、投稿からの有益なコンテンツを次に示します。
デフォルトゲートウェイを強制するeth0:
編集/etc/sysconfig/ネットワークそして以下を追加します:
GATEWAYDEV=eth0
これを行わないと、メイン ルーティング テーブルのデフォルト ゲートウェイが最後に設定されるインターフェイスに設定され、奇妙な動作が発生します。
追加した各インターフェースを構成します。
で/etc/sysconfig/ネットワークスクリプト、作成するifcfg-ethバツ新しいインターフェースごとに。
修正する:
のデバイス名前に一致するエニ。
DEVICE="eth1" BOOTPROTO="dhcp" ONBOOT="yes" TYPE="Ethernet" USERCTL="yes" PEERDNS="yes" IPV6INIT="no" PERSISTENT_DHCLIENT="1"
追加インターフェースごとにカスタム ルートを追加します。
再び/etc/sysconfig/ネットワークスクリプト、作成するルート-ethバツ各インターフェースのファイル。
修正する:
- デバイス名。
- テーブル番号を増やします。
- VPC サブネットのゲートウェイへのゲートウェイ。
ソース IP を ENI の割り当てられた内部ネットワーク アドレスに変更します。
default via 10.0.0.1 dev eth0 table 1 10.0.0.0/24 dev eth0 src 10.0.0.10 table 1
また、/etc/sysconfig/ネットワークスクリプト、作成するルール-エトバツ各インターフェースごとに。
修正する:
- 一致するようにテーブル番号を増やすルート-ethバツ。
IP を ENI の割り当てられた内部ネットワーク アドレスに変更します。
from 10.0.0.10/32 table 1
ネットワークサービスを再起動すると、起動して実行されるはずです。確認するには、IPルール:
# ip rule
0: from all lookup local
32764: from 10.0.0.10 lookup 3
32765: from 10.0.0.11 lookup 2
32766: from all lookup main
32767: from all lookup default
Amazonはカスタムルートとルールを提案しました。eth0、しかし、我々はeth0デフォルトのメイン ルーティング テーブルを使用すると、機能するだけでなく、より柔軟になります。