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

Правильное место для рекламы маршрутов OpenVPN к инстансам EC2?

Настроить

У меня есть сервер OpenVPN, который хорошо работает в AWS. Каждый член моей команды может использовать его для доступа к любому из серверов AWS.

Необходимость

Теперь у меня появилась новая потребность. Теперь серверы в AWS должны иметь доступ к одной (но все будет в порядке) из машин, подключенных через VPN. С самого сервера VPN я могу получить доступ к машине (которая является маршрутизатором) и ко всем машинам, которые он видит в своей сети. Однако ни один из других серверов в AWS не может.

Вопросы

Где правильное место для объявления (для машин в центре обработки данных), что запросы на 10.10.10.0/16 (удаленный сайт, подключенный к VPN) должны маршрутизироваться через мой VPN-сервер?

Какой интерфейс на адресе VPN-сервера я использую?

подробности

OpenVPN ifconfig:

eth0      Link encap:Ethernet  HWaddr 06:52:B7:00:71:F9
          inet addr:172.31.17.151  Bcast:172.31.17.255  Mask:255.255.255.0

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:172.141.0.1  P-t-P:172.141.0.2  Mask:255.255.255.255

OpenVPN iptables:

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:1194
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     all  --  172.31.0.0/16        0.0.0.0/0
3    ACCEPT     tcp  --  172.127.0.0/20       172.31.6.110        tcp dpt:22
4    REJECT     tcp  --  172.127.0.0/20       0.0.0.0/0           tcp dpt:22 reject-with icmp-host-prohibited
5    ACCEPT     all  --  172.127.0.0/20       0.0.0.0/0
6    ACCEPT     tcp  --  172.141.0.0/17       172.31.6.110        tcp dpt:22
7    REJECT     tcp  --  172.141.0.0/17       0.0.0.0/0           tcp dpt:22 reject-with icmp-host-prohibited
8    ACCEPT     all  --  172.141.0.0/17       0.0.0.0/0
9    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)

Правильное место для объявления VPN-маршрутизации другим машинам в AWS - это таблица маршрутизации подсети.

Для этого:

  • VPC> Подсети> [подсеть для предоставления доступа]> Таблица маршрутов> [имя таблицы маршрутов]
  • Маршруты> Изменить> Добавить другой маршрут
    • Место назначения: 10.10.10.0/24 (соответствует "route 10.10.10.0 255.255.255.0")
    • Цель: eni-a1b2c3d4 (идентификатор сетевого интерфейса, связанного с 172.31.17.151)

Вы также должны изменить "Source / Dest. Check" сетевого интерфейса.

Для этого:

  • EC2> Сетевые интерфейсы> [интерфейс, связанный с внутренним IP-адресом VPN]
  • Действия> Изменить источник / назначение. Проверьте
    • Источник / назначение. check: отключено

Что не помогло, так это добавление маршрута на одну машину.

Я ожидал, что смогу получить тот же эффект, но на одной машине, выполнив:

sudo ip addr add 172.31.17.151 dev eth0
sudo ip route add 10.10.10.0/24 via 172.31.17.151 dev eth0

У меня это не сработало. Я хотел бы знать почему.