Карта выглядит так:
[debian server with pptpd (192.168.3.59)]
↕
[router forwarding 1723 port]
↕
[internet]
↕
[home router]
↕
[ubuntu networkmanager pptp client]
Странно, но только с http-соединениями, независимо от того, является ли сервер apache2 или nginx.Nginx обычно отправляет обратно не-200 ответов (например, 301, 404 и 500).Но когда файл существует, соединение просто зависает (chrome-firefox-curl-telnet).После сброса соединения nginx пишет 200 OK, чтобы получить доступ к журналу.Другие сервисы, такие как ssh, mysql отлично работают.
Некоторые конфиги:
pptpd.conf
localip 192.168.3.230-234
remoteip 192.168.3.235-240
pptpd-options
require-mschap-v2
require-mppe-128
ms-dns 192.168.3.59
proxyarp
nodefaultroute
lock
nobsdcomp
noipx
mtu 1490
mru 1490
iptables на сервере:
modprobe ip_tables
modprobe ip_nat_ftp
modprobe iptable_filter
modprobe iptable_nat
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
...
$IPT -A FORWARD -i ppp+ -o eth0 -j ACCEPT
$IPT -A FORWARD -i eth0 -o ppp+ -j ACCEPT
$IPT -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sysctl
net.ipv4.ip_forward=1
apache
Listen 0.0.0.0:80
# 192.168.3.59
nginx
listen 8080
# 192.168.3.59
route -n
на клиенте:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth1
(vpnserver) 192.168.1.1 255.255.255.255 UGH 0 0 0 eth1
(vpnserver) 192.168.1.1 255.255.255.255 UGH 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 ppp0
192.168.3.230 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0