Расскажу как я справился с довольно типовой задачей
настройки роутера Linksys WRT54GL.
Требовался выход в интернет посредством VPN и одновременная работа локальной сети.
Если у вас есть достаточный опыт в Linux и нет страха перед командной строкой, то лучшим решением наверно будет воспользоваться прошивкой OpenWRT.
Это описание же расчитанно на неискушенного пользователя, и хоть
в своих экспериментах я активно пользовался консолью роутера (через ssh), данное описание позволяет настроить VPN используя исключительно web-интерфейс dd-wrt.
1) Ставим прошивку dd-wrt.
(Мне достался уже прошитый девайс =) , но в сети полно инфы о том, как прошить роутер, ничего сложного в этом нет. Возможно советы подойдут и для стандартной прошивки, я не проверял).
Испытания проводились на версии Firmware: DD-WRT v23.
Далее будем считать, что вы уже настроили локальную сеть,
т.е. вбили свой локальный ip/dns, либо клонировали mac-адрес и провайдер сам выдал все настройки.
2) В веб-интерфейсе открываем вкладку Administration -> Services, в разделе "pptp Client" ставим галочку "Enable". Жмём "Save settings".
3) В обновившемся поле "pptp Client" вбивает свои имя, пароль
и адрес vpn-сервера.
В полях "Remote Subnet" и "Remote Subnet Mask" оставляем нули,
если хотим через vpn лазить по всему интернету.
4) Идём в Setup -> Advanced routing
Вбиваем пути для локалки (обычно выдаются провайдером).
Главное, чтобы был путь до vpn-сервера, ну и до dns-сервера.
Базовые настройки на этом закончены.
5) Однако vpn может и не подняться из-за неподходящих для
вашего провайдера настроек, которые идут с dd-wrt по умолчанию.
Остановимся подробней на этом нетривиальном случае.
При включении роутера конфигурационный файл с опциями vpn
находится в файле /tmp/pptpd_client/options.vpn.
Соответственно этот временный файл нам и нужно поправить.
В моем случае напрмер нужно было отключить шифрование,
удалив соответствующую строку в конфиге:
"mppe required,no40,no56,stateless".
Это можно сделать редактором sed после включения роутера
с помощью команды:
cd /tmp/pptpd_client/; cp options.vpn bak; cat bak|sed /mppe/d > options.vpn; rm bak
Этой командой мы перешли в директорию с конфигурационными файлами; скопировали файл настроек в файл bak;
отфильтровали полученный файл sed'ом >
записали результат вместо старого файла настроек;
удалили временный файл bak.
Стоит конечно прописать это в автозагрузку с небольшой поправкой:
т.к. временный файл создается не сразу, следует поставить небольшую
задержку (sleep), скажем в секунд 50.
Для этого открываем вкладку Administration -> Diagnostics,
жмём Run, вписываем в текстовом поле команду:
(sleep 50; cd /tmp/pptpd_client/; cp options.vpn bak;
cat bak|sed /mppe/d > options.vpn;rm bak)&
(одной строкой) и жмём "Save Startup".
Данный способ изменения настроек может показаться не самым удобным, однако нельзя не отметить его гибкость.
Разобравшись как работает редактор sed можно варьировать настройки файла options.vpn как угодно.
6) Теперь можем перегрузить девайс:
на вкладке Administration жмём кнопку "Reboot Router"
После перезагрузки ждём отведённые нами 50 секунд и vpn-соединение должно работать.
Огромное спасибо! Помогло!!!
Пожалуйста! Оч. рад, что кому-то помогло =)
Блин! :( Сбросились все настройки, а заново подключить не получается! :(((((((((
Если подробнее опишите проблему, попробую помочь.
Локалка нормально работает?
Внешка не пингуется даже по ip-адресам?
Можете по ssh попробовать зайти на роутер (под винду нужна прога putty и ssh должен быть включен в веб-интерфейсе роутера)?
Есть смысл показать вывод команд
"ps aux" и "route" в ssh.
Уважаемый SS!
наткунлся на те же вилы - на этом же девайсе пытаюсь одновременно поднять vpn и получить доступ к локальной сети прова.
Имею либо одно, либо другое. Но никак их вместе не подружить...
Думаю, что проблема у меня с таблицей маршрутизации... (со встроенной таблицей все равно не работает)
прописываю еще маршрут до vpn server (edit commands):
route add -host vpn.x.net gw 192.168.x.x dev vlan1
кроме того, добавляю
route add -host x.x.x.x netmask x.x.x.x gw x.x.x.x
и так для каждого со своими адресами, ессно.
всего 8 маршрутов.
Инфу утянул с конфы Хобота (ixbt.com)
Рассчитываю на помощь...
Заранее благодарен!
Ну посмотрите опять же вывод route (можно в Administration -> Diagnostics -> Run, там вбиваете "route" и жмёте cmd).
Убедитесь, что есть путь до vpn-сервера через ваш гейт
(строка вида "vpn-сервер гейт ... vlan1").
Для работы локалки должен быть путь через гейт для адресов локалки, а для внешки default-маршрут, но не vlan1, а ppp0 (т.е. через vpn-соудинение), он, по идее, должен автоматом выставиться.
Спасибо за оперативность!
теоретически я все понимаю (мне так кажется).
Практически на рутере есть следующая таблица маршрутизации:
Destination LAN IP Subnet Mask Gateway Interface
195.239.126.35 255.255.255.255 192.168.207.1 WAN
192.168.200.0 255.255.255.0 0.0.0.0 LAN & WLAN
192.168.207.0 255.255.255.0 0.0.0.0 WAN
0.0.0.0 0.0.0.0 192.168.207.1 WAN
195.239.126.35 и есть vpn server
как видно, остальных маршрутов нету...
переделал только что как у Вас в блоге. Имею в виду всю таблицу внес в стандартное место - Setup - Advanced routing
в итоге у меня одна строка осталась в commands: route add -host vpn.asteis.net gw 192.168.207.1
что такое gw ? без нее инета нет...
gw - это gateway, вы тем самым добавляете путь до vpn-сервера чеерез ваш гейт.
Вы точно выставляли интерфейс WAN для всех маршрутов в Advanced routing?
Если правильно там вбито, то vpn сервер должен быть в таблице и без route add -host.
И все же покажите вывод route, о чем я писал в предыдущем посте, ибо только там полноценная таблица маршрутизации.
в Advanced routing у меня Wan&Lan...
сейчас поправлю...
все маршруты из Commands - route add ... я теперь перенес в Advanced routing
команды в Administration -> Diagnostics -> Run у меня не работают... Ничего не происходит...
радость была преждевременной...
все работало, а потом перестало. Отрубилась локалка...
Инет пашет...
Перезагрузился - то же самое.
свою таблицу могу показать только из Setup - advanced routing - routing table.
Теперь она выглядит так:
Destination LAN IP Subnet Mask Gateway Interface
195.239.126.35 255.255.255.255 192.168.207.1 WAN
82.138.60.64 255.255.255.240 192.168.207.1 WAN
192.218.174.0 255.255.255.0 192.168.207.1 WAN
192.218.170.0 255.255.255.0 192.168.207.1 WAN
192.168.200.0 255.255.255.0 0.0.0.0 LAN & WLAN
192.168.207.0 255.255.255.0 0.0.0.0 WAN
89.208.120.0 255.255.254.0 192.168.207.1 WAN
172.16.0.0 255.255.0.0 192.168.207.1 WAN
10.0.0.0 255.0.0.0 192.168.207.1 WAN
0.0.0.0 0.0.0.0 192.168.207.1 WAN
теперь в ней больше записей, чем до смены на WAN
в чем же дело?
Роутер перегружали?
Прошивка dd-wrt, версия?
Вообще, чтобы мне ещё что-нибудь сказать, нужен вывод нормального route. Попробуйте его получить по telnet или по ssh (как я писал выше).
извините за беспокойство!
Firmware: DD-WRT v23 SP2 (09/15/06) std
рутер сам перегружается при изменении параметров...
таблицу получил через telnet
посмотреть можно здесь:
http://bp2.blogger.com/_m_nMN1dCMdU/R5vQDdSMDGI/AAAAAAAAAak/uoAeqJyqlWw/s1600-h/routing.png
Боюсь тогда ничем не могу больше помочь =(
Мои познания в этой области на этом ограничиваются. У меня всё настроено аналогичным образом и работает.
Проверьте всё ещё раз на предмет "тупых" ошибок.
Возможно есть какая-нибудь особенность в вашей сети.
В общем, сорри, я умываю руки.
ну а таблица маршрутов хоть правильная?
хорошо бы еще знать что из себя представляют "тупые" ошибки...
про WAN я не думал, что это важно...
извините за беспокойство в любом случае...
Таблица мне кажется правильной, хотя я, повторюсь, не большой эксперт в этой области, и может что-то упускаю.
"Тупые ошибки" - не знаю. Попробуйте сбросить настройки и сделать всё заново, может что-то упустили.
Хотя если по отдельности локалка-внешка работают, то дело скорее всего в маршрутизации, но где конкретней - сказать не могу.
Попробуйте найти в вашей локальной сетке какого-нибудь линуксоида, пусть разъяснит вам особенности маршрутизации в вашей конкретной сети.
в любом случае спасибо!
Попробую следовать Вашим рекомендациям...
Другой вопрос - вот Вы "линуксоид". Я тоже ставил себе Убунту, но отказался от версии 6.10 из-за отсутствия поддержки принтера Canon i865. C тех пор что-нибудь изменилось?
Драйвер по крайней мере есть:
http://openprinting.org/show_printer.cgi?recnum=Canon-i865 , подробностей на счет canon не знаю.
Спасибо за советы!
Добрый день!
Прошу оказать помощь в настройке таблицы маршрутов. Использую указанный роутер, интернет при этом работает нормально, но внутренняя сеть, в том числе программа DC++, работает очень ограниченно. Проблема в том, что DC++ не может подключиться к основной массе пользователей (~90%) и скачку производит с очень низкой скоростью, при этом приходится использовать тип подключения - Пассивный режим, иначе передачи данных вообще не происходит. При прямом подключении, без роутера, DC++ стабильно работает, с хорошей скоростью.
Мне посоветовали разобраться с таблицей маршрутов. Собственно здесь и возникли вопросы. Setup->Advanced Routing
Что, где прописывать, и где взять эти таблицы, и в них ли вообще дело?
Заранее спасибо за ответ.
Хм. Не очень разбираюсь в DC++. Возможно там как в торренте нужно порты какие пробросить (сделать доступными с внешней сети), см. Applications & Gaming -> Port Forwarding.
Если Ваш клиент показывает ip-адреса пользователей, к котрым вы не можете подключиться - попробуйте их пропинговать. Если они пингуются - то это не с маршрутами проблема. Вообще скорее всего проблема не в маршрутах.
И ещё как вариант попробуйте поднять количество возможных соединений, см. Administration-> Management-> IP Filter Settings (adjust these for P2P)
Привет. У меня вопрос следующего характера...
Локалка ходит нормально, нет работы ДЦ++ на прямом соединении, но это для меня не критично, все остальное меня устраивает. При настройке VPN через PPTP у меня возникли трудности с шифрованием: я не знаю, что написать в поле "MPPE Encryption", чтобы у меня остался только метод MS-CHAP v2.
Дело в том, что у меня нет каких-либо особых познаний в юниксах, потому сомневаюсь, что я смогу разобраться в работе sed, или понять за что отвечает та или иная запись в строках файла с опциями, чтобы самостоятельно править его.
Заранее спасибо за помощь.
Вообще пост про роутер уже не самый актуальный =)
На новой прошивке (dd-wrt v24 sp1) опции шифрования действительно настраиваются через поле "MPPE Encryption", sed не нужен.
На сколько хватает моих знаний:
MS-CHAP - протокол установки впн-соединения или точнее аутентификации. В его рамках может создаваться как шифрованное, так и нешифрованное соединение.
Если в вашей сети действительно нет шифрования (как у меня), а только аутентификация с помощью chap, то данное поле достаточно оставить пустым и всё по идее будет работать.
Если шифрование всё же есть, то есть смысл найти настройки для Linux под вашу сеть (либо узнать их от провайдера) и взять опции MPPE оттуда.
В любом случае есть смысл обратиться в тех. поддержку провайдера (если она адекватная), там по логам вам смогут сказать точно в чем причина неконнекта.
Спасибо большое, за оперативность :)
Все оказалось намного прозаичнее. Мне надо было токо добавить к своим маршрутам локальной сети в закладке Advanced Routing маршрут к VPN через шлюз. Вот уже как пару часов полет нормальный.
А шифрования действительно не было. В поле ввел nomppe и все.
Я кстати специально отмечал, типа не забудьте маршрут до VPN-сервера ;)
В любом случае рад, что всё получилось.
Добрый день, почитал Ваш пост, познавательно, по ВПМ вроде сам сомог приконектиться к провайдеру, вопрос немного другого плана, мой Linksys WRT54GL издает некое высокочастотное жужжание. Вы такого за своим дэвайсом не замечали?
> Вы такого за своим дэвайсом не замечали?
Не замечал, гуглите по проблеме =)
Здравствуйте!
Ситуация следующая:
- первое соединение с провайдером (внутренняя сеть) по DHCP - устанавливается нормально
- второе соединение по PPTP - не устанавливается.
Тем не менее устнавливается соединение PPTP запущенное с компьютера.
Вот наторойки от провайдера:
Редактируем файл /etc/xl2tpd/xl2tpd.conf:
$ sudo gedit /etc/xl2tpd/xl2tpd.conf
Необходимо прописать в него следующее:
[global]
access control = yes
[lac corbina]
lns = l2tp.corbina.net
redial = yes
redial timeout = 1
require chap = yes
require authentication = no
name = "corbina-user-name"
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
require pap = no
autodial = yes
где corbina-user-name; - ваше имя пользователя в Corbina.
Редактируем /etc/ppp/options.xl2tpd:
$ sudo gedit /etc/ppp/options.xl2tpd
Прописываем в него:
unit 0
name "corbina-user-name"
remotename l2tp
ipparam corbina
connect /bin/true
mru 1460
mtu 1460
nodeflate
nobsdcomp
persist
maxfail 0
nopcomp
noaccomp
defaultroute
replacedefaultroute
В /etc/ppp/chap-secrets добавляем строку (если ее еще там нет):
"corbina-user-name-without-brackets" * "corbina-password-without-brackets"
Забыл указать, что версия прошивки 24-sp1.... сдаётся мне что дело в Chap, но вот где его и как правильно прописать не знаю
Спасибо.
Пароль, логин, как и всё остальное, можно прописать на новых прошивках прямо через веб-интерфейс. И всё по идее должно работать.
Маршруты так же не забудьте добавить.
Вообще с корбиной всё не очень хорошо судя по отзывам: "не работает PPTP в Корбине, не работает L2TP",
http://www.linux.org.ru/view-message.jsp?msgid=2783908
Вот здесь есть какие-то готовые решения: http://homenet.corbina.net/index.php?showtopic=143571
Вообще форум провайдера - тут лучший помощник. Там наверняка разобраны все особенности и возможные косяки.
Ответ я понял. Спасибо.
На роутерах DI-604,804VH и DIR-300, которые я пробовал - всё поднимается без проблем и по PPTP и по L2TP и маршруты для выхода в инет дополнительно прописывать не надо на Корбине. Помоему даже внутренние ресурсы доступны без этого- точно не скажу - не пользуюсь ими. Буду смотреть по вашим ссылкам.
Всего хорошего.
и вот ещё вдогонку c прошивкой Tomato LinkSys тоже подключается без проблем, но мне как раз нужна прошивка dd-wrt, ибо там есть опция VPN-сервера
Забодался.
У меня такой вопрос.
Прошивка стандартная, внешний интернет выделенная линия, как я понимаю, Static IP, на ноуте с Wi-Fi стоит Vista Home Premium.
Не подскажете, как мне подружить роутер со StrongDC++. В одном из форумов нашел, что нужно прописать порты в Forward Port, но ничего не происходит. Не может ли быть из-за использования Vista.
Ах да, стоит стандартная прошивка, перепробывал dd-wrt 23, 24 stable, tomato. Вернулся к скаченной с официального сайта Linksys.
Я уже выше отписывал свои немногочисленные мысли по поводу DC++.
Действительно проброс портов - первое, что приходит в голову (при условии, что всё остальное связанное с сетью у Вас работает).
Обратите внимание, чтобы у ноутбука был постоянный ip (нужно привязать ip-адрес к маку ноута) и что именно на него осуществляется проброс портов.
Больше ничем помочь не могу - читайте про DC, гуглите.
у меня проблема... железка конектится к северу pptp висит там 10 или 12 секунд и отваливается...
причем сервер мне говорит что отвалился изза user-request, т.е. по запросу пользователя(железки).
вот мой option.vpn:
lock
noauth
nodetach
refuse-eap
lcp-echo-failure 3
lcp-echo-interval 2
persist
usepeerdns
idle 115
ip-up-script /tmp/pptpd_client/ip-up
ip-down-script /tmp/pptpd_client/ip-down
ipparam kelokepptpd
mppe required,no40,no56,stateless
mtu 1372
mru 1450
name login
password passwd
заранее спасибо за оказанное внимание.
На роутере стоит стандартная прошивка.
VPN поднимается без проблем. Но с переходом на более широкий канал (12мбит от 2com)обнаружил одну неприятность.
При подключении по static ip компьютер принимает честные 11,5 мбит, но при поднятии pptp на роутере максимальная скорость скачивания не поднимается выше 5 мбит.
Результат одинаковый при подклюении по wi-fi и ethernet.
Буду очень признателен, если подскажете, в чём может быть проблема.
В догонку.
Насколько я понимаю, проблема заключается в слабой аппаратной части роутера.
Поможет ли dd-wrt и, например, отключение mppe?
Если поставите dd-wrt, то по вкладке
Router -> CPU -> Load Average увидите загрузку процессора.
Со стандартной прошивкой помочь ничем не смогу, ничего о ней не знаю. Возможно там можно по ssh зайти и посмотреть загрузку по команде top.
Уважаемый SS, у меня прошивка DD-WRT v24, подключение через PPTP. Прописал локальную сеть провайдера, Advanced routing (сервер VPN в другой подсети), настройки PPTP, нули в параметрах сетки PPTP.
VPN поднялся, Линксис видит интернет (ping mail.ru из его консоли откликается), но комп видит только провайдерскую локалку (
> VPN поднялся, Линксис видит интернет (ping mail.ru из его консоли откликается), но комп видит только провайдерскую локалку (
Вообще довольно странно.
Проверьте маршруты на компе, нет ли там лишних.
По идее должен быть только маршрут до роутера в вашей внутренней локалке вроде:
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
И дефолтный маршрут через роутер:
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Фаервол проверьте.
Это как самое очевидное.
Возможно в роутере есть какие-нибудь настройки политик доступа компов локалки к VPN и т.п., но по умолчанию должен пускать везде имхо.
Попробуйте с другого компа/wifi-девайса через роутер выйти, чтобы убедится на какой стороне проблема.
Доброго времени суток. Может есть мысль какая и по моей проблеме. Поставил DD-WRT посвежее (ибо снова связался с Корбиной). PPTP поднимается, даже без бубна (как раньше, видимо дописали код). Но при попытке использовать L2TP ловлю странный глюк. Как только поднимается интерфейс ppp0, что почти сразу... теряем связь и наблюдаем новое состояние портов на роутере - filtered (nmap). Настройки стандартные (описанные в солюшенах), те только сервис, маршрут к VPN и все вообщем то.
Идей пока никаких нет, найти что то похожее в инете пока не удалось. А L2TP хочется.
Возникла проблема с подключением через wi-fi: сеть видит, подключается, в состоянии обмен пакетами, но в инет не выходит. Шифрование стоит как рекомендовано WPA-Personnel... что может быть не так в настройках??
> Идей пока никаких нет, найти что то похожее в инете пока не удалось.
> А L2TP хочется.
У меня тоже идей никаких) Тут лучше на форумах Корбины сначала поискать, а потом задать вопрос.
Как я слышал, именно с Корбиной есть определенные косяки.
> Возникла проблема с подключением через wi-fi: сеть видит,
> подключается, в состоянии обмен пакетами, но в инет не выходит.
Т.е. внутреннюю сеть видит, только по VPN в инет не выходит? А если по кабелю комп подключать все работает как надо?
Да, по кабелю все ок. Настройки в ноуте беспроводной сети проверила - все тоже ок. Мистика)))
у меня wrt54gs v6 поставил прошивку dd-wrt 24 и начались проблемы , не раздает айти ,слетел мак адрес, вернул 23 , мак адрес при установке pptp сбрасывает в 000000000.
Кто решал подобные проблемы
Здравствуйте. у меня такая веселая штука.Все работало путем, пока мне не надоело забивать каждый раз при включении VPN.знакомый настроил роутер, все работало целый вечер с очень приличной для нашего провайдера скоростью. на следующий день соединения нет.у меня ноут, Vista, wi-fi.роутер видит, посылы есть, ответы есть.провайдер мой роутер видит: "он посылает две пачки запросов и отрубается" честно говоря, не имею понятия даже как подключить роутер к компу, чтоб настроить.можете чем-то помочь?если скажете, как влезть в его настройки, то скажу и про прошивку и т.п.
> можете чем-то помочь?
Едва ли =)
Лучше друга опять позвать. Настраивать роутер без знаний, а лишь с консультациями по сети, — дело нетривиальное.
Знаний можно набраться в документации: http://www.dd-wrt.com/wiki/index.php/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F_DD-WRT_(RU)
спасибо.
Здравствуйте.
Столкнулся с такой проблемой, настройки выполнены корректно, vpn туннель поднимается на 15 сек. и обрыв. Подскажите в чём может быть проблема?
Jan 1 00:47:30 WRT54GL user.emerg kernel: ip_conntrack_pptp version 1.9 unloaded
Jan 1 00:47:30 WRT54GL user.info syslog: vpn modules : vpn modules successfully unloaded
Jan 1 00:47:30 WRT54GL user.info syslog: vpn modules : ip_conntrack_proto_gre successfully loaded
Jan 1 00:47:30 WRT54GL user.info syslog: vpn modules : ip_nat_proto_gre successfully loaded
Jan 1 00:47:30 WRT54GL user.emerg kernel: ip_conntrack_pptp version 1.9 loaded
Jan 1 00:47:30 WRT54GL user.info syslog: vpn modules : ip_conntrack_pptp successfully loaded
Jan 1 00:47:30 WRT54GL user.emerg kernel: ip_nat_pptp version 1.5 loaded
Jan 1 00:47:30 WRT54GL user.info syslog: vpn modules : ip_nat_pptp successfully loaded
Jan 1 00:47:38 WRT54GL daemon.notice pppd[7975]: pppd 2.4.4 started by root, uid 0
Jan 1 00:48:30 WRT54GL daemon.info pppd[7975]: Exit.
Боюсь не смогу помочь, т.к. не имею опыта отладки pppd. В вашем логе вижу только успешный starter и через минуту Exit. Раньше у меня pppd запускался и работал стабильно, но было это давно, сейчас живу без vpn.