我在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会将外部地址转换为您的内部地址。