Ubuntu
Amazon EC2 上的靜態公共 IP 地址
我在 Amazon EC2 伺服器上執行 Ubuntu。我有一個公共 IP 地址 (
52.38.20.76
)。我無法將公共 IP 地址綁定到 UDP 埠:
udp listen 52.38.20.76:3478: Cannot assign requested address
因此,我正在嘗試更改 ifconfig 以顯示公共 IP 地址而不是私有 IP 地址。但是,我嘗試過的網路更改沒有奏效。
編輯
/etc/network/interfaces.d/eth0.cfg
# The primary network interface auto eth0 #iface eth0 inet dhcp iface eth0 inet static address 52.38.20.76 netmask 255.255.255.0 gateway 172.31.32.1 dns-nameservers 8.8.8.8 8.8.4.4
網關,我根據一個
route -n
命令的結果:目標網關 Genmask 標誌 Metric Ref Use Iface 0.0.0.0 172.31.32.1 0.0.0.0 UG 0 0 0 eth0 172.31.32.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
目前 ifconfig 設置:
eth0 鏈路封裝:乙太網 HWaddr 06:01:36:ee:0f:0d inet 地址:172.31.47.199 廣播:172.31.47.255 遮罩:255.255.240.0 inet6 地址:fe80::401:36ff:feee:f0d / 64 範圍:連結 UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1 RX 數據包:8169768 錯誤:0 丟棄:0 超限:0 幀:0 TX 數據包:8126026 錯誤:0 丟棄:0 超限:0 運營商:0 碰撞:0 txqueuelen:1000 RX 字節:6143591550(6.1 GB) TX 字節:6277418496(6.2 GB)
僅供參考,靜態 IP 地址 (
52.38.20.76
) 是使用 Amazon 的彈性 IP 地址完成的。有人對如何更改將公共 IP 地址添加到介面有任何建議嗎?
這不是 EC2 的工作方式。
所有EC2 實例都位於 Amazon 的 NAT 基礎設施後面。無法直接將 EIP 或其他公共 IP 直接分配給 EC2 實例。
您的 AWS 主機不直接知道其公共 IP、EIP 或其他資訊。AWS 會為您解決這些問題。這意味著您的應用程序無法區分連接到內部 IP 和外部 IP 的東西。
從您的應用程序角度來看,您將綁定到 0.0.0.0:3478,AWS 將外部地址轉換為您的內部地址。