DIR825. Соединение с провайдером через протокол PPTP.

Предоставление доступа в интернет разными провайдерами поставляется по-разному. Нередко он осуществляется путем создания vpn-соединения, в частности с использованием протокола pptp. Недавно был задан вопрос на эту тему, и вот найдя свободную минутку, а также вспомнив что со своим провайдером я держу канал также через pptp (правда средствами отдельного компа и WinRoute) решил протестировать возможность держать соединение vpn рассматриваемым маршрутизатором.

До недавнего времени я не включал в свои сборки драйвер (клиентская часть) протокола pptp, конечно, с появлением extroot его можно доставить и на внешний накопитель (как я и сделал, проводя тестирование) — но для этого нужно иметь также установленным и драйвер kmod-gre, скомпиллированный под соответствующую версию ядра, и который у меня появился благодаря перекомпиляции сборки (промежуточной версии, доступной пока тут http://maslenizza.ru/ar71xx/temp/). Устанавливая указанную, а также все последующии сборки (прошивки) — отдельно устанавливать драйвер не придется. Также планируется включать и драйвер l2tp.

Настройка работы канала vpn-соединения достаточно проста (хотя потратить некоторе время все равно пришлось, чтоб разобраться что — к чему) — рекомендую после изменения настроек на каждой из предложенных ниже страничек жать кнопку "Save" (т.е. не применять сразу) — а по завершении применить всё скопом — пункт "Save & Apply" в меню "Unsaved Changes" … и так:

Network->Interface — добавляем новое соединение, например с названием "vpn" и заполняем настройки в соответствии со скриншотом:

Основное тут указываем сам протокол "pptp", адрес сервера (символический или айпишник), логин и пароль (также можно указать вновь создаваемую зону — например "vpn", или она должна создаться автоматически). Галки не трогаем (пускай стоят). Поле "interface" оставляем пустым (сразу его заполнить корректно не удастся, а заполнять потом впринципе нет необходимости). Но для корректности отображения переданного/принятого траффика (как на скрине ниже) возможно все же стоит его запалнить — в нашем случае выбрать "pptp-vpn". После сохранения и применения настроек страничка Network должна иметь вид наподобие приведенного  ниже:

На последок не забудем прописать права на вновь созданную (одноименную соединению) зону "vpn" — по аналогии зоне "wan" (чтобы она тоже сидела за NAT):

… а также указать глобальные правила маршрутизации по зонам (lan->vpn):

Применяем настройки, для верности перезагружаемся (не забудем подкорректировать "интерфейс" — см. выше) …

PS. Для проверки настроек и отладки (на промежуточных шагах или в случае отсутствия ожидаемого результата) не забываем пользоваться консольной командой route, а также возможностью пингануть различные айпишники прямо из консоли роутера.

Comments

This post currently has 13 комментариев

  • А у нас самый дебильный провайдер все через жопу сделали; я знаю что на билайне подключился (pptp) или не подключился локал доступен а у нас пока не подключишься локал не виден будет. C компутера подключаешься локалку видно 10.0.0.0 и с роутера с russian pptp (он же dual access у d-link называется), а с dd-wrt и openwrt не видно локалки почему то, ну то-есть я торрент включаю и мне там вылезает имя хоста не найдено и соответственно торрент не качает я пробовал через шлюз прописать его route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.163.174.1 тоже никакой реакции не дало.

  • Заводской прошивкой не пользовался ;-) … вообще — не завелся с ней у меня «девственно новый» девайс, чему я не очень-то и огорчился — ведь покупал его чисто для экспериментов с ОpenWRT, которая и была на него сразу мной прошита …
    По вопросу: … видимо нужно настроить таблицу маршрутизации, для этого есть команда route (синтаксис классический — ищи в инете). При установлении pptp канала весь wan-трафик направляется в него — в описанной ситуации, как я понял, требуется прописать дополнительный маршрут, что адреса например вида 10.*.*.* слать не на vpn-интерфейс pptp-vpn (с его айпишником), а на wan-интерфейс eth1 … Далее после отладки команды можно оформить в файлик и прикрутить его куда-нибудь на автозапуск.

    PS. Если честно не совсем понял постановку вопроса. У меня, например, локалка доступна всегда. Устанавливая канал vpn я имею через него выход в интернет (динамический прямой айпишник). Как может быть связан vpn с локальными ресурсами ?

  • Здравствуйте вы не знаете как сделать dual acess pptp это штука есть в стандартных заводских прошивках d-link. Иными словами после подключения провайдер к внешке провайдер открывает мне еще и  доступ к локальным адресам 10,0,0,0 а так без подключения к ним не зайдешь — а если я использую openwrt или dd-wrt я не имею доступа к этим адресам 10,0,0,0… Вы не знаете как можно активировать?

  • * Выложил сегодня новую прошивку … пока не написал к ней заметку, но в репозитории моем она уже есть :-))
    * Пытался настраивать и тестировать возможность дирки держать канал по l2tp — убил кучу времени ;-((
       — Результат есть но не на 100% положительный: канал устанавливается — все путем (средствами xl2tpd) — но вот с таблицами маршрутизации неразбериха полная получается, тут не то что до автоматизма, ручками то поднять как-то не всегда удается … вобщем будем потом копать дальше.
       — Веб-морда LuCI ни разу не адаптирована под конфигурирование l2tp (хоть в каком-нибудь исполнении) — т.е. пока только командная строка и текстовые конфиги …
    * Когда дойдут руки до OpenVPN — незнаю …

    PS. Возможно я не правильно понял некоторые моменты предыдущего обсуждения, но хочу сказать, что OpenVPN и любой прокси служат совершенно для разных целей и не может стоять вопрос выбора между ними …

  • Давайте вместе изучать openvpn мне нужен аналог прокси или прокси вобщем что то просто и удобное ))) я вообщем пробывал pptp сервер поднять на компе но почему то никак не получилось может быть канеш это проделки провайдера я сам тоже по pptp к нему подключаюсь — ко мне никто не смог подключиться но с openvpn как то попроще короче я подключился с такими настройками на сервере в автозагрузке сделал 
    openvpn —mktun —dev tap0
    brctl addif br0 tap0
    ifconfig tap0 0.0.0.0 promisc up
    echo "
    ——BEGIN OpenVPN Static key V1——
    5ab1852ec1df12a0b0a8990155ff5f1b
    d633e887a7235d02f6ebfa8a14399c9c
    40ba62822f81debdb5672b11295833e1
    d97d30de200a8435a844fccd7b696176
    10cb7a2fbc7aeb7c545ce2b0fe7d8cb2
    e4457b0d61152269e33571f8e9a4e186
    4e943ebacb827e8a96e58659d7f62bc8
    0dcab67af26f83321d99d71a748edb05
    cdccf160bf4dfb0b6f442bc7f6c340fd
    df3ea85dc034e3772218d561eceae0d6
    17b954c8fe66b47872eccf78f04e8d28
    2dd6be50551c89a655fc848ed4aba2ff
    c0b40f5f5c7836b418bd7f12e05bcdbf
    37a9267c1f6a49268983315be0a61d44
    8036fea9b865dcfed4c7fb0afb87f7f6
    fffe8a70be8e4b5bd2b708b0387a6782
    ——END OpenVPN Static key V1——
    " > /tmp/static.key
    ln -s /usr/sbin/openvpn /tmp/myvpn
    /tmp/myvpn —dev tap0 —secret /tmp/static.key —comp-lzo —port 1194 —proto udp —verb 3 —daemon

    а у клиента
    remote 10.163.174.73
    port 1194
    dev tap
    secret static.key
    proto udp
    comp-lzo
    Все подключается и локалка работает но раздачи интернета нету … Подскажите если есть идеи чтобы он помимо локалки и инет раздавал я это опробывал только на dd-wrt (сервер)   и 7ке (клиент) .

  • Проксями не пользуюсь (для моей инфраструктуры неактуално) …
    OpenVPN планирую к "изучению" в ближайшее время — вещь нужная. Сейчас в качестве входного маршрутизатора юзаю вин-рут (на ноуте), планирую заменить его со временем рассматриваемой диркой. Вот только для начала хочется все оттестить и наладить (результатам данных работ и посвящен сайт). VPN я использую для доступа в домашнюю локалку через интернет с работы.

    PS. Тут после беседы с поддержкой провайдера у меня также появилась возможность устанавливать канал в интернет по l2tp — т.е. новое поле для отладки этого на дирке ;-)

  • Все здорово но почему то DD-wrt загрузку больше чем отдачу показывает а openwrt отдачу больше чем загрузку интересно ))  да и еще не по теме хотел спросить какой простеньктй socks прокси вы посоветуете поставить и еще второй вопрос не ставили ли вы когда нибудь openvpn а то сним какие то проблемки …. 

  • Начало файла /etc/config/qos выглядит (по-умолчанию) приблизительно так:

    config interface wan
        option classgroup  "Default"
        option enabled      1
        option overhead     1
        option upload       128
        option download     1024

    Две последние циферки можно заменить например на 10240 (для ограничения в 10Мбит/с) — или какие считаешь целесообразным. В данном случае это правила работает для пакетов идущих через wan … pptp тоже идет через wan (хоть также относится и к другой группе, по нашей конфигурации).

    По поводу "маскарадинга", "SNAT" и прочих "умных" терминов — к рассматриваемому случаю они отношения не имеют … У дирки мощный проц и (где-то читал что) он влегкую "кидает" через NAT со скоростью более 100Мбит/с — что уж говорить про наши 10 … (это у меня такой канал в инет, правда щас до 20-ти на 3 месяца поднял ;-)

    PS. 31-ого скомпилил обновленную версию прошивки — скоро выложу …

  • Здравствуйте работа напрямую с файлами конфигурации принесла свою пользу — так сказать на 100% эффективней чем через вебморду. Но проблема черепашьей скорости pptp осталась могли бы вы выслать или написать также как и до этого или полностью что гораздо лучше ваш конфигурационный файл qos так как в байтах я считать не умею и боюсь ковыряться в этих файлах. Кстати где то я читал что возможно медленная скорость из-за маскарада и типа надо трафик пускать через SNAT и все будет быстрее — не знаете как это реализовать случайно ?
    Жду ваш qos  Рамиль )) С наступающим!!!

  • Насчет QoS — варианты такие:

    * Можно вручную глянуть файл /etc/config/qos и в строках option upload и option download указать соответствующие скорости для тех или иных интерфейсов в килобайтах (как задавать значение в конфигах при компиляции сборки еще не разобрался) — при активированном протоколе QoS значения этого конфига должны юзаться.
    * Можно установить пакет luci-app-qos — тогда в LuCI появляется соответствующая закладка (при сборке компиллятор почему-то ругается ели пытаться его интегрировать в прошивку) …
    * А еще, кстати, можно установить альтернативную морду "webif" aka "X-Wrt" — которая возможно даже удобнее чем LuCI. Перед этим во избежании глюков люсю нада удалить:
    opkg remove luci-core —force-removal-of-dependent-packages
    После этого ставится морда webif:
    opkg install webif
     

  • К сожалению морда LuCI определенно глючна, т.е. например если долго и упорно колдовать с конфигурированием чего либо, то LuCI понаписывает в конфиги всего и столько, что потом сама разобраться не может — выход чистить вручную и конфигурить вновь единожды и корректно. Возможность менять те или иные поля зачастую зависит от уже присутствующей информации в конфигурационных файлах, ввиду этого целесообразно бывает делать их резервные копии перед юзанием веб-морды (тем более экспериментальным). Чтобы оставить поле пустым можно выбрать значение "custom" и не заполнять его. 

    В нашем случае основная часть настроек pptp ложится в файл /etc/config/network (в его хвост) — по содержанию несложно догадаться что его содержимое отражается на скрине 2 вцелом и 1 в деталях для конкретного интерфейса. Поле "interface" необязательно оставлять пустым: после того как мы создаем и сохраняем запись для этого интерфейса (пусть там будет хоть eth1) — заходим редактировать ее снова, в списке интерфейсов появится еще один pptp-vpn (где "vpn" — это то как мы в самом начале обозвали нашу запись, т.е. текстовка тут может быть и иной). С зоной "wan" я тоже ловил глюк, избавлялся от него удалением через LuCI всего лишнего (оставляем только первые две записи lan и wan) после чего применяем изменения (apply) и ребутаемся.

    Кстати все эти свистопляски с интерфейсами и зонами можно решить простым добавлением в конец файла /etc/config/network строк следующего вида (разумеется адрес сервера логин и пароль пишем свои):

    config 'interface' 'vpn'
        option 'proto' 'pptp'
        option 'server' 'vpn.internet.beeline.ru'
        option 'username' 'login@internet.beeline.ru'
        option 'password' 'password'
        option 'defaultroute' '1'

    … после этого останется лишь сконфигурить зоны в соответствии со скрином 3, или тоже самое можно сделать добавлением в хвост файла /etc/config/firewall (или не в хвост, но согласно структуре) следующих строк:

    config 'zone'
        option 'name' 'vpn'
        option 'input' 'REJECT'
        option 'output' 'ACCEPT'
        option 'forward' 'REJECT'
        option 'masq' '1'
        option 'mtu_fix' '1'
        option 'network' 'vpn'

    config 'forwarding'
        option 'src' 'lan'
        option 'dest' 'vpn'

    Ах да еще забыл сказать что на закладке Network->Traffic Control нужно также по аналогии с lan->wan добавить запись типа lan->vpn (добавлю это к описанию).

  • Здорово у вас на скрине но как то я не догнал почему на практике с вашей прошивкой иначе получилось. А именно после того как в всплывающем меню выбираешь pptp, interface становится eth1, zone становится wan а не как у вас на скрине пустое поле в interface и vpn в zone.
    Ну да ладно я выбрал custom в поле interface и стер там eth1 чтобы как на скрине было а в zone не напишешь vpn …
    Потом я сам зашел в firewall и добавил запись vpn и поставил там по аналогии с wan как в инструкции типа — теперь в zone у меня "wan, vpn" венегрет короче. Но о чудо интернет появился !!! но скорость <1 мбит ужас не могли подсказать где там QoS проверить а то меню в openwrt не самое гениальное что я видел.

Добавить комментарий