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, а машины в сети не пинговались.
В общем логики нет, но решение есть. Может кому пригодиться.