Amazon-Web-Services
在 Amazon EC2 上添加第二個網路介面
我正在嘗試向 Amazon EC2 上的 Ubuntu 18.04 實例添加第二個網路介面。我按照亞馬遜的這個指南進行了操作,並添加了一個 /etc/netplan/51-eth1.yaml 文件,其中包含以下內容:
network: version: 2 renderer: networkd ethernets: eth1: addresses: - 172.31.10.13/20 dhcp4: no routes: - to: 0.0.0.0 via: 172.31.0.1 scope: link table: 1001 routing-policy: - from: 172.31.10.13 table: 1001
所以我的路由表現在看起來像這樣:
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.31.0.1 0.0.0.0 UG 100 0 0 eth0 172.31.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth1 172.31.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0 172.31.0.1 0.0.0.0 255.255.255.255 UH 100 0 0 eth0
但是,使用 ping -I ping 同一子網上的地址僅適用於 eth1 介面。我確實看到 eth0 上的回復正確到達,但看起來作業系統出於某種原因忽略了它們。在同一介面上對 eth0 和 tcpdump 執行 ping,我得到以下輸出:
PING 172.31.5.193 (172.31.5.193) from 172.31.10.197 eth0: 56(84) bytes of data. 06:00:15.186249 02:bb:3e:8f:3f:1c > 02:29:0b:80:74:b4, ethertype IPv4 (0x0800), length 98: 172.31.10.197 > 172.31.5.193: ICMP echo request, id 3538, seq 1, length 64 06:00:15.186635 02:29:0b:80:74:b4 > 02:bb:3e:8f:3f:1c, ethertype IPv4 (0x0800), length 98: 172.31.5.193 > 172.31.10.197: ICMP echo reply, id 3538, seq 1, length 64 06:00:16.201069 02:bb:3e:8f:3f:1c > 02:29:0b:80:74:b4, ethertype IPv4 (0x0800), length 98: 172.31.10.197 > 172.31.5.193: ICMP echo request, id 3538, seq 2, length 64 06:00:16.201513 02:29:0b:80:74:b4 > 02:bb:3e:8f:3f:1c, ethertype IPv4 (0x0800), length 98: 172.31.5.193 > 172.31.10.197: ICMP echo reply, id 3538, seq 2, length 64 ^C --- 172.31.5.193 ping statistics --- 2 packets transmitted, 0 received, 100% packet loss, time 1030ms
所以所有地址都是正確的,但是數據包仍然被認為是失去的。介面上的 TCP 連接也會發生同樣的事情 - SYN-ACK 到達但被忽略。我已經驗證預設情況下接受 iptables 規則,並且不存在其他規則。知道這裡有什麼問題嗎?
請問為什麼同一個子網需要2個網卡?這幾乎不需要。
如果您只需要2 個私有 IP 或 2 個彈性 IP ,您可以在現有介面上分配第二個:次要私有 IP 地址
希望有幫助:)