[Решено] VPN - медленно + разрывы (PPTP, Kubuntu 9.10, i386)

Kubuntu, Xubuntu и другие

Модератор: Модераторы разделов

Phase
Сообщения: 42

[Решено] VPN - медленно + разрывы

Сообщение Phase »

Здравствуйте уважаемые знатоки! ©

Хотел спросить у Вас совета. Есть у меня небольшая, но довольно неприятная проблема.
Итак, входные данные:

root@host

root@host:~# uname -a
Linux phase 2.6.31-21-generic #59-Ubuntu SMP Wed Mar 24 07:28:56 UTC 2010 i686 GNU/Linux

root@host:~# cat /etc/ppp/peers/dcom
pty "pptp 172.20.123.123 --nolaunchpppd"
user user1
password "pass1"
nodeflate
nobsdcomp
noauth
novj
novjccomp
nopcomp
noaccomp
defaultroute

IPv6 отключен, маршрутизация работает нормально, DNS тоже.

Суть проблемы в следующем:
  • Медленно передаются данные через соединение. Скорость подымается максимум до ~10 Мбит/с, потом задержки вырастают до более, чем 150 мс и т.д.
  • Если подгрузить канал "в полку" (не реальную, а его же мистических ~10 Мбит/с), то периодически рвёт со следующим текстом:

    Код: Выделить всё

           No response to 4 echo-requests
                 Serial link appears to be disconnected.
                 Connect time 20.6 minutes.
                 Sent 64091527 bytes, received 768407048 bytes.
                 Script /etc/ppp/ip-down started (pid 11819)
                 sent [LCP TermReq id=0x3 "Peer not responding"]
                 Script /etc/ppp/ip-down finished (pid 11819), status = 0x0
                 Modem hangup
                 Connection terminated.

    Время до разрыва проходит от 5 мин. до примерно часа. При этом, данные по соединению действительно перестают ходить ещё до того, как происходит разрыв.
С этого же компьютера, но из-под Windows XP, скорость спокойно подымается до почти 50 Мбит/с, разрывов не наблюдается. Впечатление, как будто, есть какой-то буфер, который не даёт "разогнаться", а при длительном переполнении перестаёт пропускать сквозь себя вообще.


Есть ли у кого какие идеи почему такое может происходить и как от
этого избавится? Буду благодарен хорошему совету.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: [Решено] VPN - медленно + разрывы

Сообщение sash-kan »

первая идея:
нормальны ли для вашего канала цифры:
Phase писал(а):
05.04.2010 23:01
Connect time 20.6 minutes.
Sent 64091527 bytes, received 768407048 bytes.
или это астрономические величины?
вопрос ключевой.

вторая идея:
выложите _весь_ лог при подключении этой командой (понятно, что соединение перед этим надо разорвать):
$ sudo pppd call dcom dump debug hide-password nodetach
(достаточно будет 5-10 минут)
а также приложите вывод
$ ip a; ip r
до соединения и во время его работы.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Phase
Сообщения: 42

Re: [Решено] VPN - медленно + разрывы

Сообщение Phase »

sash-kan писал(а):
05.04.2010 23:14
... нормальны ли для вашего канала цифры ...

Да, вполне. В нормальном состоянии должно быть даже больше.

sash-kan писал(а):
05.04.2010 23:14
... выложите _весь_ лог при подключении этой командой ...

