Совместное использование VPN-соединения CheckPoint

Извините за мой английский.

У меня 2 виртуальных машины VirtualBox. Один с Debian 8 , а другой с Ubuntu Server 14.04 LTS . Оба настроены с мостовым сетевым адаптером. Обе машины имеют одинаковый MAC и IP-адрес (я никогда не использую их одновременно).

В обеих виртуальных машинах я установил VPN-клиент CheckPoint ( snx ). В обоих случаях я могу без проблем подключиться к удаленному серверу VPN. Когда я подключаюсь к удаленному серверу, активируется динамический сетевой интерфейс ( tunsnx ). Адрес удаленной локальной сети: x.x.x.x / 24 .

Для совместного использования VPN-соединения с компьютерами в моей локальной сети я активировал (в обеих виртуальных машинах) переадресацию IP ( sysctl -w net.ipv4.ip_forward = 1 ) и установил следующее правило iptables:

iptables -t nat -A POSTROUTING -s yyyy / 24 -o tunsnx -j MASQUERADE

Также я добавил маршрут к сети xxxx / 0 для всех компьютеров в моей LAN:

route add xxxx mask 255.255.255.0 yyy21 (windows hosts)

yyy21 - это IP-адрес виртуальной машины, а yyyy / 24 - мой локальный сетевой адрес. Благодаря этому я могу подключиться к удаленному серверу через виртуальную машину с любого компьютера в моей локальной сети. Все нормально работает.

Я знаю, что все конфигурации, которые я здесь упомянул, исчезают, когда я перезагружаю машины.Не беспокойся об этом.

Теперь я обновил две свои виртуальные машины: с Debian 8 на Debian 9 и с Ubuntu 14.04 LTS на Ubuntu 16.04 LTS ], и я повторил весь процесс: установил программу snx, активировал переадресацию IP и установил правила iptables. Я могу без проблем подключиться к удаленному серверу с обеих виртуальных машин, но не могу подключиться к удаленному серверу с любого другого компьютера в моей локальной сети.

Я сделал несколько тестов. Я установил другой сетевой адаптер в обе виртуальные машины и подключил их к другой виртуальной машине в частной сети ( z.z.z.z / 24 ), и я вижу, что переадресация IP и правило iptables в порядке. Переадресация IP работает между сетями yyyy / 24 и zzzz / 24 без проблем, но не работает между yyyy / 24 и xxxx / 24 сетей.

Я искал в Google несколько дней, но ничего полезного не нашел.

Что мне не хватает?

Заранее спасибо.

1
задан 23 November 2017 в 16:57
1 ответ

Вместо этого используйте исходный nat, потому что неправильный исходный IP-адрес входит в туннель во время маскировки: tun_ip=$(ip a | grep tunsnx | grep inet | awk '{print $2;}')

iptables -t nat -A POSTROUTING -o tunsnx -s yyyy/24 -j SNAT --to $tun_ip

1
ответ дан 17 July 2020 в 17:50

Теги

Похожие вопросы