Amazon EC2上的静态公共IP地址

我在Amazon EC2服务器上运行Ubuntu。 我有一个公共IP地址(52.38.20.76)。

我无法将公共IP地址绑定到UDP端口:
udp监听52.38.20.76:3478:无法分配请求的地址

所以,我试图改变ifconfig,显示公共IP地址,而不是私人IP地址。 但是,我尝试过的networking变化没有奏效。

编辑/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标志度量参考使用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 Link encap:Ethernet HWaddr 06:01:36:ee:0f:0d
           inet addr:172.31.47.199 Bcast:172.31.47.255 Mask:255.255.240.0
           inet6地址:fe80 :: 401:36ff:feee:f0d / 64范围:链接
           UP BROADCAST RUNNING MULTICAST MTU:9001公制: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地址到接口的build议?

谢谢!

达里尔

这不是EC2的工作原理。

所有 EC2实例都位于亚马逊的NAT基础设施之后。 直接将EIP或其他公共IP直接分配给EC2实例是不可能的。

您的AWS主机不直接了解其公共IP,EIP或其他。 AWS为您负责。 这意味着你的应用程序不能区分连接到内部IP和外部的东西。

从应用程序的angular度来看,您将绑定到0.0.0.0:3478,AWS会将外部地址转换为您的内部地址。