Всем привет.Ситуаци следующая, есть две сети между которыми установлено VPN соединение. Схема сети примерно такая:
[удалённая сеть] - [VPN сервер] - [inet] - [adsl modem] - [linux router (VPN клиент)] - [моя сеть]
VPN сервер - Win 2003 SP2, Linux - Debian Lenny, остальные машины - windows.
Соединение в интернет из моей сети устанавливается по PPPoE. Т.е. получается слоёный пирог - PPPoE туннель от роутера на модем и далее к провайдеру (ppp4), а внутри него PPTP туннель в удалённую сеть (ppp2).
proxy:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0a:e6:72:d4:f1
inet addr:192.168.1.33 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20a:e6ff:fe72:d4f1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10803461 errors:0 dropped:0 overruns:0 frame:0
TX packets:11568490 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3100125411 (2.8 GiB) TX bytes:2343239002 (2.1 GiB)
Interrupt:23 Base address:0xe000
eth1 Link encap:Ethernet HWaddr 00:e0:4c:99:15:49
inet addr:192.168.2.66 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:4cff:fe99:1549/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7226974 errors:108 dropped:2 overruns:1 frame:0
TX packets:5601491 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2047838408 (1.9 GiB) TX bytes:640058176 (610.4 MiB)
Interrupt:19 Base address:0xc400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:86890 errors:0 dropped:0 overruns:0 frame:0
TX packets:86890 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:25772750 (24.5 MiB) TX bytes:25772750 (24.5 MiB)
ppp2 Link encap:Point-to-Point Protocol
inet addr:10.13.0.32 P-t-P:10.13.0.80 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:41176 errors:0 dropped:0 overruns:0 frame:0
TX packets:32933 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:14165378 (13.5 MiB) TX bytes:2269136 (2.1 MiB)
ppp4 Link encap:Point-to-Point Protocol
inet addr:PUB.LIC.IP.ТУТ P-t-P:YYY.YYY.YYY.YYY Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:262609 errors:0 dropped:0 overruns:0 frame:0
TX packets:202061 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:103830228 (99.0 MiB) TX bytes:19640640 (18.7 MiB)
Удалённая сеть имеет адреса 10.0.0.0/8, моя сеть 192.168.1.0/24, модем 192.168.2.1
Т.о. чтобы получить доступ из моей сети в удалённую linux поднимает PPTP соединение и выполняет NAT в удалённую сеть. Также с помощью iptables режутся все попытки проникнуть из удалённой сети в мою.
Всё настроено и работает (!). Т.е. я могу зайти с любой машины внутри сети на какой-нибудь \\10.0.0.5\Temp, смотреть там файлы, скачивать небольшие файлики, заличать туда...
Но, при попытке скачать из удалённой сети файл побольше тунель повисает. Было предположение, что это как-то связано с MTU/MSS. Но повисает не конкретное соединение, а тунель целиком.
Т.е. даём одновременно две команды (10.13.0.67 машина внутри удалённой сети) и через несколько скачанных мегабайт тунель повисает (чётко видно по пингу):
C:\>copy \\10.13.0.67\temp\1.iso .\
и
C:\>ping -t 10.13.0.67
Pinging 10.13.0.67 with 32 bytes of data:
Reply from 10.13.0.67: bytes=32 time=26ms TTL=126
Reply from 10.13.0.67: bytes=32 time=26ms TTL=126
...
Reply from 10.13.0.67: bytes=32 time=25ms TTL=126
Request timed out.
Request timed out.
...
Интересный момент состоит в том, что файл с удалённого шлюза (10.13.0.80) скачивается без проблем. Проблемы возникают только, если качаешь именно с внутренних машин.
Вопрос как всегда - кто виноват и что делать? :)
Linux доступен для любых экспериментов (в разумных пределах). Т.е. любые настройки можно поменять, логи показать и т.п.
Удалённый сервер тоже доступен, но предпочтительно там ничего не менять.