Я использую пакет VPN на базе SSL Nortel (он загружает некоторый Java-апплет, который устанавливает соединение VPN), который отлично работает под Linux. При подключении вижу tun0
устройство, подключенное к IP-адресу, который я ожидаю увидеть в сети VPN (назовем его 10.0.0.50). Кроме того, у меня все еще есть IP-адрес LAN (внутренний). eth0
(назовем его 192.168.0.50). Я могу просматривать сайты / ssh / все, что угодно, для систем в подсети 10.0.0.0, используя эту конфигурацию.
Однако что бы я действительно например, чтобы иметь возможность поделиться этим соединением, чтобы другие машины в локальной сети (например, 192.168.0.60 и 192.168.0.70) могли каким-то образом указывать на ящик Linux, который будет пересылать запросы через туннель VPN, а не маршрутизировать запросы через шлюз моего интернет-провайдера .
Я говорю по неведению - я играл с iptables
немного, но я в основном в неведении относительно деталей того, как эти вещи вообще работают. Бит, который я не могу изменить [насколько я знаю], это клиент VPN. Я видел много практических руководств, в которых показано, как делать подобные вещи с помощью другого VPN-клиента. По какой-то причине я не могу заставить работать какой-либо другой VPN-клиент, и мне сказали, что они «не поддерживаются».
Не зная, какой дистрибутив вы используете, я не могу сказать вам, как интегрировать все в конфигурацию вашего дистрибутива, но отдельный скрипт для совместной сборки может выглядеть примерно так:
brctl addbr vpnbridge ifconfig tun0 0.0.0.0 brctl addif vpnbridge tun0 ifconfig vpnbridge 10.0.0.50 netmask 255.255.255.0 echo 1 >/proc/sys/net/ipv4/ip_forward iptables -t nat -I POSTROUTING -o vpnbridge -j MASQUERADE
Это, вероятно, потерпит неудачу во всех видах впечатляющих способов (сетевая маска, вероятно, неправильная, я мог пропустить шаг, это ужасно небезопасно, VPN-клиент может стать непослушным и т. Д.), Но он покрывает все лучшие моменты, начиная с моих глава.
А как насчет настройки маршрутов в Linux? Маршрутизировать трафик из VPN в LAN и наоборот, не меняя шлюз на клиенте ... Просто вариант.