Я имею:
- интерфейс eth0 с 10.0.0.41 с публичным ip 54.xxx (будет использоваться для VPN-клиента)
- интерфейс eth1 с 10.0.0.100 с публичным ip 57.xxx
eth1 - это то, где я удаленно подключаюсь по SSH. eth0 будет подключаться к другому серверу как VPN IPsec.
потому что моя маршрутизация по умолчанию - eth1, при подключении к VPN она не срабатывает, потому что VPN-сервер разрешает только ip 54.xxx, а не трафик с 57.xxx
Теперь, как я могу указать маршрутизации, что весь трафик, идущий на адрес VPN-сервера: 212.xxx, будет отправляться через eth0 (54.xxx) и при этом иметь доступ к eth1 (57.xxx) для удаленного доступа по SSH?
РЕДАКТИРОВАТЬ:
РЕДАКТИРОВАТЬ: действительно ли amazon позволяет мне иметь 2 различных общедоступных IP-адреса подсети для моего 2-го сетевого интерфейса. похоже нет
РЕДАКТИРОВАТЬ: Amazon EC2 - VPC с несколькими подсетями
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html
Сценарий 1: VPC только с общедоступной подсетью - 1 подсеть http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario1.html
Сценарий 2: VPC с общедоступными и частными подсетями - 2 подсети http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html
Сценарий 3: VPC с общедоступными и частными подсетями и аппаратным VPN-доступом - 3 подсети http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario3.html
Сценарий 4: VPC только с частной подсетью и аппаратным VPN-доступом http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario4.html
РЕДАКТИРОВАТЬ:
Шаг 1: Amazon EC2> Сценарий 1: VPC только с общедоступной подсетью - 1 подсеть
Шаг 2: это позволит 10.0.0.0/24 подсети с 1: 1 NAT
Шаг 3: Теперь, чтобы сделать обход входящего и исходящего трафика, мы должны сделать:
ip rule add from 10.0.0.41/32 table 1 # outbound
ip rule add to 10.0.0.41/32 table 1 # inbound
ip route add default via 10.0.0.1 dev eth0 table 1
ip rule add from 10.0.0.100/32 table 2 # outbound
ip rule add to 10.0.0.100/32 table 2 # inbound
ip route add default via 10.0.0.1 dev eth1 table 2
Шаг 4: протестируйте его удаленно, предполагая, что удаленный компьютер имеет: iamremotely_publicip
ping publicip_eth0
ping publicip_eth1
Шаг 5: входящий тест
$ tcpdump -vv src iamremotely_publicip and not dst port 22 -i any
### inbound reply received for eth0
13:29:02.163426 IP (tos 0x0, ttl 55, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
2.205.81.5 > ip-10-0-0-41.eu-west-1.compute.internal: ICMP echo request, id 10242, seq 1, length 64
### inbound reply received for eth1
13:24:05.415740 IP (tos 0x0, ttl 55, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
2.205.81.5 > ip-10-0-0-100.eu-west-1.compute.internal: ICMP echo request, id 11808, seq 52, length 64
Шаг 6: исходящий тест на ПК iamremotely_publicip
$ tcpdump -vv src publicip_eth0 and not dst port 22 -i any
$ tcpdump -vv src publicip_eth1 and not dst port 22 -i any
Это работает без VPN.