Назад | Перейти на главную страницу

PPTPD не работает при подключении из Интернета

У меня есть VPN-сервер на стабильном Debian. Люди в LAN (серая сеть) используют этот сервер для доступа в Интернет (WAN). Но я также хочу использовать этот VPN-сервер как что-то вроде «прокси» (подключаться из Интернета и просматривать веб-страницы). Я могу подключиться к серверу из Интернета, но Интернет не работает: клиент получает IP-адрес с сервера, также может пинговать других клиентов, но не может пинговать шлюз по умолчанию (который является IP-адресом сервера внутри GRE tun). Добавление маршрута по умолчанию к шлюзу не помогает.

Моя конфигурация PPTPD:

─➤  grep -v '^$\|^\s*\#' /etc/pptpd.conf 
option /etc/ppp/pptpd-options
logwtmp
localip 192.168.4.1
remoteip 192.168.4.2-30

─➤  grep -v '^$\|^\s*\#' pptpd-options                                                             
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
nodefaultroute
debug
lock
nobsdcomp

─➤  sysctl -a | grep ip_forward
net.ipv4.ip_forward = 1

Правила iptables:

iptables -t nat -I POSTROUTING -s 192.168.4.0/255.255.255.0 -j MASQUERADE                              
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

В логах все нормально: клиент подключается, получает IP. Сервер также подключается к Интернету через VPN-серверы ISP.

Читая вашу историю, я предполагаю, что вы должны явно разрешить интерфейсы ppp:

-A INPUT   -i ppp+ -j ACCEPT
-A OUTPUT  -o ppp+ -j ACCEPT
-A FORWARD -i ppp+ -j ACCEPT
-A FORWARD -o ppp+ -j ACCEPT