Код: Выделить всё

   root@host:~# sudo pppd call dcom dump debug hide-password nodetach
     pppd options in effect:
     debug           # (from command line)
     nodetach                # (from command line)
     dump            # (from command line)
     noauth          # (from /etc/ppp/peers/dcom)
     user user1              # (from /etc/ppp/peers/dcom)
     password ??????         # (from /etc/ppp/peers/dcom)
                     # (from /etc/ppp/options)
     pty pptp 172.20.123.123 --nolaunchpppd            # (from /etc/ppp/peers/dcom)
     crtscts         # (from /etc/ppp/options)
                     # (from /etc/ppp/options)
     noaccomp                # (from /etc/ppp/peers/dcom)
     asyncmap 0              # (from /etc/ppp/options)
     nopcomp         # (from /etc/ppp/peers/dcom)
     lcp-echo-failure 4              # (from /etc/ppp/options)
     lcp-echo-interval 30            # (from /etc/ppp/options)
     hide-password           # (from command line)
     novj            # (from /etc/ppp/peers/dcom)
     novjccomp               # (from /etc/ppp/peers/dcom)
     defaultroute            # (from /etc/ppp/peers/dcom)
     proxyarp                # (from /etc/ppp/options)
     nobsdcomp               # (from /etc/ppp/peers/dcom)
     nodeflate               # (from /etc/ppp/peers/dcom)
     noipx           # (from /etc/ppp/options)
     using channel 12
     Using interface ppp0
     Connect: ppp0 <--> /dev/pts/2
     sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xbb62a545>]
     rcvd [LCP ConfReq id=0x1 <auth chap MS-v2> <mru 1460> <magic 0x237c3979>]
     sent [LCP ConfAck id=0x1 <auth chap MS-v2> <mru 1460> <magic 0x237c3979>]
     rcvd [LCP ConfRej id=0x1 <asyncmap 0x0>]
     sent [LCP ConfReq id=0x2 <magic 0xbb62a545>]
     rcvd [LCP ConfAck id=0x2 <magic 0xbb62a545>]
     sent [LCP EchoReq id=0x0 magic=0xbb62a545]
     rcvd [CHAP Challenge id=0x1 <eba947f43ded905a5e429aa91563453c>, name = "nas.lab"]
     sent [CHAP Response id=0x1 <e2902ca19d9e0ab53442198283a8c4c700000000000000002c8cc0043311cd57511941d4242e
ac8956f1d66048417cbd00>, name = "user1"]
     rcvd [LCP EchoRep id=0x0 magic=0x237c3979]
     rcvd [CHAP Success id=0x1 "S=2872B033488EF78B7F2844ADE67DBA051C997460"]
     CHAP authentication succeeded
     sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
     rcvd [IPCP ConfReq id=0x1 <addr 172.20.123.123>]
     sent [IPCP ConfAck id=0x1 <addr 172.20.123.123>]
     rcvd [IPCP ConfNak id=0x1 <addr 192.168.25.251>]
     sent [IPCP ConfReq id=0x2 <addr 192.168.25.251>]
     rcvd [IPCP ConfAck id=0x2 <addr 192.168.25.251>]
     not replacing existing default route through eth0
     Cannot determine ethernet address for proxy ARP
     local  IP address 192.168.25.251
     remote IP address 172.20.123.123
     Script /etc/ppp/ip-up started (pid 12882)
     Script /etc/ppp/ip-up finished (pid 12882), status = 0x7
     No response to 4 echo-requests
     Serial link appears to be disconnected.
     Connect time 17.5 minutes.
     Sent 156321675 bytes, received 215438945 bytes.
     Script /etc/ppp/ip-down started (pid 13542)
     sent [LCP TermReq id=0x3 "Peer not responding"]
     Script /etc/ppp/ip-down finished (pid 13542), status = 0x0
     Script pptp 172.20.123.123 --nolaunchpppd finished (pid 12874), status = 0x0
     Modem hangup
     Connection terminated.


sash-kan писал(а):
05.04.2010 23:14
а также приложите вывод

До:

root@host

root@host:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:14:85:2b:84:af brd ff:ff:ff:ff:ff:ff
inet 172.20.88.54/24 brd 172.20.88.255 scope global eth0
3: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
root@host:~# ip r
172.20.123.123 via 172.20.88.1 dev eth0 src 172.20.88.54
172.20.88.0/24 dev eth0 proto kernel scope link src 172.20.88.54
169.254.0.0/16 dev eth0 scope link metric 1000
172.20.0.0/16 via 172.20.88.1 dev eth0
default dev eth0 scope link
default via 172.20.88.1 dev eth0 metric 100


