Маскарад трафика из определенной исходной подсети в VPN-соединение.

У меня есть сеть IP LAN 192.168.100.0/24. В этой сети имеется множество клиентских ПК с Windows. Шлюз по умолчанию — 192.168.100.1, а сервер Linux (с IP-адресом 192.168.100.200) открывает VPN-соединение Cisco AnyConnect.

На сервере Linux конфигурация локальной сети следующая:

      ens33: inet 192.168.100.200  netmask 255.255.255.0 broadcast 192.168.100.255

и конфигурация VPN:

      cscotun0: inet 10.180.7.45  netmask 255.255.240.0 destination 10.180.7.45

Я хотел бы настроить iptables на сервере Linux таким образом, чтобы каждый запрос от клиентского ПК, использующего в качестве шлюза 192.168.100.200, был привязан к IP-адресу локальной сети Linux и мог получить доступ к любому адресу, доступному благодаря VPN.

На клиентском ПК я использовал команду:

      route add 10.0.0.0 mask 255.0.0.0 192.168.100.200

добавить маршрут, который использует сервер Linux в качестве шлюза для всех IP-адресов в подсети 10.0.0.0/8.

Когда с клиентского ПК я пытаюсь подключиться к определенному IP-адресу в этом диапазоне (например, 10.138.231.52 с портом https):

      telnet 10.139.231.52 443

это не работает. Сообщение об ошибке:

      Connecting To 10.139.231.52...Could not open connection to the host, on port 443: Connect failed

С сервера Linux та же команда telnet работает отлично.

Фактическая конфигурация iptables на сервере Linux:

      iptables -A FORWARD -i ens33 -o cscotun0 -s 192.168.100.0/24 -j ACCEPT
iptables -A FORWARD -i cscotun0 -o ens33 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o cscotun0 -j MASQUERADE

Как я могу изменить конфигурацию iptables, чтобы получить ожидаемый результат?

0 ответов

Другие вопросы по тегам