У меня есть Linux-машина, которая настроена на автоматическое подключение VPN-туннеля к корпоративной сети. Этот компьютер настроен на трафик NAT из локальной сети, предназначенный для 194.1.0.0/16** и 10.0.0.0/8 через туннель к машинам в корпоративной сети.
Клиенты в локальной сети настроены на использование IP-адреса этого сервера в качестве шлюза по умолчанию, выдаваемого через dhcp.
Все это работает очень хорошо, за исключением того, что трафик, предназначенный для Интернета, также маршрутизируется через этот хост. т.е. клиент A (192.168.1.144) хочет поговорить с DNS-сервером Google (8.8.8.8). В настоящее время происходит то, что он отправляет свой пакет на хост VPN (192.168.1.108), который затем отправляет его на маршрутизатор ADSL (192.168.1.254), который пересылает его через Интернет. Затем ответ (предположительно) возвращается через хост VPN до того, как достигнет A.
Я бы хотел, чтобы VPN-сервер при получении пакета не предназначенный для сетей в конце VPN, чтобы ответить перенаправлением ICMP, предписывающим A послать через 192.168.1.254. Это должно снять нагрузку с VPN-сервера.
Я пробовал устанавливать статические маршруты на DHCP-сервере (ISC DHCPD в Ubuntu 16.04.1 LTS), чтобы шлюзом по умолчанию для всего было 192.168.1.254, а узлы VPN были доступны через 192.168.1.108, но я либо неправильно его сконфигурировал, либо различные клиенты не могут подобрать варианты. Клиенты - это машины с Windows (7 и 10), Linux (в основном Ubuntu) и устройства Android.
VPN-сервер работает под управлением Ubuntu 16.04.1 LTS. Следующий сценарий настраивает NAT:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables-restore <<EOF
*nat
-A POSTROUTING -j MASQUERADE
COMMIT
EOF
Маршруты на машине следующие:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 ens2
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens2
194.1.0.0 0.0.0.0 255.255.0.0 U 0 0 0 ppp0
194.1.1.220 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
Любая помощь в получении этой работы будет оценена. Если я пропустил какую-либо информацию, которая может быть уместной, пожалуйста, дайте мне знать.
** - не спрашивайте, почему разделы моей внутренней сети не находятся в диапазонах частных IP-адресов. Я унаследовал это и исправлю это, как только остальные проблемы, которые я унаследовал, будут решены ***.
*** - это может быть какое-то время.