Во время:

root@host


root@host:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:14:85:2b:84:af brd ff:ff:ff:ff:ff:ff
inet 172.20.88.54/24 brd 172.20.88.255 scope global eth0
3: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
16: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast state UNKNOWN qlen 3
link/ppp
inet 192.168.25.251 peer 172.20.123.123/32 scope global ppp0
root@host:~# ip r
172.20.123.123 via 172.20.88.1 dev eth0 src 172.20.88.54
172.20.123.123 dev ppp0 proto kernel scope link src 192.168.25.251
172.20.88.0/24 dev eth0 proto kernel scope link src 172.20.88.54
169.254.0.0/16 dev eth0 scope link metric 1000
172.20.0.0/16 via 172.20.88.1 dev eth0
default dev ppp0 scope link
default dev eth0 scope link
default via 172.20.88.1 dev eth0 metric 100

Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: [Решено] VPN - медленно + разрывы

Сообщение sash-kan »

по мере чтения:
1. добавьте в провайдерский файл noproxyarp.
2, добавьте в провайдерский файл nocrtscts.
3. добавьте в провайдерский файл replacedefaultroute.
4. одна из этих записей явно лишняя:
QUOTE писал(а):default dev eth0 scope link
default via 172.20.88.1 dev eth0 metric 100
каким образом у вас организовано подключение локальной сети? не с помощью медвежьей помощи от network-manager, надеюсь?
если нет, выложите содержимое /etc/network/interfaces, скорее всего там у вас два дефолтных маршрута и создаются. либо вы второй маршрут где-то ещё создаёте (вижу, у вас какие-то частные доп.маршруты имеются), тогда вам виднее, что и где править.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Phase
Сообщения: 42

Re: [Решено] VPN - медленно + разрывы

Сообщение Phase »

Извините за задержку, редко сажусь дома за компьютер.

Опции в файл добавил, посмотрим, что получиться. Один маршрут действительно лишний, это "default dev eth0 scope link". Он появляется только после переподключения - в ip-down прописано:

Код: Выделить всё

         route add default dev eth0

Рудименты от давних настроек, скорее всего, - я файл с момента установки, года 4 назад, не трогал. Теперь убрал эту строку.
И ещё, есть ли смысл в "replacedefaultroute", если в ip-up указано: "route add default dev ppp0"?
(Дополнительный маршрут, к стати, там же). Какой вариант будет более корректный?

Сеть, насколько помню, настраивал вручную.

root@host

root@host:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 172.20.88.54
netmask 255.255.255.0
network 172.20.88.0
broadcast 172.20.88.255
gateway 172.20.88.1


Пока что, посмотрю, как себя повед
ёт соединение и по факту отпишусь. Спасибо.
Спасибо сказали:
Phase
Сообщения: 42

Re: [Решено] VPN - медленно + разрывы

Сообщение Phase »

К сожалению, проблема сохранилась.

