Сегодня я расскажу Вам как пробросить VPN-туннель через шлюз внутрь сети. Опишу текущую ситуацию: имеется корпоративная локальная сеть и удаленные клиенты с динамическими адресами. Клиенты подключается к pptp-серверу, находящемуся внутри сети. Пробросить туннель средствами iptables проблематично. Дело в том, что файерволу трудно корректно обработать GRE туннель, если бы мы настроили DNAT.
Для реализации вышеприведенной схемы мы будем использовать pptpproxy (http://www.mgix.com/pptpproxy/).
Первым делом распаковываем архив с pptpproxy:
[root@srv1 tmp]# tar jxvf pptpproxy-2.9.tar.bz2
Далее переходим в каталог распакованного архива:
[root@srv1 tmp]# cd pptpproxy-2.9
Приступаем к компиляции pptpproxy. Для компиляции потребуется gcc-c++ .
[root@srv1 pptpproxy-2.9]# perl ./make
Создаем каталог для бинарного файла pptpproxy:
[root@srv1 pptpproxy-2.9]# mkdir /opt/pptpproxy
И копируем туда скомпилированый бинарник pptpproxy:
[root@srv1 pptpproxy-2.9]# cp pptpproxy /opt/pptpproxy/
Теперь запускаем pptpproxy:
[root@srv1 pptpproxy-2.9]# /opt/pptpproxy/pptpproxy -p 192.168.254.200 -a 255.255.255.255/0.0.0.0
В нашем случае мы использовали следующую схему: пробрасываем все соединения на адрес VPN-сервера. В Вашем случае схема может быть иной.
Добавляем в правила файервола следующие правила:
/sbin/iptables -A INPUT -p GRE -j ACCEPT
/sbin/iptables -A INPUT -p TCP --dport 1723 -j ACCEPT
/sbin/iptables -A INPUT -p TCP --sport 1723 -j ACCEPT
И проверяем работу pptpproxy, настроив соединение на адрес шлюза.
Если все успешно, то добавляем pptpproxy в автозапуск:
[root@srv1 pptpproxy-2.9]# echo /opt/pptpproxy/pptpproxy -p 192.168.254.200 -a 255.255.255.255/0.0.0.0 >> /etc/rc.local
Вот и все.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий