Не удается получить какой-либо внешний трафик на экземплярах EC2 второй эластичный IP
У меня есть экземпляр EC2 под управлением CoreOS 1068.9.0.
Этот сервер работает очень простой HTTP-сервер Hello World.
> curl http://52.43.128.34/
Hello, world!
У меня есть эластичный IP, назначенный сетевому интерфейсу в той же подсети. Он имеет открытый IP-адрес 54.190.35.220 и частный IP-адрес 10.8.0.104. И группа безопасности экземпляра, и группа безопасности на сетевом интерфейсе разрешают трафик на порт 80 TCP от 0.0.0.0/0
,
Я добавляю сетевой интерфейс к экземпляру. Журналы CoreOS, кажется, указывают, что новый IP был добавлен очень хорошо, и он отображается в ifconfig как eth1.
Но другие компьютеры в подсети не могут получить доступ к HTTP-серверу, и он не доступен извне. Сбой соединения как внутри, так и снаружи VPC - другие компьютеры не могут получить к нему доступ с curl http://10.8.0.104/
и внешние компьютеры не могут получить к нему доступ curl http://54.190.35.220/
,
Что дает?
РЕДАКТИРОВАТЬ: Больше информации
- Сервер должен прослушивать все интерфейсы. Кроме того, я вижу такое же поведение на сервере SSH, поэтому я не думаю, что это проблема с самим сервером HTTP.
- Сетевые ACL полностью открыты.
- Все группы безопасности открыты для трафика 80 и 22 порта с 0.0.0.0/0.
Таблица маршрутизации подсети:
Route Table: rtb-b6449fd1 ---------------------------- Destination | Target ---------------------------- 10.8.0.0/16 | local 0.0.0.0/0 | igw-91eb56f5 172.31.0.0/16 | pcx-f6f64e9f
1 ответ
В итоге я выполнил одно и то же, назначив несколько IP-адресов одному интерфейсу вместо добавления нескольких интерфейсов к одной машине. Оказывается, что делать это в первую очередь - проблема с маршрутизацией ядра. Этот пост в блоге меня поправил.