Я настраиваю сервер, который подключается к серверу ovpn, через который он может получить доступ к некоторым удаленным устройствам. Некоторые из этих устройств имеют частные IP (здесь проблем нет), однако те, у которых есть публичный IP, имеют строгое правило, которое разрешает доступ только с публичного IP сервера ovpn.
Поэтому моему серверу нужно перенаправить весь интернет-трафик через этот vpn. Проблема в том, что как только я настраиваю маршрут по умолчанию через vpn, я полностью теряю доступ к серверу через его оригинальный публичный IP.
Есть ли способ направить весь исходящий трафик через VPN, при этом разрешая входящий трафик ответов с исходного IP-адреса EC2?
Когда я подключаюсь к VPN, в моей системе устанавливаются следующие маршруты: 172.16.220.0/24 — частный диапазон VPN-сервера, а 172.29.64.0/18 — частный диапазон EC2 VPC.
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.220.161 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 172.29.64.1 0.0.0.0 UG 100 0 0 ens5
10.0.0.0 172.16.220.161 255.0.0.0 UG 0 0 0 tun0
*vpn_public_ip* 172.29.64.1 255.255.255.255 UGH 0 0 0 ens5
128.0.0.0 172.16.220.161 128.0.0.0 UG 0 0 0 tun0
172.16.220.160 0.0.0.0 255.255.255.224 U 0 0 0 tun0
172.29.64.0 0.0.0.0 255.255.192.0 U 0 0 0 ens5
172.29.64.1 0.0.0.0 255.255.255.255 UH 100 0 0 ens5
192.168.0.0 172.16.220.161 255.255.0.0 UG 0 0 0 tun0
С помощью этих маршрутов я могу получить доступ к EC2 через его частный IP-адрес с другой машины в той же частной сети, но мне не удается получить доступ к его публичному IP-адресу.
Некоторая информация: сервер работает на AWS EC2 с Ubuntu Server 20.04, а сетевой интерфейс имеет частный IP-адрес с NAT 1 к 1 с публичным IP-адресом.