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

Не удается подключить экземпляр Ubuntu EC2 к локальной сети VPC на AWS с помощью дополнительного сетевого адаптера?

Настройка инфраструктуры:

  1. VPC создается с 192.168.254.0/24 netwok
  2. Частная подсеть в VPC (виртуальное частное облако) создается с сетью 192.168.254.0/25
  3. Публичная подсеть в VPC создается с сетью 192.168.254.128/28.
  4. В частной подсети есть 5 нечетных серверов ubuntu, которые получают доступ к Интернету через сервер перехода (это также сервер ubuntu), созданный в общедоступной подсети.
  5. Один веб-сервер также существует с сервером перехода в публичной подсети.
  6. Только сервер перехода и веб-сервер, которые находятся в общедоступной подсети, связаны с эластичным IP / общедоступным IP. (оба сервера имеют свои собственные эластичные / общедоступные IP-адреса)
  7. Сервер перехода имеет два частных IP-адреса из общедоступной подсети, назначенных 2 различным физическим адаптерам Ethernet.

    • 192.168.254.135 (eth0 - primary) этому IP также назначен эластичный IP / общедоступный IP
    • 192.168.254.134 (eth1 - вторичный) Этому IP-адресу не назначен эластичный IP-адрес.
  8. Веб-серверу, который находится в общедоступной подсети, назначен частный IP-адрес 192.168.254.136.
  9. Все серверы из частной подсети не имеют интернет-шлюза, поскольку их интернет-трафик маршрутизируется через сервер переходов, который находится в публичной подсети.
  10. В частной подсети также не назначен интернет-шлюз.
  11. Все серверы из частной подсети могут без проблем получить подключение к Интернету через сервер перехода.
  12. Полный диапазон частной подсети разрешен в общедоступной подсети через группу маршрутизации и безопасности, то есть брандмауэр для всех протоколов и всех портов и наоборот, от общедоступной подсети к частной подсети.
  13. Все серверы из публичной подсети могут пинговать или подключаться к IP 192.168.254.135, который является основным IP-адресом сервера перехода, но они не могут пинговать вторичный IP-адрес 192.168.254.134
  14. С сервера перехода я могу пинговать оба назначенных ему Private IP.
  15. Веб-сервер, который находится в подсети Public, также может проверять связь только с первичным IP-адресом сервера перехода.
  16. Сервер переходов - это экземпляр t2.micro и согласно документации aws Вот мы сможем использовать с ним 2 физических сетевых адаптера.
  17. С сервера Jump мы разрешили пересылку IPv4, и он работает нормально.
  18. С сервера перехода он показывает, что оба сетевых адаптера включены и работают

Ниже приведены еще несколько деталей с сервера Jump:

root@ip-192-168-254-135:~# ifup eth1
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth1/0e:f8:f2:11:7d:bd
Sending on   LPF/eth1/0e:f8:f2:11:7d:bd
Sending on   Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 3 (xid=0x651f3853)
DHCPREQUEST of 192.168.254.134 on eth1 to 255.255.255.255 port 67 (xid=0x651f3853)
DHCPOFFER of 192.168.254.134 from 192.168.254.129
DHCPACK of 192.168.254.134 from 192.168.254.129
bound to 192.168.254.134 -- renewal in 1602 seconds.
root@ip-192-168-254-135:~# ifconfig -a | egrep 'eth|inet.*192.168'
eth0      Link encap:Ethernet  HWaddr 0e:1c:ca:ae:cd:3e
          inet addr:192.168.254.135  Bcast:192.168.254.143  Mask:255.255.255.240
eth1      Link encap:Ethernet  HWaddr 0e:f8:f2:11:7d:bd
          inet addr:192.168.254.134  Bcast:192.168.254.143  Mask:255.255.255.240
root@ip-192-168-254-135:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.254.129 0.0.0.0         UG    0      0        0 eth0
192.168.254.128 0.0.0.0         255.255.255.240 U     0      0        0 eth0
192.168.254.128 0.0.0.0         255.255.255.240 U     0      0        0 eth1
root@ip-192-168-254-135:~# ip rule list
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default
root@ip-192-168-254-135:~# ping -c2 192.168.254.134
PING 192.168.254.134 (192.168.254.134) 56(84) bytes of data.
64 bytes from 192.168.254.134: icmp_seq=1 ttl=64 time=0.031 ms
64 bytes from 192.168.254.134: icmp_seq=2 ttl=64 time=0.039 ms

--- 192.168.254.134 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.031/0.035/0.039/0.004 ms
root@ip-192-168-254-135:~# ip route list
default via 192.168.254.129 dev eth0
192.168.254.128/28 dev eth0  proto kernel  scope link  src 192.168.254.135
192.168.254.128/28 dev eth1  proto kernel  scope link  src 192.168.254.134

root@ip-192-168-254-135:~# cat /etc/iproute2/rt_tables
######
###### reserved values
######
255     local
254     main
253     default
0       unspec
######
###### local
######
######1      inr.ruhep
root@ip-192-168-254-135:~# 

Может ли кто-нибудь объяснить мне, почему мы не можем пинговать вторичный IP-адрес сервера Jump из любого места кроме самого сервера перехода. Все остальные серверы из частной и общедоступной подсети могут проверять связь с первичным IP-адресом серверов, но не вторичным IP-адресом. Сервер переходов и все другие серверы из обеих подсетей разрешают весь входящий трафик / соединения из всех подсетей VPC от соответствующего локального брандмауэра.

У вас есть 2 варианта решения проблемы.

1) Назначьте 2 IP-адреса для eth0 (это возможно с консоли ec2), вам нужно будет использовать «ip addr add ...» для настройки второго IP-адреса. 2) Настройте маршрутизацию на основе источника. Вариант ответа: https://superuser.com/questions/638044/source-based-policy-routing-nat-dnat-snat-aka-multi-wans-on-centos-5