Код: Выделить всё

     root@host:~# pppd call dcom dump debug hide-password nodetach
     pppd options in effect:
     debug           # (from command line)
     nodetach                # (from command line)
     dump            # (from command line)
     noauth          # (from /etc/ppp/peers/dcom)
     user user1              # (from /etc/ppp/peers/dcom)
     password ??????         # (from /etc/ppp/peers/dcom)
                     # (from /etc/ppp/options)
     pty pptp 172.20.123.123 --nolaunchpppd            # (from /etc/ppp/peers/dcom)
     nocrtscts               # (from /etc/ppp/peers/dcom)
                     # (from /etc/ppp/options)
     noaccomp                # (from /etc/ppp/peers/dcom)
     asyncmap 0              # (from /etc/ppp/options)
     nopcomp         # (from /etc/ppp/peers/dcom)
     lcp-echo-failure 4              # (from /etc/ppp/options)
     lcp-echo-interval 30            # (from /etc/ppp/options)
     hide-password           # (from command line)
     novj            # (from /etc/ppp/peers/dcom)
     novjccomp               # (from /etc/ppp/peers/dcom)
     defaultroute            # (from /etc/ppp/peers/dcom)
     replacedefaultroute             # (from /etc/ppp/peers/dcom)
                     # (from /etc/ppp/options)
     noproxyarp              # (from /etc/ppp/peers/dcom)
     nobsdcomp               # (from /etc/ppp/peers/dcom)
     nodeflate               # (from /etc/ppp/peers/dcom)
     noipx           # (from /etc/ppp/options)
     using channel 3
     Using interface ppp0
     Connect: ppp0 <--> /dev/pts/3
     sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x652aacd8>]
     rcvd [LCP ConfReq id=0x1 <auth chap MS-v2> <mru 1460> <magic 0xa0cfc324>]
     sent [LCP ConfAck id=0x1 <auth chap MS-v2> <mru 1460> <magic 0xa0cfc324>]
     rcvd [LCP ConfRej id=0x1 <asyncmap 0x0>]
     sent [LCP ConfReq id=0x2 <magic 0x652aacd8>]
     rcvd [LCP ConfAck id=0x2 <magic 0x652aacd8>]
     sent [LCP EchoReq id=0x0 magic=0x652aacd8]
     rcvd [CHAP Challenge id=0x1 <5520c76f98b96bf19f9021b6cab75877>, name = "nas.lab"]
     sent [CHAP Response id=0x1 <59372fc52afc053b028545588f068d0200000000000000008ad4d536260a9d23a34d4f07ffce
d3a9e6d9eeff6be2195200>, name = "user1"]
     rcvd [LCP EchoRep id=0x0 magic=0xa0cfc324]
     rcvd [CHAP Success id=0x1 "S=9D86E5C7E3FB498DA4763EA61238E3B5CCE0DB2B"]
     CHAP authentication succeeded
     sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
     rcvd [IPCP ConfReq id=0x1 <addr 172.20.123.123>]
     sent [IPCP ConfAck id=0x1 <addr 172.20.123.123>]
     rcvd [IPCP ConfNak id=0x1 <addr 192.168.25.251>]
     sent [IPCP ConfReq id=0x2 <addr 192.168.25.251>]
     rcvd [IPCP ConfAck id=0x2 <addr 192.168.25.251>]
     replacing old default route to eth0 [172.20.88.1]
     local  IP address 192.168.25.251
     remote IP address 172.20.123.123
     Script /etc/ppp/ip-up started (pid 3422)
     Script /etc/ppp/ip-up finished (pid 3422), status = 0x7
     No response to 4 echo-requests
     Serial link appears to be disconnected.
     Connect time 25.1 minutes.
     Sent 110073787 bytes, received 832452269 bytes.
     restoring old default route to eth0 [172.20.88.1]
     Script /etc/ppp/ip-down started (pid 4566)
     sent [LCP TermReq id=0x3 "Peer not responding"]
     Script /etc/ppp/ip-down finished (pid 4566), status = 0x0
     Script pptp 172.20.123.123 --nolaunchpppd finished (pid 3414), status = 0x0
     Modem hangup
     Connection terminated.

И, к стати, вспомнил ещё одну вещь. Может совпадение, но такое впечатление, что после первого разрыва каждый следующий наступает всё быстрее и "легче" (при более короткой нагрузке).
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: [Решено] VPN - медленно + разрывы

Сообщение sash-kan »

Phase писал(а):
07.04.2010 23:45
И ещё, есть ли смысл в "replacedefaultroute", если в ip-up указано: "route add default dev ppp0"? (Дополнительный маршрут, к стати, там же). Какой вариант будет более корректный?
replacedefaultroute. вновь поднятый интерфейс может иметь другое имя. например, ppp1. или ppp2. запросто.


Phase писал(а):
07.04.2010 23:45
Рудименты от давних настроек
рекомендую их полностью удалить. жить станет легче, честное слово (улыбка).

