Абонентское обслуживание компьютеров

База знаний - Linux

VPN сервер pptpd пингуется только сервер

Одному из клиентов по абонентскому обслуживанию компьютеров настраивали сервер - шлюз в интернет на Debian. Одной из служб на сервере был VPN сервер pptpd. Сама настройка проста и незатейна, а вот с настройкой iptable пришлось помучиться.

pptpd слушает порт 1723 и использует протокол gre. Соответственно нужно сделать правило на вход, которое разрешит соответствующий трафик:

-A INPUT -p tcp -m tcp -i eth1 --dport 1723 -j ACCEPT

собственно начиная с этого места клиенты могут подключиться к серверу по vpn, но пингуется только сам сервер. Внутрь сети не пускает. Вывод - проблемы с FORWARD. В поисках решения перерыл кучу форумов. Пробовал разрешать протокол gre

-A INPUT -p gre -j ACCEPT

но эффекта это не дало. Как для таблицы INPUT так и для FORWARD

Решение оказалось следующим:

-A FORWARD -i ppp+ -j ACCEPT

Каждый подключившийся к серверу по VPN создает интерфейс ppp0 и далее. Этим правилом мы разрешаем пересылку между этими интерфейсами. В чем логика до конца не понимаю, так как обмен с сервером и так был, но похоже пересылать пакеты с других интерфейсов было запрещено. Что удивительно - когда делал правило - разрешить все пересылки, то пинги шли только до сервера VPN, а машины в сети не пинговались.

В общем логики нет, но решение есть. Может кому пригодиться.