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, а также возможностью пингануть различные айпишники прямо из консоли роутера.
Для страждущих на заметку — тут наиболее полное описание OpenVPN — http://wiki.kryukov.biz/wiki/Openvpn
А у нас самый дебильный провайдер все через жопу сделали; я знаю что на билайне подключился (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 не самое гениальное что я видел.