HTTP-приложение зависает через PPTP-соединение - PullRequest
2 голосов
/ 13 декабря 2011

Карта выглядит так:

[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

1 Ответ

5 голосов
/ 13 декабря 2011

На основании этих симптомов кажется, что большие пакеты отбрасываются по ссылке.Опустите pptpd-options MTU и MRU до 1392.

...