MPD5, L2TP и перегруженный EDGE

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Platinum
рядовой
Сообщения: 25
Зарегистрирован: 2009-10-31 13:16:52
Откуда: MSK

MPD5, L2TP и перегруженный EDGE

Непрочитанное сообщение Platinum » 2010-05-04 21:35:24

Всех приветствую =) Требуется помощь в организации туннеля через перегруженный по вечерам канал.

Из исходных данных имеем: клиента на удаленной площадке в Московской Области, обеспечиваемого интернетом через USB-модем от Билайна (EDGE) прикрученного к шлюзу на лине, VPN сервер на FreeBSD 8.0 в столице.

По задумке: На площадке стоит еще один сервер на FreeBSD который поднимает L2TP до своего коллеги в Москве через билайновский интернет и клиент спокойно подключается к внутренней сети. Пока второго сервера нет, и клиент VPN поднимает с ноута.

На практике:в Москве связка работает оч даже сносно, в любое время суток, что по EDGE что по 3G. Но стоит переместиться за пределы белокаменной- начинаются проблемы. Как полагается было выбрано место с максимальным приемом от БС. Телефон показывает 7 из 7 палок. Но на этом радости заканчиваются. По вечерам канал начинает оч сильно лагать - похоже на банальный перегруз БС, пинги позрастают просто до неимоверных значений если пингую со шлюза, винда же гордо сообщает что 45% пакетов без вести пропадает. При всем этом соединение с сервером устанавливается, IP клиент получает, но траффик в туннель упорно отказывается лезть - не пинги ни ssh - вообще ничего. :( WireShark показывает вот такую картину: от клиента уходит 3 раза L2TP PPP Compressed Data, а от сервера приходит 1 раз L2TP LCP Protocol Reject. И так по кругу, если пытаемся запихнуть что либо в туннель.

А на шлюзе наблюдаем вот такой вот цирк - на пример пингуем яндекс, никто интернет не грузит:

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

64 bytes from 87.250.251.3: seq=2364 ttl=53 time=1972.807 ms
64 bytes from 87.250.251.3: seq=2399 ttl=53 time=5585.941 ms
64 bytes from 87.250.251.3: seq=2400 ttl=53 time=5508.440 ms
64 bytes from 87.250.251.3: seq=2401 ttl=53 time=5469.175 ms
64 bytes from 87.250.251.3: seq=2402 ttl=53 time=5466.803 ms
64 bytes from 87.250.251.3: seq=2403 ttl=53 time=5425.601 ms
64 bytes from 87.250.251.3: seq=2404 ttl=53 time=5847.060 ms
64 bytes from 87.250.251.3: seq=2405 ttl=53 time=6605.933 ms
64 bytes from 87.250.251.3: seq=2406 ttl=53 time=5928.455 ms
64 bytes from 87.250.251.3: seq=2407 ttl=53 time=6406.789 ms
64 bytes from 87.250.251.3: seq=2408 ttl=53 time=5927.921 ms
64 bytes from 87.250.251.3: seq=2409 ttl=53 time=5545.955 ms
64 bytes from 87.250.251.3: seq=2410 ttl=53 time=5888.427 ms
64 bytes from 87.250.251.3: seq=2411 ttl=53 time=5986.971 ms
64 bytes from 87.250.251.3: seq=2412 ttl=53 time=5268.728 ms
64 bytes from 87.250.251.3: seq=2414 ttl=53 time=5406.080 ms
64 bytes from 87.250.251.3: seq=2415 ttl=53 time=5185.553 ms
64 bytes from 87.250.251.3: seq=2416 ttl=53 time=5666.977 ms
64 bytes from 87.250.251.3: seq=2417 ttl=53 time=5345.566 ms
64 bytes from 87.250.251.3: seq=2418 ttl=53 time=4968.445 ms
64 bytes from 87.250.251.3: seq=2419 ttl=53 time=5386.233 ms
64 bytes from 87.250.251.3: seq=2420 ttl=53 time=5329.085 ms
64 bytes from 87.250.251.3: seq=2421 ttl=53 time=5329.424 ms
64 bytes from 87.250.251.3: seq=2422 ttl=53 time=5007.050 ms
64 bytes from 87.250.251.3: seq=2423 ttl=53 time=4145.923 ms
64 bytes from 87.250.251.3: seq=2424 ttl=53 time=3669.029 ms
64 bytes from 87.250.251.3: seq=2425 ttl=53 time=4346.965 ms
64 bytes from 87.250.251.3: seq=2426 ttl=53 time=5068.444 ms
64 bytes from 87.250.251.3: seq=2427 ttl=53 time=5707.175 ms
64 bytes from 87.250.251.3: seq=2428 ttl=53 time=5469.556 ms
64 bytes from 87.250.251.3: seq=2429 ttl=53 time=4806.062 ms
64 bytes from 87.250.251.3: seq=2430 ttl=53 time=4585.564 ms
64 bytes from 87.250.251.3: seq=2431 ttl=53 time=3746.953 ms
64 bytes from 87.250.251.3: seq=2432 ttl=53 time=3274.319 ms
64 bytes from 87.250.251.3: seq=2433 ttl=53 time=2277.829 ms
64 bytes from 87.250.251.3: seq=2434 ttl=53 time=1791.635 ms
64 bytes from 87.250.251.3: seq=2435 ttl=53 time=2146.941 ms
64 bytes from 87.250.251.3: seq=2436 ttl=53 time=2425.891 ms
64 bytes from 87.250.251.3: seq=2437 ttl=53 time=4827.181 ms
64 bytes from 87.250.251.3: seq=2438 ttl=53 time=5549.525 ms
64 bytes from 87.250.251.3: seq=2439 ttl=53 time=5150.695 ms
64 bytes from 87.250.251.3: seq=2440 ttl=53 time=4152.618 ms
64 bytes from 87.250.251.3: seq=2441 ttl=53 time=3153.327 ms
64 bytes from 87.250.251.3: seq=2442 ttl=53 time=2155.081 ms
64 bytes from 87.250.251.3: seq=2443 ttl=53 time=1155.494 ms
64 bytes from 87.250.251.3: seq=2444 ttl=53 time=605.723 ms
64 bytes from 87.250.251.3: seq=2445 ttl=53 time=505.666 ms
64 bytes from 87.250.251.3: seq=2446 ttl=53 time=668.712 ms
64 bytes from 87.250.251.3: seq=2447 ttl=53 time=467.194 ms
64 bytes from 87.250.251.3: seq=2448 ttl=53 time=445.717 ms
64 bytes from 87.250.251.3: seq=2449 ttl=53 time=526.716 ms
64 bytes from 87.250.251.3: seq=2450 ttl=53 time=568.573 ms
64 bytes from 87.250.251.3: seq=2451 ttl=53 time=445.823 ms
64 bytes from 87.250.251.3: seq=2452 ttl=53 time=447.825 ms
64 bytes from 87.250.251.3: seq=2453 ttl=53 time=628.629 ms
64 bytes from 87.250.251.3: seq=2454 ttl=53 time=427.137 ms
64 bytes from 87.250.251.3: seq=2455 ttl=53 time=587.260 ms
64 bytes from 87.250.251.3: seq=2456 ttl=53 time=486.070 ms
64 bytes from 87.250.251.3: seq=2457 ttl=53 time=847.856 ms
64 bytes from 87.250.251.3: seq=2458 ttl=53 time=1707.082 ms
64 bytes from 87.250.251.3: seq=2459 ttl=53 time=1567.388 ms
64 bytes from 87.250.251.3: seq=2460 ttl=53 time=668.240 ms
64 bytes from 87.250.251.3: seq=2461 ttl=53 time=368.830 ms
64 bytes from 87.250.251.3: seq=2462 ttl=53 time=485.792 ms
64 bytes from 87.250.251.3: seq=2463 ttl=53 time=468.681 ms
64 bytes from 87.250.251.3: seq=2464 ttl=53 time=507.068 ms
64 bytes from 87.250.251.3: seq=2465 ttl=53 time=426.071 ms
64 bytes from 87.250.251.3: seq=2466 ttl=53 time=805.704 ms
64 bytes from 87.250.251.3: seq=2467 ttl=53 time=646.266 ms
64 bytes from 87.250.251.3: seq=2468 ttl=53 time=1288.583 ms
64 bytes from 87.250.251.3: seq=2469 ttl=53 time=829.078 ms
64 bytes from 87.250.251.3: seq=2470 ttl=53 time=826.564 ms
64 bytes from 87.250.251.3: seq=2471 ttl=53 time=347.820 ms
64 bytes from 87.250.251.3: seq=2472 ttl=53 time=727.207 ms
64 bytes from 87.250.251.3: seq=2473 ttl=53 time=346.179 ms
64 bytes from 87.250.251.3: seq=2474 ttl=53 time=508.834 ms
ну и так далее...
и в итоге:

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

--- ya.ru ping statistics ---
2540 packets transmitted, 2445 packets received, 3% packet loss
round-trip min/avg/max = 286.454/6009.414/25385.407 ms
Где то под утро, часам к 4, канал "отпускает" и он начинает работать очень даже шустро. Траффик наконец проходит. Что можно предпринять чтобы туннель все таки работал и днем и вечером а не только под утро? Может быть можно какиенить параметры подкрутить или поменять тип соединения с L2TP на другой (судя по докам там есть чтото типа инскапулирования в TCP). Или поменять MPD на что нибудь другое, типа OpenVPN? Или такую ситуацию уже ничем не исправить? :(

Сейчас конфиг на сервере выглядит так:

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

default:
        load l2tp_server

l2tp_server:

# Define dynamic IP address pool.
        set ippool add pool1 192.168.17.10 192.168.17.20
# Create clonable bundle template named B
        create bundle template B
        set iface enable proxy-arp
        set iface idle 1800
        set iface enable tcpmssfix
        set ipcp yes vjcomp
# Specify IP address pool for dynamic assigment.
        set ipcp ranges192.168.17.1/24 ippool pool1
        set ipcp dns 192.168.17.1
# The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc(8) netgraph node type.
        set bundle enable compression
        set ccp yes mppc
        set mppc yes e40
        set mppc yes e128
        set mppc yes stateless
# Create clonable link template named L
        create link template L l2tp
# Set bundle template to use
        set link action bundle B
# Multilink adds some overhead, but gives full 1500 MTU.
        set link enable multilink
        set link yes acfcomp protocomp
        set link no pap chap
        set link enable chap
        set link keep-alive 10 60
# We reducing link mtu to avoid GRE packet fragmentation
        set link mtu 1460
# Configure l2tp
        set l2tp self 0.0.0.0
# Allow to accept calls
        set link enable incoming
И еще параллельно такой вопрос - если между собой туннель поднимают два сервака на FreeBSD, что лучше поставить на компрессию и шифрование? имеет ли смысл менять MPPC и MPPE на чтото другое, например deflate ?

Заранее спасибо =)

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Platinum
рядовой
Сообщения: 25
Зарегистрирован: 2009-10-31 13:16:52
Откуда: MSK

Re: MPD5, L2TP и перегруженный EDGE

Непрочитанное сообщение Platinum » 2010-05-14 21:49:25

неужели никто не сталкивался? :)