У меня есть 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