Назад | Перейти на главную страницу

Назначьте общедоступный IP-адрес AWS для интерфейса

Экземпляр ec2 из RHEL ami (я не проверял ни одного другого) имеет только частный адрес, назначенный ему.

т.е. ip addr дает:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
    valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 02:6d:c3:86:ce:e0 brd ff:ff:ff:ff:ff:ff
    inet 172.39.16.198/20 brd 172.39.31.255 scope global eth0
    inet6 fe80::6d:c2ff:fe86:cee0/64 scope link 
    valid_lft forever preferred_lft forever

общедоступный IP-адрес работает, и через него можно получить доступ к машине. Он может получить доступ в Интернет через шлюз VPC.

Но как мне убедиться, что в интерфейсе есть общественный IP, значит, исходящие пакеты действительно содержат правильный IP? Это необходимо для правильной работы ipsec.

Ну, вы не можете явно назначить общедоступные IP-адреса экземпляру AWS на уровне ОС. У Amazon есть свой центр обработки данных за брандмауэром (-ами), и все инстансы имеют частные IP-адреса, которые преобразуются с помощью NAT в общедоступный IP-адрес.

Так что снаружи они выглядят как public IP но внутри у них есть свои private IPs. Если вы пытаетесь добраться до своего экземпляра извне, используя public IP должно быть достаточно, чтобы добраться до него, поскольку он сопоставляется непосредственно с private IP вашего экземпляра.

Теперь, если у вас настроен туннель IPsec непосредственно к вашему экземпляру, я считаю, что исходящие пакеты будут иметь tunnel IP адрес, прикрепленный к вашему экземпляру.