У меня есть базовый Amazon VPC с общедоступной и частной подсетью. Я развернул маршрутизатор Vyatta в общедоступной подсети, который выполняет NAT для частной подсети. У меня есть эластичный IP-адрес, назначенный экземпляру Vyatta, который выполняет NAT 1: 1 с частным IP-адресом интерфейса eth0 Vyatta.
Вопрос: я создаю ipsec VPN из экземпляра Vyatta, и для этого требуется, чтобы экземпляр Vyatta знал об общедоступном IP-адресе, которого в настоящее время нет. Есть ли способ назначить общедоступный эластичный IP-адрес непосредственно интерфейсу eth0?
Если нет, знает ли кто-нибудь, как можно обойтись без Vyatta в VPC, настроенном с помощью ipsec VPN?
Спасибо!
Есть ли способ назначить общедоступный эластичный IP-адрес непосредственно интерфейсу eth0?
Нет, нет. Интернет-трафик в / из инстансов EC2 всегда пройти через инфраструктуру эластичного IP 1: 1 NAT.
Если нет, знает ли кто-нибудь, как можно обойтись без Vyatta в VPC, настроенном с помощью ipsec VPN?
У меня есть все виды IPsec, работающие в VPC (включая туннели IPSec, которые пересекают границы NAT) без проблем. Как вы думаете, почему вам необходимо назначить публичный адрес непосредственно хосту? Это не требование с точки зрения IPsec.
Как упоминалось в EEAA, вы не можете назначить эластичный IP-адрес интерфейсу в своем экземпляре. Это не то, как работают публично маршрутизируемые IP-адреса EC2.
Я не уверен, насколько это поможет вам, но если вы хотите узнать IP программно, вы можете запросить его из метаданных «API»:
curl -s http://169.254.169.254/latest/meta-data/public-ipv4
Если экземпляру назначен эластичный IP-адрес, он распечатает его в стандартном формате.