Networking

無法 ping 非主要彈性 IP

  • December 27, 2016

我在 AWS VPC 環境中配置 EC2。有 1 個實例、1 個網路介面和多個彈性 IP。只能ping 主地址。奇怪的是,在所有 IP 都起作用之前。突然(不確定,但可能在重新啟動後)發生了這種情況。所有彈性 IP 都與實例相關聯。策略允許所有進出流量。

我注意到的另一件事是,當我嘗試在不提供私有地址的情況下將彈性 IP 與實例相關聯時,它會替換主要的公共 IP,然後它就可以工作了。但是當我關聯另一個未使用的私有 IP 時,它會附加到網路介面的公共 IP 列表中,並且無法 ping 它,因為其他 IP 是主 IP。

我找到了解決方案。問題是,作業系統不知道所有輔助內部地址。以下腳本將所有輔助地址重新連接到 eth0 網路介面。

MAC_ADDR=$(ifconfig eth0 | sed -n 's/.*HWaddr \([a-f0-9:]*\).*/\1/p')
IP=($(curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/$MAC_ADDR/local-ipv4s))
for ip in ${IP[@]:1}; do
   echo "Adding IP: $ip"
   ip addr add dev eth0 $ip/24
done

取自這裡

您必須有 2 個不同的內部 IP 地址作為彈性 IP,您只能分配給內部 IP。當您關聯彈性 IP 時,您需要指定內部 IP,否則它將替換主要公共 IP。

您使用哪些內部地址?似乎它們來自相同的 CIDR 範圍,並且實例根本無法正確路由它。

引用自:https://serverfault.com/questions/822821