Phase писал(а):
08.04.2010 00:22
К сожалению, проблема сохранилась.
для начала разберитесь с дефолтным маршрутом.
т.е., приведите вывод
$ ip a; ip r
до поднятия и в процессе работы интерфейса.

а следующим этапом можете на досуге разобраться с необходимостью этих отключений компрессий:
Phase писал(а):
08.04.2010 00:22
noaccomp
nopcomp
novjccomp
nobsdcomp
nodeflate
все ли они реально необходимы для связи с сервером? если администратор сервера не сможет подсказать, в запасе остаётся «опытный путь».
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Phase
Сообщения: 42

Re: [Решено] VPN - медленно + разрывы

Сообщение Phase »

До теста, результаты которого в предыдущем сообщении, именно так и сделал - поправил настройки, оставил только "replacedefaultroute". Маршруты, соответственно, стали на место:

root@host

root@host:~# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:14:85:2b:84:af brd ff:ff:ff:ff:ff:ff inet 172.20.88.54/24 brd 172.20.88.255 scope global eth0 4: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff root@host:~# ip r 172.20.88.0/24 dev eth0 proto kernel scope link src 172.20.88.54 169.254.0.0/16 dev eth0 scope link metric 1000 default via 172.20.88.1 dev eth0 metric 100 root@host:~# pon dcom root@host:~# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:14:85:2b:84:af brd ff:ff:ff:ff:ff:ff inet 172.20.88.54/24 brd 172.20.88.255 scope global eth0 4: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff 17: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast state UNKNOWN qlen 3 link/ppp inet 192.168.25.251 peer 172.20.123.123/32 scope global ppp0 root@host:~# ip r 172.20.123.123 via 172.20.88.1 dev eth0 src 172.20.88.54 172.20.123.123 dev ppp0 proto kernel scope link src 192.168.25.251 172.20.88.0/24 dev eth0 proto kernel scope link src 172.20.88.54 169.254.0.0/16 dev eth0 scope link metric 1000 default dev ppp0 scope link


Когда начались проблемы, то я попробовал сделать так, чтоб система для PPTP-сервера стала максимально похожей на Windows (поскольку, с ним проблем не возникало). Поэтому и отключил компрессии, но это скорее для "успокоения души" - думаю, в данном случае особенно ни на что не повлияет.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: [Решено] VPN - медленно + разрывы

Сообщение sash-kan »

ну а что нынче с разрывами? ни единого? (улыбка)
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Phase
Сообщения: 42

Re: [Решено] VPN - медленно + разрывы

Сообщение Phase »

Если бы... К сожалению, присутствуют.

Жаль вот, не помню после чего появились. Не то после обновления на 9.10, не то после очередного ядра... Я уже скоро буду не уверен, что вообще хоть когда-то работало нормально. Интересно, сколько вообще народ на 9.10 по VPN максимум вытягивает?
Спасибо сказали:
Phase
Сообщения: 42

Re: [Решено] VPN - медленно + разрывы

Сообщение Phase »

Отвечу сам себе, может пригодится кому-нибудь ещё (а может и мне, если забуду :) ).
6-е чувство меня не подводило:

Phase писал(а):
05.04.2010 23:01
... Впечатление, как будто, есть какой-то буфер, который не даёт "разогнаться"...


Проблема лечится аргументом --nobuffer для pptp:

root@host

root@host:~# uname -a Linux host 2.6.35-22-generic #35-Ubuntu SMP Sat Oct 16 20:36:48 UTC 2010 i686 GNU/Linux root@host:~# cat /etc/ppp/peers/provider1 pty "pptp 172.20.123.123 --loglevel 0 --nobuffer --nolaunchpppd" user user1 password "pass1" nodeflate nobsdcomp noauth novj novjccomp nopcomp noaccomp defaultroute noproxyarp nocrtscts replacedefaultroute

Спасибо сказали: