Não é assim que o EC2 funciona.
Todas as instâncias do EC2 ficam atrás da infraestrutura NAT da Amazon. Não é possível atribuir diretamente um EIP ou outro IP público diretamente a uma instância do EC2.
Estou executando o Ubuntu em um servidor Amazon EC2. Eu tenho um endereço IP público (52.38.20.76).
Não consigo vincular o endereço IP público à porta UDP:
udp listen 52.38.20.76:3478: Não é possível atribuir o endereço solicitado
Então, estou tentando alterar o ifconfig para mostrar o endereço IP público em vez do endereço IP privado. No entanto, as alterações de rede que tentei não funcionaram.
Edite /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
O Gateway, baseio-me nos resultados de um comando "route -n":
Destination Gateway Genmask Flags 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
Configurações atuais do 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 addr: fe80::401:36ff:feee:f0d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1 RX packets:8169768 errors:0 dropped:0 overruns:0 frame:0 TX packets:8126026 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6143591550 (6.1 GB) TX bytes:6277418496 (6.2 GB)
FYI, o endereço IP estático (52.38.20.76) é feito usando o endereço IP Elastic da Amazon.
Alguém tem uma sugestão sobre como alterar o endereço IP público para as interfaces?
Obrigado!
Daryl
Seu host da AWS não está diretamente ciente de seu IP público, EIP ou outros. A AWS cuida disso para você. Isso significa que seu aplicativo não pode diferenciar entre algo que se conecta ao IP interno e externo.
Da perspectiva do seu aplicativo, você ligaria a 0.0.0.0:3478, a AWS traduz o endereço externo para o seu endereço interno.