Amazon EC2 上的静态公共 IP 地址

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

在Gateway中,我根据一个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 链路封装:以太网 HWaddr 06:01:36:ee:0f:0d
          inet 地址:172.31.47.199 Bcast:172.31.47.255 掩码:255.255.240.0
          inet6 地址:fe80::401:36ff:feee:f0d/64 范围:链接
          上行广播运行多播 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 地址有什么建议吗?

答案1

这不是 EC2 的工作方式。

全部EC2 实例位于 Amazon 的 NAT 基础设施后面。无法直接将 EIP 或其他公共 IP 分配给 EC2 实例。

答案2

您的 AWS 主机无法直接获知其公共 IP、EIP 或其他信息。AWS 会为您处理这些。这意味着您的应用程序无法区分连接到内部 IP 和外部 IP 的内容。

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

相关内容