zhe*_*nax 2 vpn networking debian tcp http
地图看起来像:
[debian server with pptpd (192.168.3.59)]
?
[router forwarding 1723 port]
?
[internet]
?
[home router]
?
[ubuntu networkmanager pptp client]
Run Code Online (Sandbox Code Playgroud)
奇怪的是只有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
Run Code Online (Sandbox Code Playgroud)
PPTPD选项
require-mschap-v2
require-mppe-128
ms-dns 192.168.3.59
proxyarp
nodefaultroute
lock
nobsdcomp
noipx
mtu 1490
mru 1490
Run Code Online (Sandbox Code Playgroud)
服务器上的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
Run Code Online (Sandbox Code Playgroud)
的sysctl
net.ipv4.ip_forward=1
Run Code Online (Sandbox Code Playgroud)
阿帕奇
Listen 0.0.0.0:80
# 192.168.3.59
Run Code Online (Sandbox Code Playgroud)
nginx的
listen 8080
# 192.168.3.59
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)