PDA

Bekijk de volledige versie : Установка и настройка Quagga на роутере



mymp
06-08-2006, 14:17
Всем добрый день.
Подскажите, возможна ли динамика на данной железке? В родной прошивке она не заявлена и наверное не будет. Это большой минус.
Если бы туда добавить RIP v2 - было бы супер! Хотя бы RIP v1.
И планирует ли Oleg её добавить?
Если я правильно понимаю, то внутри некое подобие линукса?
Можно ли отдельно поставить какое-нибудь дополнительное ПО, чтобы реализовать данную фичу.
Вчера вот преобрёл сей девайс, перепрошил прошивкой WL500gp-1.9.2.7-7f-pre4.trx. Спасибо Oleg'у за труд. Пока работает нормально, но уже заметны небольшие баги. Подскажите куда постить репорты? Куча тем...
Спасибо.

Garm
21-04-2007, 20:59
А то провайдер маршрутизацию через RIP раздавать начал.

pLuto
26-04-2007, 13:53
Подскажите - может, кто пользуется quagga/bgp на прошивке Олега в wl-500gP?
Не, я не сумасшедший, я понимаю, что тут о fullview даже думать нельзя, но пару-тройку десятков префиксов, кажется мне, оно вполне прожует.
Если кто ставил - поделитесь, как прикручивали, были ли подводные камни и т.д. За пошаговую инструкцию буду благода (ибо не линуксоид ни разу, а совсем даже куклачев :)

PS. Опять же, я в курсе, что она прикручивается к openwrt, но openwrt мне существенно меньше нравится.

PPS. Рут вынесен на внешнюю флешку, поэтому нехватки дискового пространства не будет.

pLuto
26-04-2007, 16:09
Тормоз я. Как обычно, стоит задать вопрос - сразу у самого разобраться получается.
Поставилась стандартно через ipkg, взлетела и нормально полетела.

Явно наступил на какие-то тривиальные грабли.
Добавил вызов
zebra -d
bgpd -d
в /usr/local/sbin/post-boot (пробовал и в post-mount).
После перезагрузки - не запускаются, по ps в памяти нет. Но если вручную запустить post-boot - запускаются и работают.
Какое волшебное слово я мог им не сказать?

Диалог сам с собой продолжается :)
После добавления в post-boot вместо отдельных демонов вызова скрипта
/opt/etc/init.d/S50quagga start
все заработало.
Правда, в промежутке пронаблюдал потерю флэшки - рутер упорно ее не видел и грузился изнутре. Спас только передерг питания.

al37919
26-04-2007, 20:51
вообще, в post-boot должно быть /opt/etc/init.d/rc.unslung А вот он как раз запускает все скрипты из /opt/etc/init.d которые начинаются на S

kulibin
14-05-2007, 13:11
Вопрос с Rip актуален...
Если нет возможности прикрутить Rip к Wl500gp - то посоветуйте плиз железку, способную осуществлять данный вид маршрутизации (комп с Линухом и Циску не предлагать :))
ЗЫ: Также понадобится Pptp
ЗЗЫ: Что-то странное с кодировкой на форуме ?

kulibin
06-07-2007, 08:15
Нужна реализация сабжа на Wl-500gP. Статическая маршрутизация отошла в прошлое...

Если не судьба сделать это на WL-500GP, подскажите - есть ли железка, способная роутить с помощью RIP? Wi_Fi не обязателен...

TapakaH
06-07-2007, 10:00
Больно многого хотите от железки за 100 баков :) .
Возможно, для DD-WRT (http://dd-wrt.com) есть нужный Вам пакет.

Попробуйте погуглить, может найдете себе железку подходящую. Только она будет уже не за 100... ;)

e226329
06-07-2007, 15:02
На десктопных линуксах по-моему этим занимается демон routed

routed - network routing daemon. Uses RIP protocol to update routing table

Возможно кто-то уже и скомпилировал его под наши железки ... я сам пока компилировать не научился :)
Так же стоит присмотрется к вот этому пакету из репозитория http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/


quagga - 0.99.4-2 - The quagga routing suite, including ospf, rip, and bgp (ospf6d and ripngd are included if library has IPv6 support).

PS если говорить о других прошивках то http://openwrt.org/ по-моему более продвинутая чем упомянутая DD-WRT

v12aml
07-07-2007, 13:06
quagga - один из лучших демонов для этих целей, так что ставить лучше его

Lt_Flash
20-08-2007, 15:47
собственно...собрал я прошивку с кваггой в режиме рип-слушателя. запускается и работает нормально, пока в "ручном" режиме, все роуты появляются (а у нас их много - порядка 300). выложить пока немного не готов, надо понять, куда класть по дефолту файлы конфигов, плюс немного не понял, почему появляется статическая хост-запись до дефолтного гейта. эта запись ессно сбивает кваггу с толку - и полученные записи рипом становятся неактивными. как только поправлю это и пойму, куда положить конфиг - выложу прошивку. или, если кто-то может в этом помочь - могу выложить прямо сейчас...

ЗЫ. Да, прошивка сделана на базе прошивки Олега 1.9.2.7-7g, включил только Кваггу в дерево компиляции, остальное все без изменений. Настройки квагги - руками, веб-ифейс писать не собирался пока что.

Lt_Flash
21-08-2007, 15:01
В общем доделал прошивку, вернее, настройку. Просто создал файлы /etc/zebra.conf и /etc/ripd.conf соответствующие моему конфигу и сохранил их, в пост-бут скрипт добавил удаление "лишнего" хост-маршрута до дефолтного гейта, запуск зебры и рипд, добавление правила в иптаблес для приема рип-маршрутов только от моего сервера - и все работает отлично и после ребута. Привожу свои конфиги:

/etc/zebra.conf
---------------CUT-------------------
hostname test
password <password>
enable password <password>
!
interface vlan1
--------------CUT---------------------

/etc/ripd.conf

--------------CUT---------------------
hostname test
password <password>
router rip
network vlan1
passive-interface default
passive-interface vlan1
version 2
default-metric 9
--------------CUT----------------------

cat /usr/local/sbin/post-boot
#!/bin/sh
/sbin/route del <здесь_ип_дефгейта>
/usr/sbin/zebra -u admin -d
/usr/sbin/ripd -u admin -d
/usr/sbin/iptables -I INPUT 7 -s <источник_РИП_пакетов> -p udp --dport 520 -j ACCEPT
------------------------------------------

<здесь_ип_дефгейта> - в этом месте у меня удаляется хост-роут до дефолтного маршрутизатора, который получается из ДХЦП и сбивает с толку Кваггу, которая не включает маршруты, полученные РИПом, потому что считает их ЗА маршрутизатором.

Прошивка тут http://dive.preferance.ru/WL500gp-1.9.2.7-7gq.trx.tar.gz

Lt_Flash
21-08-2007, 16:48
http://wl500g.info/showthread.php?t=9871&highlight=RIP

visual
24-08-2007, 07:30
В общем доделал прошивку, вернее, настройку. Прошивка тут http://dive.preferance.ru/WL500gp-1.9.2.7-7gq.trx.tar.gzне прошивается эта прошивка.

WL500gp-1.9.2.7-7gq.trx
MD5: 601DEC474A9BDEB0BC8B358954721454

это только у меня ил у всех?

2Oleg: идея с кваггой оцень ценна, рассмотрите pls возможность включения квагги в основную ветку.

Lt_Flash
24-08-2007, 07:57
не прошивается эта прошивка.

WL500gp-1.9.2.7-7gq.trx
MD5: 601DEC474A9BDEB0BC8B358954721454

это только у меня ил у всех?

2Oleg: идея с кваггой оцень ценна, рассмотрите pls возможность включения квагги в основную ветку.
Странно, что не прошивается, но как выяснилось, я зря старался...Делайте проще - ставьте стандартную прошивку 1.9.2.7-7g.trx от Олега, после чего апдейте ipkg и делайте ipkg install quagga. Единственный минус - займет очень много места во встроенном флеше, больше, чем моя прошивка.

Проверял свою прошивку я только на WL500gp, у меня проблемы не возникло...По-моему у Вас она криво скачалась - у меня MD5(WL500gp-1.9.2.7-7gq.trx.tar)= 7025fde76af2d564b03a50c3e794ca24

visual
24-08-2007, 08:20
Проверял свою прошивку я только на WL500gp, у меня проблемы не возникло...По-моему у Вас она криво скачалась - у меня MD5(WL500gp-1.9.2.7-7gq.trx.tar)= 7025fde76af2d564b03a50c3e794ca24так я тоже на WL500gp, в скриншоте это видно. а MD5 я посчитал сразу на .trx файл, который будет вливаться на железку. MD5 не сходится и на .tar файл, перевыкачаю прошивку еще раз, проверю и отпишусь. не думаю что Ваша работа сделана зря, скорее всего проблема с моей стороны.

Lt_Flash
24-08-2007, 08:28
так я тоже на WL500gp, в скриншоте это видно. а MD5 я посчитал сразу на .trx файл, который будет вливаться на железку. MD5 не сходится и на .tar файл, перевыкачаю прошивку еще раз, проверю и отпишусь. не думаю что Ваша работа сделана зря, скорее всего проблема с моей стороны.

Виноват, вот на саму прошивку МД5

[root@dive 1]# openssl md5 WL500gp-1.9.2.7-7gq.trx
MD5(WL500gp-1.9.2.7-7gq.trx)= 79ff368e0aece29d87f6938c1e0ff04a

Lt_Flash
24-08-2007, 09:36
Еще по моей прошивке - надо после настройки сделать команды
echo "/etc/zebra.conf" >> /usr/local/.files
echo "/etc/ripd.conf" >> /usr/local/.files
Иначе конфиги после ребута слетят.

И еще, все же команды настройки фаервола надо сунуть не в post-boot, а в post-firewall, тогда будет правильно работать.

visual
24-08-2007, 11:53
Виноват, вот на саму прошивку МД5
[root@dive 1]# openssl md5 WL500gp-1.9.2.7-7gq.trx
MD5(WL500gp-1.9.2.7-7gq.trx)= 79ff368e0aece29d87f6938c1e0ff04aувы, суммы никак не бьются даже после повторной выкачки.
(WL500gp-1.9.2.7-7gq.trx.tar.gz)=85C6EEE54F39DF469EE41B5871D52D50
(WL500gp-1.9.2.7-7gq.trx)=601DEC474A9BDEB0BC8B358954721454
оно на хостинге точно не битое лежит? кто-нибудь еще может проверить MD5 файла, лежащего на http://dive.preferance.ru/WL500gp-1.9.2.7-7gq.trx.tar.gz

и еще вопрос, в квагге, которая встроена в эту прошивку, bgpd не вырезан? Firmware Modification Kit развернуть негде, посмотреть сам не могу :)

imdex
24-08-2007, 12:50
(WL500gp-1.9.2.7-7gq.trx.tar.gz)=85C6EEE54F39DF469EE41B5871D52D50 - да

(WL500gp-1.9.2.7-7gq.trx)=79ff368e0aece29d87f6938c1e0ff04a

visual
24-08-2007, 14:20
увы, суммы никак не бьются даже после повторной выкачки.
(WL500gp-1.9.2.7-7gq.trx.tar.gz)=85C6EEE54F39DF469EE41B5871D52D50
(WL500gp-1.9.2.7-7gq.trx)=601DEC474A9BDEB0BC8B358954721454
оно на хостинге точно не битое лежит? кто-нибудь еще может проверить MD5 файла, лежащего на http://dive.preferance.ru/WL500gp-1.9.2.7-7gq.trx.tar.gz
заменил портированные gunzip и tar под винду и все распаковалось с правильными MD5. winrar кстати тоже отлично справился, но мне привычнее было родными gunzip и tar.


и еще вопрос, в квагге, которая встроена в эту прошивку, bgpd не вырезан? Firmware Modification Kit развернуть негде, посмотреть сам не могу :)залил эту прошивку, и увы там от квагги только ripd, а хочется и bgpd очень :)
2Lt_Flash: можете сделать сборку без обрезания квагги? через ipkg install quagga пока облом, USB винт будет не раньше чем через месяц.

Lt_Flash
27-08-2007, 09:23
увы, суммы никак не бьются даже после повторной выкачки.
(WL500gp-1.9.2.7-7gq.trx.tar.gz)=85C6EEE54F39DF469EE41B5871D52D50
(WL500gp-1.9.2.7-7gq.trx)=601DEC474A9BDEB0BC8B358954721454
оно на хостинге точно не битое лежит? кто-нибудь еще может проверить MD5 файла, лежащего на http://dive.preferance.ru/WL500gp-1.9.2.7-7gq.trx.tar.gz

и еще вопрос, в квагге, которая встроена в эту прошивку, bgpd не вырезан? Firmware Modification Kit развернуть негде, посмотреть сам не могу :)
Во встроенной квагге есть только рип и зебра, бгп не влезает в прошивку, так бы все вместе скомпилил. Но при сборке вылезает ограничение на размер файла. Его конечно можно попробовать проигнорировать, потому что у wl500gp памяти 8мб, а не 4мб, но я пока так не делал. На днях сделаю и выложу заново прошивки, сегодня-завтра, как только проверю на своем wl500gp что все безболезненно заливается.

По поводу несовпадения сумм - очень странно, потому что проверял мд5 я прямо на сервере, где лежит сам файл...

Lt_Flash
27-08-2007, 14:59
Проверил прошивку, залив ее в роутер...Все нормально залилось...Где-то у вас проблемы при скачивании. На всякий случай положил еще и незапакованную версию:

http://dive.preferance.ru/WL500gp-1.9.2.7-7gq.trx

Попробуйте так скачать и посмотреть, что получится...Завтра займусь сборкой прошивки с OSPF & BGP4

visual
27-08-2007, 16:35
Проверил прошивку, залив ее в роутер...Все нормально залилось...Где-то у вас проблемы при скачивании.проблемы были не в скачивании, а в тех версия gunzip и tar, которые бесперебойно у меня работали с 95 года. после установки свежих билдов проблема решилась. видимо за последние годы что-то изменилось в форматах .gz и .tar. предлагаю всегда с файликом выкладывать MD5, как это часто принято на никсовых файлопомойках с образами. да и упаковывать можно просто в zip :)

Lt_Flash
27-08-2007, 17:23
проблемы были не в скачивании, а в тех версия gunzip и tar, которые бесперебойно у меня работали с 95 года. после установки свежих билдов проблема решилась. видимо за последние годы что-то изменилось в форматах .gz и .tar. предлагаю всегда с файликом выкладывать MD5, как это часто принято на никсовых файлопомойках с образами. да и упаковывать можно просто в zip :)

В zip в линуксе непривычно и неудобно :)

Прошивка-то встала? Настроилось все как надо? Я выше приводил конфиги зебры и рипд, ну и надо настройку сделать фаервола...

visual
27-08-2007, 20:22
В zip в линуксе непривычно и неудобно :)
Прошивка-то встала? Настроилось все как надо? Я выше приводил конфиги зебры и рипд, ну и надо настройку сделать фаервола...
прошивка встала, но рип ко мне не приходит. есть вариант забрать от испа bgp сессию с маршрутами во внутренние сети, а дефолт оставить от VPN сессии. сейчас внутренние сети вбиты статикой в post-firewall, что не есть практично.

Lt_Flash
28-08-2007, 08:31
прошивка встала, но рип ко мне не приходит. есть вариант забрать от испа bgp сессию с маршрутами во внутренние сети, а дефолт оставить от VPN сессии. сейчас внутренние сети вбиты статикой в post-firewall, что не есть практично.

Ладно, сейчас попробую сделать прошивку с полным функционалом и только под wl500gp.

А почему ты просто не поставишь кваггу в обычную прошивку от Олега? Там же есть и бгп и оспф и все что можно.

visual
28-08-2007, 08:46
А почему ты просто не поставишь кваггу в обычную прошивку от Олега? Там же есть и бгп и оспф и все что можно.оно ведь не поставится без внешнего накопителя. внешний HDD USB или выделенную флешку для wl-500g куплю не раньше следующей зарплаты :)

Lt_Flash
28-08-2007, 09:05
оно ведь не поставится без внешнего накопителя. внешний HDD USB или выделенную флешку для wl-500g куплю не раньше следующей зарплаты :)

Приплыли :) Оно поставится во внутренний флеш и все :) Без проблем ставится, правда, почти весь флеш и займет.

Ладно, собрал прошивку с полной кваггой, у меня на GP прошилось без проблем. ВНИМАНИЕ ТЕМ, У КОГО НЕ WL500GP - НЕ ПРОБУЙТЕ ЕЕ ЗАЛИВАТЬ, ОНА БОЛЬШЕ 4МБ ФЛЕША ТРЕБУЕТ!

[root@dive www]# openssl md5 WL500gp-1.9.2.7-7gq-full_quagga.trx
MD5(WL500gp-1.9.2.7-7gq-full_quagga.trx)= 4ec5c2bbf2f3b13986c84a84a6d16878

Вот линк http://dive.preferance.ru/WL500gp-1.9.2.7-7gq-full_quagga.trx

Все же из плюсов ИМХО то, что во флеш не поставится куча пакетов ipkg и обвесок квагги типа readline и так далее. Пробуйте, как будет готово - отпишетесь...

visual
31-08-2007, 16:12
Пробуйте, как будет готово - отпишетесь...только сегодня вечером добрался до домашнего компа :)
BGP поднялось сразу и без всяких проблем. отличная работа! выражаю Вам Lt_Flash свою огромную благодарность. теперь можно забыть про статику навсегда :)

Lt_Flash
31-08-2007, 16:30
только сегодня вечером добрался до домашнего компа :)
BGP поднялось сразу и без всяких проблем. отличная работа! выражаю Вам Lt_Flash свою огромную благодарность. теперь можно забыть про статику навсегда :)

Рад, что смог помочь :) Удачи!

visual
31-08-2007, 16:43
Рад, что смог помочь :) Удачи!

вот заготовочка, если кто-то будет настраивать еще.

echo "hostname home" >> /etc/zebra.conf
echo "password admin" >> /etc/zebra.conf
echo "enable password admin" >> /etc/zebra.conf
echo "!" >> /etc/zebra.conf
echo "interface vlan1" >> /etc/zebra.conf

echo "hostname home" >> /etc/bgpd.conf
echo "password admin" >> /etc/bgpd.conf
echo "router bgp <own_as_number>" >> /etc/bgpd.conf
echo "neighbor <default_gateway_ip> remote-as <isp_as_number>" >> /etc/bgpd.conf

echo "/etc/zebra.conf" > /usr/local/.files
echo "/etc/bgpd.conf" >> /usr/local/.files

mkdir /usr/local/sbin
echo "#!/bin/sh" >> /usr/local/sbin/post-firewall
echo "/usr/sbin/iptables -I INPUT 7 -s <default_gateway_ip> -p tcp --dport 179 -j ACCEPT" >> /usr/local/sbin/post-firewall

echo "#!/bin/sh" >> /usr/local/sbin/post-boot
echo "/usr/sbin/zebra -u admin -d" >> /usr/local/sbin/post-boot
echo "/usr/sbin/bgpd -u admin -d" >> /usr/local/sbin/post-boot

chmod +x /usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-firewall

flashfs save && flashfs commit && flashfs enable

P.S. а можно попросить выложить дифы этой сборки на посмотреть, как это сделано у Oleg-а?

Lt_Flash
31-08-2007, 16:51
вот заготовочка, если кто-то будет настраивать еще.

echo "hostname home" >> /etc/zebra.conf
echo "password admin" >> /etc/zebra.conf
echo "enable password admin" >> /etc/zebra.conf
echo "!" >> /etc/zebra.conf
echo "interface vlan1" >> /etc/zebra.conf

echo "hostname home" >> /etc/bgpd.conf
echo "password admin" >> /etc/bgpd.conf
echo "router bgp <own_as_number>" >> /etc/bgpd.conf
echo "neighbor <default_gateway_ip> remote-as <isp_as_number>" >> /etc/bgpd.conf

echo "/etc/zebra.conf" > /usr/local/.files
echo "/etc/bgpd.conf" >> /usr/local/.files

mkdir /usr/local/sbin
echo "#!/bin/sh" >> /usr/local/sbin/post-firewall
echo "/usr/sbin/iptables -I INPUT 7 -s <default_gateway_ip> -p tcp --dport 179 -j ACCEPT" >> /usr/local/sbin/post-firewall

echo "#!/bin/sh" >> /usr/local/sbin/post-boot
echo "/usr/sbin/zebra -u admin -d" >> /usr/local/sbin/post-boot
echo "/usr/sbin/bgpd -u admin -d" >> /usr/local/sbin/post-boot

chmod +x /usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-firewall

flashfs save && flashfs commit && flashfs enable

P.S. а можно попросить выложить дифы этой сборки на посмотреть, как это сделано у Oleg-а?

Я попозже выложу полный патч до 7gq, упакую только.

По поводу БГП - предложил бы еще вот такие команды:

neighbor <REMOTE_IP> remote-as <AS>
neighbor <REMOTE_IP> ebgp-multihop
neighbor <REMOTE_IP> next-hop-self
neighbor <REMOTE_IP> distribute-list list_out out
neighbor <REMOTE_IP> distribute-list list_in in
!
access-list list_out permit <КАКИЕ_СЕТИ_РАЗРЕШАТЬ К ОТДАЧЕ, НАПРИМЕР 10.0.0.0/8>
access-list list_out deny any

access-list list_in permit <КАКИЕ_СЕТИ_РАЗРЕШАТЬ К ПРИЕМУ, НАПРИМЕР 10.0.0.0/8>
access-list list_in deny any

Ну, аксесс-листы в общем-то наврядли понадобятся кому-то из обычных пользователей, но опции БГП которые выше - было бы неплохо.

Lt_Flash
31-08-2007, 17:08
Собственно, исходники для сборки. Вся сборка полностью аналогична Олеговской.

[root@dive html]# openssl md5 wl500g-1.9.2.7-7gq.full_quagga.tar.bz2
MD5(wl500g-1.9.2.7-7gq.full_quagga.tar.bz2)= d6f6112294b8e2e8a2b68daff528d5ec

http://dive.preferance.ru/wl500g-1.9.2.7-7gq.full_quagga.tar.bz2

visual
31-08-2007, 17:19
Я попозже выложу полный патч до 7gq, упакую только.спасибо, буду ждать :)


По поводу БГП - предложил бы еще вот такие команды:
neighbor <REMOTE_IP> remote-as <AS>
neighbor <REMOTE_IP> ebgp-multihop
neighbor <REMOTE_IP> next-hop-self
neighbor <REMOTE_IP> distribute-list list_out out
neighbor <REMOTE_IP> distribute-list list_in in
первая в моей заготовке есть, иначе как бы я получил маршруты от isp-а.
вторая и третья не актуальны, т.к. BGP сессия у меня с дефолтом, т.е. по пути от меня до маршрутизатора с BGP никого нет.
ну и последние две тоже не нужны, т.к. мне нужно было получать весь список сетей (это не фулвью, а внутренние маршруты), а сам я ничего не анонсирую.

т.е. моя заготовка чисто клиентская :)

visual
31-08-2007, 17:21
Собственно, исходники для сборки. Вся сборка полностью аналогична Олеговской.very thnx! :)

Lt_Flash
31-08-2007, 17:42
Пожалуйста, рад был помочь. И очень рад, что кому-то пригодилось. Да, мои команды для БГП - это серверный вариант. Просто мало ли - кому тоже понадобится. Варианта Визуала вполне хватит для клиентов.

По поводу некоей кривизны установки квагги. Дело в том, что на момент компиляции квагга не делает бинарники, а создает только заготовки. Именно поэтому у меня в мейк-скрипте сделана сначала установка квагги, потом копирование чего надо куда надо, а потом удаление квагги. Поэтому нежелательно иметь установленную кваггу на компьютере сборки, а то получится так, что удалите ее с этого компа. Можно было конечно попробовать ставить кваггу не в /usr/sbin, а куда-нить во временное место, но мне не хочется экспериментировать с поведением бинарников, перенесенных в другое место. В общем - не ругайтесь сильно, главное, не настолько я профи, как Олег :)

renskiy
30-10-2007, 17:17
Я из Томска, у нас весь городской трафик бесплатный, во "внешку" выхожу через PPTP. Проблема только в том, что городские сети постоянно меняются (добавляются, объединяются и пр.). В общем нужно написать скрипт, который запускался бы, скажем раз в день, и который бы автоматически записывал все изменения в маршрутах так, чтобы городской трафик не шел через VPN.

Последнюю версию сетей города томска в текстовом виде обычно можно взять например с http://tomsknet.ru/nets ( http://tomsknet.ru/netsplain?help=1 )

ЗЫ: в Linux я новичок, поэтому прошу помощи в реализации этой идеи

Ilmarinen
30-10-2007, 19:27
Я из Томска, у нас весь городской трафик бесплатный, во "внешку" выхожу через PPTP. Проблема только в том, что городские сети постоянно меняются (добавляются, объединяются и пр.). В общем нужно написать скрипт, который запускался бы, скажем раз в день, и который бы автоматически записывал все изменения в маршрутах так, чтобы городской трафик не шел через VPN.

Последнюю версию сетей города томска в текстовом виде обычно можно взять например с http://tomsknet.ru/nets ( http://tomsknet.ru/netsplain?help=1 )

ЗЫ: в Linux я новичок, поэтому прошу помощи в реализации этой идеи
Ставим cron и wget.
В крон добавляем ежедневное (ни или там как часто нужно) выполнение скрипта примерно такого


# Очищаем таблицу маршрутов
for i in `ip route show scope global|sed '/default.*/d;s/ /:/g'`; do
ip route del `echo $i|tr : " "`
done
GATEWAY='шлюз-через-который-должны-быть-доступны-томские-сети'
# Заполняем таблицу маршрутов
for i in `wget 'http://www.tomsknet.ru/netsplain?nohd=1&pattern=~base~/~preflen~\n' -q -O -`; do
ip route add $i via $GATEWAY
done

Как-то так. В скрипте конечно не предусмотрена защита от сбоев, но это уже так сказать бантики которые можно навешивать по желанию. Можно еще с помощью diff вносить только изменения, придумать как делать агрегирование....
В общем эдакие костыли вместо использования протоколов динамической маршрутизации.

renskiy
31-10-2007, 05:37
Ставим cron и wget.

С этим у меня проблемы, если можно ссылочку на пошаговую инструкцию.



# Очищаем таблицу маршрутов
for i in `ip route show scope global|sed '/default.*/d;s/ /:/g'`; do
ip route del `echo $i|tr : " "`
done

а почему нельзя написать так:


for i in `ip route show scope global|sed '/default.*/d`; do
ip route del `echo $i`

?

Mam(O)n
31-10-2007, 09:19
а почему нельзя написать так

Потамушта пробел является разделителем записей в for.

Mam(O)n
31-10-2007, 09:40
В общем значит так, wget и cron можно заюзать, которые в прошивке есть. Крон конечно другой реализации (Matthew Dillon а не Vixie как во многих туториалах) но это ему не мешает выполнять основные задачи, возложенные на него.

Значится скриптик, который маршруты обновляет, допустим назовём его route_update и положим в /usr/local/sbin (если такой директории нет, то нужно создать). Незабываем про то, что если в виндовсе ведём набор скрипта, то при переносе на *nix машины нужно перекодировать окончание строки. Также незабываем про права на исполнение (chmod +x /usr/local/sbin/route_update).

Далее нужно записать пару строк в файл инициализации /usr/local/sbin/post-boot:


#!/bin/sh
mkdir -p /var/spool/cron/crontabs
/usr/sbin/crond
#Прописываем запуск скрипта в 12:01 ежедневно
echo "1 12 * * * /usr/local/sbin/route_update" | /usr/bin/crontab -

Ну и незабываем про права и в конце всех редактирований перед перезагрузкой закоммитить наши дейтсвия на флеш: flashfs save && flashfs commit && flashfs enable

renskiy
31-10-2007, 13:07
Спасибо за помощь, все заработало :)

pLuto
17-12-2007, 04:43
Хочу настроить pptp-туннель. Вроде все по статье "Настройка с нуля" настроил, с минимальными изменениями.
В файле /tmp/etc/ppp/pptp следующее:

pty "/usr/sbin/pptp <IP vpnc>--nolaunchpppd"
name <login>
password <password>
remotename PPTP
ipparam pptp
defaultroute
crtscts
lock
noipdefault
noauth
nobsdcomp
nodeflate
persist
maxfail 0
asyncmap 0
mtu 1400
refuse-eap
nomppc
nomppe-stateful
ipcp-accept-local
ipcp-accept-remote
lcp-echo-failure 3
lcp-echo-interval 10

Содержимое ip-up:


route delete default dev vlan1
route add default dev $1
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 --out-interface $1 -j SNAT --to-source $4

При запуске pppd file /tmp/etc/ppp/pptp сессия поднимается, но ifconfig ppp0 показывает, что local-адрес - 192.168.1.1 :( Соответственно, ничего не работает.

Вопрос номер 2 - что ip-up не может манипулировать маршрутами, и команды route delete и route add не отрабатывают, но это не страшно и лечится простым floating static (реально лечится и правильный маршрут всплывает).

Поэтому проблема именно в том, что рутер не берет адрес, отдаваемый ему по ipcp. Вроде бы при наличии команды ipcp-accept-local рутер должен принимать адрес от сервера, но команда есть, а адрес не принимает :(((

Может, я что-то не так понимаю или не так делаю?

PS. Забыл указать - WL500gp, прошивка 1.9.2.7-8.4

ABATAPA
17-12-2007, 09:19
Соответственно, ничего не работает.


Как только что-то "не работает" - включайте отладку (опция "debug" для начала).

pLuto
17-12-2007, 10:25
Как только что-то "не работает" - включайте отладку (опция "debug" для начала).
Естественно, запускал и как pppd nodetach debug file <...>
Там визуальных ошибок нет. Сессия устанавливается.


pppd nodetach debug file /opt/etc/ppp/peers/pptp
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x3e091a08> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <auth chap MD5> <magic 0x4dcef8d2>]
sent [LCP ConfAck id=0x1 <auth chap MD5> <magic 0x4dcef8d2>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x3e091a08> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x3e091a08]
rcvd [CHAP Challenge id=0x1 <d6d7d48f1aa0caa17b5eeb83d56cb6fb>, name = "vpnc"]
sent [CHAP Response id=0x1 <6077495376123c0aa27e5e43c0ad047f>, name = "<login>" ]
rcvd [LCP EchoRep id=0x0 magic=0x4dcef8d2]
rcvd [CHAP Success id=0x1 ""]
CHAP authentication succeeded
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.1.1>]
rcvd [IPCP ConfReq id=0x1 <addr 217.18.130.130>]
sent [IPCP ConfAck id=0x1 <addr 217.18.130.130>]
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x2 <addr 192.168.1.1>]
rcvd [IPCP ConfAck id=0x2 <addr 192.168.1.1>]
not replacing existing default route to vlan1 [0.0.0.0]
local IP address 192.168.1.1
remote IP address 217.18.130.130
Script /tmp/ppp/ip-up started (pid 184)
Script /tmp/ppp/ip-up finished (pid 184), status = 0x0
<тут, соответственно, был нажат Ctrl-C>
Terminating on signal 2.
Script /tmp/ppp/ip-down started (pid 194)
sent [LCP TermReq id=0x2 "User request"]
Child process /tmp/ppp/ip-down (pid 194) terminated with signal 11
Child process /usr/sbin/pptp 217.18.130.130 --nolaunchpppd (pid 179) terminated with signal 2
Modem hangup
Connection terminated.
Connect time 0.4 minutes.
Sent 25668956 bytes, received 30 bytes.
Connect time 0.4 minutes.
Sent 25668956 bytes, received 30 bytes.

Судя по этому логу, рутер сам запрашивает у сервера использование адреса 192.168.1.1. Или я его неправильно понимаю?

Счетчики Sent тоже вызывают некоторое недоумение, но бог с ним, пока это не интересно.

ABATAPA
17-12-2007, 11:19
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.1.1>]
rcvd [IPCP ConfReq id=0x1 <addr 217.18.130.130>]
sent [IPCP ConfAck id=0x1 <addr 217.18.130.130>]

Тут он запросил IP (т.к. noipdefault, см. ниже), с ним не согласились, и удаленный сервер присвоил адрес соединению. При этом, Ваша сторона еще и компрессию предлагала...


noipdefault
Disables the default behaviour when no local IP address is specified, which
is to determine (if possible) the local IP address from the hostname. With
this option, the peer will have to supply the local IP address during IPCP
negotiation (unless it specified explicitly on the command line or in an
options file).




rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]

которую отвергли.



not replacing existing default route to vlan1 [0.0.0.0]

Странно, т.к. при настройке PPtP-соединения через Web-интерфейс мы имеем два маршрута по-умолчанию с разной метрикой:


Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 xx.xx.xx.206 0.0.0.0 UG 0 0 0 ppp0
0.0.0.0 xx.xx.xx..225 0.0.0.0 UG 1 0 0 vlan1




local IP address 192.168.1.1
remote IP address 217.18.130.130

Адреса назначены успешно.



Судя по этому логу, рутер сам запрашивает у сервера использование адреса 192.168.1.1. Или я его неправильно понимаю?

См. выше.



Счетчики Sent тоже вызывают некоторое недоумение, но бог с ним, пока это не интересно.

Что говорит
pppd --version

Oleg
17-12-2007, 11:40
Счётчики как раз никакого удивления не вызывают. :) Это самое обычное поведение ppp+pptp, когда внешний адрес сервера совпадает с "внутренним". Пакеты, отправляемые pptp начинают заворачиваться в тот же туннель.

Чтобы этого не было нужно либо удалить маршрут к 217.18.130.130 через ppp, который поднимается, либо добавить маршрут к нему через правильный интерфейс. А лучше сделать и то и другое.

pLuto
17-12-2007, 12:03
local IP address 192.168.1.1
remote IP address 217.18.130.130

Адреса назначены успешно.

Провайдер не может же мне предлагать адрес 192.168.1.1. Или я неправильно понимаю логику наименований local и remote, и на мой конец туннеля провайдер присвоил такой же IP-адрес, как и на свой? Тогда не понимаю, почему, и как это должно работать.


Странно, т.к. при настройке PPtP-соединения через Web-интерфейс мы имеем два маршрута по-умолчанию с разной метрикой
Возможно это связано с тем, что у меня сейчас немного более хитрая схема маршрутизации. В настройках WAN-интерфейса у меня не прописано значение GW, поскольку с ним у меня не дружит квагга (я тут уже как-то жаловался на ее высокоинтеллектуальность).
Поэтому по route -n в виде дефолта выводится
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 vlan1
Я бы хотел, чтобы этой строки не было вообще, но добиться этого не могу.
Мне не нужен дефолт, пока не поднят туннель, потому что все местные сети я получаю и имплементирую в таблицу маршрутизации по BGP.


Что говорит pppd --version
pppd version 2.4.2

Могу еще что-нибудь посмотреть и показать, тока скажите что.
В линуксе я чайник, увы, была бы это циска... :)

ABATAPA
17-12-2007, 15:48
Мне не нужен дефолт, пока не поднят туннель, потому что все местные сети я получаю и имплементирую в таблицу маршрутизации по BGP.

Quagga и BGP у клиента!? Оригинально...
Вы уверены, что Ваш роутер "потянет"? Сколько там маршрутов? Не более пары десятков?



Могу еще что-нибудь посмотреть и показать, тока скажите что.
В линуксе я чайник, увы, была бы это циска... :)
Полную таблицу маршрутов и манипуляций с ними.
В целом и общем, чуть выше Олег Вам ответил про маршруты.

pLuto
17-12-2007, 16:55
Quagga и BGP у клиента!? Оригинально...
Вы уверены, что Ваш роутер "потянет"? Сколько там маршрутов? Не более пары десятков?

Роутер уже тянет. Не фуллвью же. 216 префиксов сейчас - наша городская сеть. Я бы с удовольствием по какому-либо igp получал, но провайдер не отдает.
На 300 префиксов залочено, поэтому даже если кто-то фуллвью сдуру выльет - роутеру не поплохеет.


Полную таблицу маршрутов и манипуляций с ними.
В целом и общем, чуть выше Олег Вам ответил про маршруты.
Полную? Ну мне не жалко, конечно. Только размер у нее крупноват для форума - в ней же те самые 216 префиксов. Так что положил ее в текстовый файл - route.txt (http://pluto.net.ru/bgp/route.txt). Там же лежит bgpd.conf (http://pluto.net.ru/bgp/bgpd.conf.txt).

Проблема, как я ее понимаю, таки не с маршрутами. Может быть, она возникнет с маршрутами в дальнейшем, но сейчас еще не она. В нормальной ситуации провайдер выдает белый адрес из сети 213.210.x.x. Я не вижу, чтобы после подключения у меня хоть где-нибудь появился адрес из этой сети. Вместо этого как local IP появляется адрес 192.168.1.1, который провайдер гарантированно не выдает. Это либо косяк pppd, либо косяк моих настроек.
Или я что-то идеологически неправильно понимаю?

ABATAPA
18-12-2007, 11:29
В нормальной ситуации провайдер выдает белый адрес из сети 213.210.x.x. Я не вижу, чтобы после подключения у меня хоть где-нибудь появился адрес из этой сети.

А что говорит ifconfig?
Вообще, на Вашем месте я попробовал бы без Quagga/bgpd, прописал бы руками маршрут на PPtP-сервер, поднял бы PPtP-сессию, посмотрел бы.

pLuto
18-12-2007, 14:55
По Вашему совету попробовал вынести кваггу из памяти, для чистоты эксперимента, так сказать.
Результатов не дало.
После подключения в выводе ps появляются
186 pluto 688 S pppd file /opt/etc/ppp/peers/pptp
245 pluto 468 S sh -c /usr/sbin/pptp 217.18.130.130 --nolaunchpppd
246 pluto 424 R pptp: GRE-to-PPP gateway on /dev/ptmx
249 pluto 428 S pptp: call manager for 217.18.130.130
(запускать с дебагом пробовал, отличий от процитированного в предыдущих сообщениях не увидел).
Вывод ifconfig ppp0 при этом выглядит так:


ppp0 Link encap:Point-Point Protocol
inet addr:192.168.1.1 P-t-P:217.18.130.130 Mask:255.255.255.255
UP POINTOPOINT RUNNING MULTICAST MTU:1400 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:48149 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:30 (30.0 B) TX bytes:17309808 (16.5 MiB)

Вывод route -n


Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 255.255.255.255 UH 0 0 0 vlan1
212.73.125.217 78.140.6.1 255.255.255.255 UGH 3 0 0 vlan1
217.18.130.130 78.140.6.1 255.255.255.255 UGH 2 0 0 vlan1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
78.140.6.0 0.0.0.0 255.255.255.0 U 0 0 0 vlan1
217.18.130.0 78.140.6.1 255.255.255.0 UG 2 0 0 vlan1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 vlan1

Вывод route -n после выполнения команды route add default dev ppp0


Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 255.255.255.255 UH 0 0 0 vlan1
212.73.125.217 78.140.6.1 255.255.255.255 UGH 3 0 0 vlan1
217.18.130.130 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
217.18.130.130 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
217.18.130.130 78.140.6.1 255.255.255.255 UGH 2 0 0 vlan1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
78.140.6.0 0.0.0.0 255.255.255.0 U 0 0 0 vlan1
217.18.130.0 78.140.6.1 255.255.255.0 UG 2 0 0 vlan1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
0.0.0.0 217.18.130.130 0.0.0.0 UG 0 0 0 ppp0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 vlan1


Ничего особенно хорошего не появилось, к сожалению.

pLuto
18-12-2007, 15:26
Сейчас попробовал вообще зачистить все настройки IP и поднять PPTP через веб-интерфейс.
Т.е. выбрал тип подключения PPTP, прописал IP/mask/gw на WAN-интерфейсе, прописал IP сервера доступа в поле Heart-Beat or PPTP/L2TP (VPN) Server, заполнил username/password в соответствующих полях, в additional pppd options прописал nomppc nomppe-stateful (провайдер не поддерживает компрессию и шифрование). После перезагрузки - туннель поднимается, но опять придумывает себе адреса.
В таблице маршрутизации, соответственно:


Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
212.73.125.217 78.140.6.1 255.255.255.255 UGH 3 0 0 vlan1
10.112.112.112 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
217.18.130.130 78.140.6.1 255.255.255.255 UGH 2 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
78.140.6.0 0.0.0.0 255.255.255.0 U 0 0 0 vlan1
217.18.130.0 78.140.6.1 255.255.255.0 UG 2 0 0 ppp0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
0.0.0.0 78.140.6.1 0.0.0.0 UG 1 0 0 vlan1

А вот в логах рутера обнаружилось прелюбопытнейшее:


Jan 1 06:00:06 pppd[119]: pppd 2.4.2 started by pluto, uid 0
Jan 1 06:00:06 pppd[119]: Using interface ppp0
Jan 1 06:00:06 pppd[119]: local IP address 10.64.64.64
Jan 1 06:00:06 pppd[119]: remote IP address 10.112.112.112
Jan 1 06:00:07 pppd[119]: Starting link
Jan 1 06:00:07 pppd[119]: Serial connection established.
Jan 1 06:00:07 pppd[119]: Connect: ppp0 <--> /dev/pts/0
Jan 1 06:00:38 pppd[119]: LCP: timeout sending Config-Requests
Jan 1 06:00:38 pppd[119]: Connection terminated.
Jan 1 06:01:08 pppd[119]: Starting link
Jan 1 06:01:08 pptp[179]: route_add: not adding existing route
Jan 1 06:01:08 pppd[119]: Serial connection established.
Jan 1 06:01:08 pppd[119]: Connect: ppp0 <--> /dev/pts/2

Не в выделенной жирным ли строке дело? Может быть, проблема в LCP, в какой-то локальной несовместимости его в рутере и у провайдера? Есть ли что покопать в эту сторону, подскажите, плз...

ABATAPA
18-12-2007, 15:47
По Вашему совету попробовал вынести кваггу из памяти, для чистоты эксперимента, так сказать.
Результатов не дало.

Странно. А через web-интерфейс пробовали?
Ну, или так:


cat << EOF > /tmp/ppp-test

noauth refuse-eap
user 'username'
password 'Password'
connect true
pty '/usr/sbin/pptp pptp_server_ip_addr --sync --nobuffer --nolaunchpppd'
lock
mtu 1400
maxfail 0
usepeerdns
persist
ipcp-accept-remote ipcp-accept-local noipdefault
ktune
default-asyncmap nopcomp noaccomp
novj nobsdcomp nodeflate
lcp-echo-interval 10
lcp-echo-failure 6
unit 0
nomppe nomppc sync maxfail 0
debug
kdebug 1
logfile /tmp/LOG
EOF

И далее:
# pppd file /tmp/ppp-test

Какой будет результат?
А если то же, но БЕЗ noipdefault?
И приведите содержимое /tmp/LOG для обеих попыток.

Вообще, странное поведение для провайдера:


sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.1.1>]
rcvd [IPCP ConfReq id=0x1 <addr 217.18.130.130>]
sent [IPCP ConfAck id=0x1 <addr 217.18.130.130>]
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x2 <addr 192.168.1.1>]
rcvd [IPCP ConfAck id=0x2 <addr 192.168.1.1>]

Последняя строчка - провайдер соглашается с предложенным клиентом адресом 192.168.1.1.

Вот нормальный лог (специально сейчас снял на роутере):


sent [LCP ConfReq id=0x1 <magic 0x1bda0739>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0xf04bb926> <pcomp> <accomp>]
sent [LCP ConfRej id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <magic 0x1bda0739>]
rcvd [LCP ConfAck id=0x1 <magic 0x1bda0739>]
rcvd [LCP ConfReq id=0x2 <auth chap MS-v2> <magic 0xf04bb926>]
sent [LCP ConfAck id=0x2 <auth chap MS-v2> <magic 0xf04bb926>]
sent [LCP EchoReq id=0x0 magic=0x1bda0739]
rcvd [LCP ConfAck id=0x1 <magic 0x1bda0739>]
rcvd [LCP EchoReq id=0x0 magic=0xf04bb926]
sent [LCP EchoRep id=0x0 magic=0x1bda0739]
rcvd [CHAP Challenge id=0x44 <07eca5da23d7ea9efe4195b117da6b2e>, name = "servername.domain"]
sent [CHAP Response id=0x44 <1c17be9999ade1006d8f0ac6150cd71700000000000000005f 05b9be50f24fed9b5c680
81f4bb583ccad14e0056e1b6f00>, name = "USERNAME"]
rcvd [LCP EchoRep id=0x0 magic=0xf04bb926]
rcvd [CHAP Success id=0x44 "S=8D0BA99FD9FEBEB4C056DE3108E0AB5B1F572A03"]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>]
sent [CCP ConfReq id=0x1]
sent [CCP ConfRej id=0x1 <deflate 15> <deflate(old#) 15>]
rcvd [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 172.16.0.1>]
sent [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
rcvd [IPCP ConfNak id=0x1 <addr 172.16.210.130> <ms-dns1 172.16.208.1> <ms-dns3 172.16.211.2>]
sent [IPCP ConfReq id=0x2 <addr 172.16.210.130> <ms-dns1 172.16.208.1> <ms-dns3 172.16.211.2>]
rcvd [CCP ConfAck id=0x1]
rcvd [CCP ConfReq id=0x2]
sent [CCP ConfAck id=0x2]
rcvd [IPCP ConfReq id=0x2 <addr 172.16.0.1>]
sent [IPCP ConfAck id=0x2 <addr 172.16.0.1>]
rcvd [IPCP ConfAck id=0x2 <addr 172.16.210.130> <ms-dns1 172.16.208.1> <ms-dns3 172.16.211.2>]
local IP address 172.16.210.130
remote IP address 172.16.0.1
primary DNS address 172.16.208.1
secondary DNS address 172.16.211.2
Script /tmp/ppp/ip-up started (pid 639)
Script /tmp/ppp/ip-up finished (pid 639), status = 0x0
rcvd [CCP ConfReq id=0x2]
sent [CCP ConfReq id=0x2]

Как видите, после согласования asyncmap, magick, и MSCHAP v.2, роутер посылает IPCP-запрос на адрес и DNS, при этом в его запросе все эти адреса - 0.0.0.0, и это - обычная ситуация! Другие адреса нормальные сервера (и мой, в частности) просто не примут. В ответ же сервер назначает нужные адреса, и клиент соглашается. У Вас почему-то не так.

pLuto
18-12-2007, 17:01
Что самое удивительное - с Вашим скриптом всё заработало идеально, и с кваггой, и без нее. Спасибо!

Вопрос номер два - как я понимаю, чтобы все работало нормально, после поднятия туннеля нужно
1) убить маршрут на адрес сервера через интерфейс ppp0
2) создать дефолт через ppp0
3) создать правило для NAT в iptables

Как я понимаю, можно сделать файл /tmp/ip-up следующего содержания


route delete 217.18.130.131 dev $1
route add default dev $1
iptables -t nat -A POSTROUTING -o $1 -j SNAT --to-source $4

сделать на нем chmod +x ip-up и получить удовольствие.

Я нигде не накосячил?

Пока заметил только, что /tmp/ip-up живет до перезагрузки, потом убивается и заменяется симлинком. Его куда-то нужно положить, чтобы он при загрузке копировался в правильное место?

PS. Попробовал. Не срабатывает скрипт :( Видимо, я что-то понимаю не так.

pLuto
18-12-2007, 18:01
Посыпаю голову пеплом - допустил популярнейшую ошибку, забыл в начало скрипта добавить #!/bin/sh

Остался один нерешенный вопрос - как сохранить /tmp/ppp/ip-up и /tmp/ppp/ip-down после перезагрузки. Конечно, можно их в pre-boot копировать, но мне это кажется некрасивым решением, явно же можно сделать это правильнее.

Oleg
18-12-2007, 18:25
ip-up-script
ip-down-script

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

ABATAPA
20-12-2007, 08:09
Что самое удивительное - с Вашим скриптом всё заработало идеально, и с кваггой, и без нее. Спасибо!

Пожалуйста, но если честно, то я так и не понял - почему Вы просто не настроили PPtP через Web-интерфейс? У других все же работает... И никаких потом шаманств не нужно...




Вопрос номер два - как я понимаю, чтобы все работало нормально, после поднятия туннеля нужно


Т.к. уже ответили - молчу. :)

pLuto
23-12-2007, 10:56
Пожалуйста, но если честно, то я так и не понял - почему Вы просто не настроили PPtP через Web-интерфейс? У других все же работает... И никаких потом шаманств не нужно...

Через веб пробовал - не поднималось. У других и настроенный по описанию из темы "инструкция по настройке WL-500g deluxe с нуля" тоже работает, видимо. А у меня - не заработало.
Для эффективной диагностики причин у меня не хватает квалификации, увы.

Spacesoft
03-02-2008, 17:23
Подыму тему.
Подумалось тут недавно: всякие зебры и кваГГи оно конечно хорошо, (при весе в треть прошивки-то) но к чему всё сводится - отсниффить пару десятков пакетов со шлюза, отпарсить, и сделать route add . Это же реализабельно средствами шелла !
тупо делаем:

tcpdump src $GATEWAY and port 520 -i vlan1 -c 17 -s 520 -t -q -nx | grep 0x | cut -c11-49 | tr -d " " | tr -d "\n" > /tmp/bcst.txtПолучаем вот такую кашу:
000200000a000000ff0000000000000000000001000200004d 3201d8fffffff8
0000000000000009000200004d326400ffffff000000000000 00000900020000
4d496f00ffffffc00000000000000009000200004d496f40ff ffffc000000000
00000009000200004df36000fffffc00000000000000000900 0200004df36400
fffffc000000000000000009000200004df36800fffff80000 00000000000009
В этой каше отчётливо идут парами друг за другом сети [4d496f40] и маски [ffffffc0] остаётся их выловить и сделать в цикле
route add -net 0x4d496f40 netmask 0xffffffc0 gw $GATEWAY metric 10
за синхропосылку можно принять fffff (5 букв f) , перед ними 8 букв подсеть.
Просьба к тем, кто в шелловском парсинге/скриптинге понимает - помочь дорелизить идею :)
P.S. K сожалению шестнадцатеричные адреса не понимаются асусовским линуксом, нужно ещё преобразовать адреса в десятичные...

Spacesoft
07-02-2008, 13:16
Знавал я одну ISP - давала и в RIP и в OSPF...
Сделал архивчик с quagga для установки на 'голый' роутер.

1. Положить (обязателаьно) в /tmp
2. tar xzvf qvg.tar.gz
3. flashfs save && flasfs commit && flashfs enable

P.S. в архиве свой post-boot, который монтирует /tmp/local в /opt

Lt_Flash
06-03-2008, 18:48
Собрал 1.9.2.7-8q, поддержка только РИПа встроена, не требует внешних флешек и прочего. Настройка аналогична уже приводимой тут.
http://support.cln.ru/programs/wl500gp/WL500gp-1.9.2.7-8q.trx

Corvin1975
21-04-2008, 12:46
Олег, во-первых, спасибо за вот это все.

Тут вот какая проблема. Являясь пользователем сети СЛН, приобрел (к сожалению) WL-500gP v2, а уже после прочитал форум. Так вот, для v1 в нашей сети существует модифицированнная (нашим суппортом) прошивка на базе твоей 7-8, которая прекрасно работает. Поскольку поддержка v2 появилась только в версии 7-10, пробовал ее, пробовали и спецы из сети. Не работает... Проблемы с впн.

Такая вот просьба - может глупая. Если это не есть сильно сложно - нельзя ли добавить поддержку v2 в прошивку 1.9.2.7-8?

ABATAPA
21-04-2008, 13:32
Такая вот просьба - может глупая. Если это не есть сильно сложно - нельзя ли добавить поддержку v2 в прошивку 1.9.2.7-8?

Простите, что вмешиваюсь в Вашу с Олегом беседу ;), но, может, зайти с другой стороны - узнать, что же не работает и что там "модифицировали", и исправить это в последней прошивке?

Corvin1975
21-04-2008, 13:44
Ув. АВАТАРА. Я, к сожалению, бОльший чайник, чем 99% посетителей форума. Поэтому советовать исправлять последнюю прошивку рука не поднимется. А с ней много проблем, разных (у нас в сети), и не только моя. Мне не нужно (может, конечно, пока ;)) всех наворотов типа фтп и т.д., мне нужен инет на ноутбуке по вайфай, большом брате по кабелю и на айфоне по вайфай. Вот и все.

Старая прошивка работает как часы у сотен пользователей нашей сети. Если бы я не был so dumb и прочитал тему про сравнение v1 и v2, она бы работала и у меня...

ABATAPA
21-04-2008, 14:12
Старая прошивка работает как часы у сотен пользователей нашей сети. Если бы я не был so dumb и прочитал тему про сравнение v1 и v2, она бы работала и у меня...


Знаете, я думаю, там изменений - с гулькин нос. Ничего нового там особо не придумать.
И если Вы озвучите условия подключения, например, "Большого Брата", то это уже будет хорошей отправной точкой.

al37919
21-04-2008, 14:25
Изменения там такие: http://support.cln.ru/wl500gp.html http://wl500g.info/showthread.php?t=9871
В общем, внутрь прошивки всунута quagga

ABATAPA
21-04-2008, 14:41
Изменения там такие: http://support.cln.ru/wl500gp.html http://wl500g.info/showthread.php?t=9871
В общем, внутрь прошивки всунута quagga

Мда, Quagga у каждого пользователя - это что-то.
Хотя, судя по орфографии, можно чего угодно ожидать...

"Вставлять" Quagga в прошивку не обязательно - можно поставить ее в flashfs, соответственно, смонтировав /opt. Она небольшая - менее метра, и "тянет" за собой всего лишь adduser, readline, termcap. Да и нужны там только лишь zebra и ripd.
Конфиг на сайте есть - в файле WL500g.Premium.tar.gz.
А уж про установку на Flash уже все сказано.

Но можно и в прошивку вставить - с помощью Firmware Modification Kit. Правда, пакеты собраны для установки в /opt.

Так что, поверьте мне, сделать изменения, почему-то нужные в вашей сети, намного проще, чем "втягивать" в старые прошивки поддержку V2.
К тому же, всплывут старые проблемы, или захочется бОльшего - и что, снова backport?

Поставили бы все на флэшку - и вообще бы ни от чего не зависили. Хватит и 64M...

Corvin1975
21-04-2008, 14:47
Знаете, я думаю, там изменений - с гулькин нос. Ничего нового там особо не придумать.
И если Вы озвучите условия подключения, например, "Большого Брата", то это уже будет хорошей отправной точкой.

По последней ссылке - форум нашей сети, где я отписывался о своих проблемах. Там же приведен кусок лога - не буду, с вашего позволения, переносить его. Он буквально в самом конце.

Кратко о проблеме: не поднимается впн, ни вручную, ни автоматически. Локалка работает и по вайфай, и по проводу.

Вот сейчас прочитал Ваше сообщение - поверьте, понял меньше половины. Но, полагаю, вы подскажете пошагово, куда плыть...
Моя проблема началась с того, что не смогли "пришить" эту кваггу или как ее там. К 10-й прошивке. Сейчас у меня прошивка 10, flashfs, установленный по рекомендации с сайта (пара сообщений выше моего), и нет впн.

Начало конца - здесь: http://forum.cln.ru/index.php?showtopic=46178&st=175&gopid=543904&#

Oleg
21-04-2008, 15:01
Давайте лог.

Idle Disconnect Time поставьте в 0.

ABATAPA
21-04-2008, 15:09
Сейчас у меня прошивка 10, flashfs, установленный по рекомендации с сайта (пара сообщений выше моего), и нет впн.

Не забывайте, что -10 - "pre", т.е. в данный момент "нестабильная" ветка

Quagga используется для получения маршрутов по RIP на связанные сети.
Я Вам м предложил - поставьте ее, или во flashfs (может не хватить памяти), или на флэшку (как устанавливать /opt и пакеты - описано). Думаю, найти флэшку любого минимального (от 64M) объема вполне реально.
Если хватит настойчивости и желания - "разберите" прошивку, модифицируйте rootfs, добавьте quagga туда (я думаю, что для этого придется что-то "выкинуть"). Можно демоны ненужных протоколов (BGP, и т.д.) "выкинуть".

А "пошагово" за Вас это никто не сделает.
Уж установка пакетов на внешний носитель (флэшку) описана действительно пошагово. Поставите quagga, конфиг замените из выложенного на сайте, и - вперед. Заодно будете иметь много других "вкусностей".

Corvin1975
21-04-2008, 22:25
Олег, спасибо, что ответили. Не помогло. Вот лог, который был изначально:
Apr 21 21:25:21 ntp client: Synchronizing time with time.cln.ru ...
Apr 21 21:25:42 pppd[114]: LCP: timeout sending Config-Requests
Apr 21 21:25:42 pppd[114]: Connection terminated.
Apr 21 21:26:13 pppd[114]: Starting link
Apr 21 21:26:13 pptp[138]: route_add: not adding existing route
Apr 21 21:26:13 pppd[114]: Serial connection established.
Apr 21 21:26:13 pppd[114]: Connect: ppp0 <--> /dev/pts/1
Apr 21 21:26:44 pppd[114]: LCP: timeout sending Config-Requests
Apr 21 21:26:44 pppd[114]: Connection terminated.
Apr 21 21:27:20 pppd[114]: Starting link
Apr 21 21:27:20 pptp[141]: route_add: not adding existing route
Apr 21 21:27:20 pppd[114]: Serial connection established.
Apr 21 21:27:20 pppd[114]: Connect: ppp0 <--> /dev/pts/2
Apr 21 21:27:51 pppd[114]: LCP: timeout sending Config-Requests
Apr 21 21:27:51 pppd[114]: Connection terminated.
Apr 21 21:28:21 pptp[129]: connect: Connection timed out
Apr 21 21:28:21 pptp[129]: Could not open control connection to 10.22.10.34
Apr 21 21:28:21 pptp[121]: Call manager exited with error 256
Apr 21 21:28:24 pppd[114]: Starting link
Apr 21 21:28:24 pptp[145]: route_add: not adding existing route
Apr 21 21:28:24 pppd[114]: Serial connection established.
Apr 21 21:28:24 pppd[114]: Connect: ppp0 <--> /dev/pts/0
Apr 21 21:28:55 pppd[114]: LCP: timeout sending Config-Requests
Apr 21 21:28:55 pppd[114]: Connection terminated.
Apr 21 21:29:22 pptp[139]: connect: Connection timed out
Apr 21 21:29:22 pptp[139]: Could not open control connection to 10.22.10.34
Apr 21 21:29:22 pptp[138]: Call manager exited with error 256

Очень помог товарищ из сети, он хорошо разбирается в вопросе, я также попросил его написать сюда. Что сделали: он написал скрипт для поднятия впн и добавил его в автозагрузку. Также заменили pptp на брата из старой прошивки, так как новый отказывался запускаться. Теперь все работает, но только в положении не PPTP (как рекомендовано), а в положении Automatic IP. Также мой товарищ полагает, что в случае разрыва впн оно не будет восстановлено автоматически.

Моя просьба остается в силе: нельзя ли каким-либо образом внести поддержку v2 в старую прошивку. На ней бессбойно работает мультикаст и оповещения SAP опять же у нас в сети.

2 АВАТАРА: Вы сами с собой разговариваете? Без обид, но у нас разговор слепого с глухим - я Вам говорю, что не могу поднять впн, а Вы мне - про установку софта на флешку и модификацию rootfs. Безусловно, хорошо быть умным, еще лучше, когда есть куда это все применить. Не нужно блистать своими знаниями, я верю, что у Вас их в избытке. Позвольте мне продолжить общение с Олегом.

Spacesoft
21-04-2008, 22:32
В общем 'вести с полей'.
В консоли (ps) замечены 3 (6) процессов, долбящихся к VPN , впнка не переваривает такой наглости и банит клиента нa минуту. Замечал точно такое-же и на 520, но там после сброса всего роутера в дефолт проблема рассосалась сама собой, с 500gpv2 подобное не помогло.
Пошел другим путём - тупо набрал в консоли:
pptp vpn.cln.ru noauth nobsdcomp nodeflate user UzVer password pa55w0rd
строчка при этом подвисла, хотя обычно молча отдавала консоль обратно, при этом поднимая ppp0, заглянул в другую консоль - там висело 2 процесса pptp долбящихся к серверу, na vpn-ke разумеется уже был бан.
Слил со старой 1.9.2.7-8 бинарник pptp, кинул в /usr/local/sbin - с вышеприведенной строкой завелось сходу. На данный момент всё стартует через post-boot.
Подозрения - не стоило имхо делать sync nobuffer по умолчанию...
P.S. с родным /usr/sbin/pptp (с вводом строчки вручную) изредка заводится, но чаще тупит форкаясь, подвисая и вызывая бан...

ABATAPA
22-04-2008, 06:07
2 АВАТАРА: Вы сами с собой разговариваете? Без обид, но у нас разговор слепого с глухим - я Вам говорю, что не могу поднять впн, а Вы мне - про установку софта на флешку и модификацию rootfs.

Я разговаривал с Вами, но, как видно, зря. Я прочитал перед этим инструкцию, ссылку на которую Вы давали. Вы сами сказали, что модификация прошивки, сделанная провайдером, заключалась во внесении в нее Quagga.
Я предложил Вам решения. Вам, видимо, или это не нужно, или нужно не это.



Безусловно, хорошо быть умным, еще лучше, когда есть куда это все применить. Не нужно блистать своими знаниями, я верю, что у Вас их в избытке. Позвольте мне продолжить общение с Олегом.
Мда, безусловно быть умным лучше, чем тупым упертым дураком.
Так что здесь мы считаем, что все собравшиеся - люди умные.
Но, как видно, некоторые - хамовитые и недалекие.
В ответ на попытки им помочь отвечающие хамством. Это с четыремя-то сообщениями на форуме...
Ну что же, это публичный форум - может, Олег или кто-то другой Вам поможет.
Хотя, с таким отношением...

Oleg
22-04-2008, 06:44
В общем 'вести с полей'.
В консоли (ps) замечены 3 (6) процессов, долбящихся к VPN , впнка не переваривает такой наглости и банит клиента нa минуту. Замечал точно такое-же и на 520, но там после сброса всего роутера в дефолт проблема рассосалась сама собой, с 500gpv2 подобное не помогло.
Пошел другим путём - тупо набрал в консоли:
pptp vpn.cln.ru noauth nobsdcomp nodeflate user UzVer password pa55w0rd
строчка при этом подвисла, хотя обычно молча отдавала консоль обратно, при этом поднимая ppp0, заглянул в другую консоль - там висело 2 процесса pptp долбящихся к серверу, na vpn-ke разумеется уже был бан.
Слил со старой 1.9.2.7-8 бинарник pptp, кинул в /usr/local/sbin - с вышеприведенной строкой завелось сходу. На данный момент всё стартует через post-boot.
Подозрения - не стоило имхо делать sync nobuffer по умолчанию...
P.S. с родным /usr/sbin/pptp (с вводом строчки вручную) изредка заводится, но чаще тупит форкаясь, подвисая и вызывая бан...
Дело не в этом, а скорее в маршрутах. Соответственно мне нужен вывод для route -n.

Corvin1975
22-04-2008, 07:01
Вот, пожалуйста:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
209.67.209.86 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
10.22.10.253 0.0.0.0 255.255.255.255 UH 0 0 0 vlan1
80.249.152.2 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
212.1.224.34 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
80.249.158.82 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
85.112.114.3 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
195.135.239.5 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
80.249.158.83 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
81.211.62.187 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
172.16.17.13 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.16.17.13 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
80.249.159.47 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
10.22.10.31 0.0.0.0 255.255.255.255 UH 1 0 0 vlan1
80.90.118.3 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
80.249.158.4 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
82.146.52.180 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
80.90.113.6 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
85.112.115.50 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
85.112.115.53 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
64.21.21.158 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
80.249.153.242 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
80.249.153.20 10.22.10.253 255.255.255.255 UGH 10 0 0 vlan1
79.120.31.152 10.22.10.253 255.255.255.252 UG 10 0 0 vlan1
85.112.112.8 10.22.10.253 255.255.255.252 UG 10 0 0 vlan1
85.112.112.140 10.22.10.253 255.255.255.252 UG 10 0 0 vlan1
85.112.112.204 10.22.10.253 255.255.255.252 UG 10 0 0 vlan1
85.112.112.136 10.22.10.253 255.255.255.252 UG 10 0 0 vlan1
85.112.114.8 10.22.10.253 255.255.255.252 UG 10 0 0 vlan1
85.112.114.12 10.22.10.253 255.255.255.252 UG 10 0 0 vlan1
85.112.114.0 10.22.10.253 255.255.255.248 UG 10 0 0 vlan1
85.112.112.48 10.22.10.253 255.255.255.248 UG 10 0 0 vlan1
85.112.115.32 10.22.10.253 255.255.255.248 UG 10 0 0 vlan1
85.112.114.64 10.22.10.253 255.255.255.248 UG 10 0 0 vlan1
85.112.114.72 10.22.10.253 255.255.255.248 UG 10 0 0 vlan1
80.90.117.72 10.22.10.253 255.255.255.248 UG 10 0 0 vlan1
85.112.114.96 10.22.10.253 255.255.255.248 UG 10 0 0 vlan1
85.112.114.16 10.22.10.253 255.255.255.240 UG 10 0 0 vlan1
85.112.112.64 10.22.10.253 255.255.255.240 UG 10 0 0 vlan1
85.112.112.80 10.22.10.253 255.255.255.240 UG 10 0 0 vlan1
85.112.112.96 10.22.10.253 255.255.255.240 UG 10 0 0 vlan1
85.112.113.96 10.22.10.253 255.255.255.240 UG 10 0 0 vlan1
85.112.114.208 10.22.10.253 255.255.255.240 UG 10 0 0 vlan1
212.1.224.64 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
85.112.114.32 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
212.1.224.96 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
212.1.226.96 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
212.1.226.160 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
217.174.97.32 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
85.112.113.64 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
80.90.117.224 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
217.174.97.64 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
85.112.117.64 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
195.54.192.32 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
195.54.192.64 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
85.112.117.224 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
195.225.128.0 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1

Corvin1975
22-04-2008, 07:02
А это не влезло:

89.222.171.0 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
85.112.117.192 10.22.10.253 255.255.255.224 UG 10 0 0 vlan1
212.1.226.192 10.22.10.253 255.255.255.192 UG 10 0 0 vlan1
80.90.117.128 10.22.10.253 255.255.255.192 UG 10 0 0 vlan1
85.112.117.128 10.22.10.253 255.255.255.192 UG 10 0 0 vlan1
212.1.224.0 10.22.10.253 255.255.255.192 UG 10 0 0 vlan1
194.6.220.0 10.22.10.253 255.255.255.192 UG 10 0 0 vlan1
195.225.128.64 10.22.10.253 255.255.255.192 UG 10 0 0 vlan1
85.112.115.128 10.22.10.253 255.255.255.192 UG 10 0 0 vlan1
85.112.117.0 10.22.10.253 255.255.255.128 UG 10 0 0 vlan1
195.225.128.128 10.22.10.253 255.255.255.128 UG 10 0 0 vlan1
89.222.133.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
195.54.209.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
80.90.113.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
81.88.115.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
91.198.212.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
194.6.222.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
194.6.221.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
80.90.116.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
91.192.241.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
213.219.219.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
91.192.240.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
91.192.243.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
89.222.192.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
91.192.242.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
85.112.120.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
193.124.236.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
195.135.239.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
87.245.161.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
88.151.129.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
195.225.131.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
88.151.128.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
195.225.130.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
213.219.211.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
88.151.131.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
88.151.130.0 10.22.10.253 255.255.255.0 UG 10 0 0 vlan1
85.192.60.0 10.22.10.253 255.255.254.0 UG 10 0 0 vlan1
81.88.112.0 10.22.10.253 255.255.254.0 UG 10 0 0 vlan1
85.192.58.0 10.22.10.253 255.255.254.0 UG 10 0 0 vlan1
89.208.130.0 10.22.10.253 255.255.254.0 UG 10 0 0 vlan1
81.88.122.0 10.22.10.253 255.255.254.0 UG 10 0 0 vlan1
213.219.222.0 10.22.10.253 255.255.254.0 UG 10 0 0 vlan1
213.219.220.0 10.22.10.253 255.255.254.0 UG 10 0 0 vlan1
79.120.122.0 10.22.10.253 255.255.254.0 UG 10 0 0 vlan1
89.222.170.0 10.22.10.253 255.255.254.0 UG 10 0 0 vlan1
213.219.208.0 10.22.10.253 255.255.254.0 UG 10 0 0 vlan1
81.88.116.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
81.88.124.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
89.222.160.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
77.243.96.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
89.222.172.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
213.219.212.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
77.243.100.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
193.124.232.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
194.6.216.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
91.200.224.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
89.222.128.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
79.120.124.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
195.135.236.0 10.22.10.253 255.255.252.0 UG 10 0 0 vlan1
77.243.104.0 10.22.10.253 255.255.248.0 UG 10 0 0 vlan1
193.125.32.0 10.22.10.253 255.255.248.0 UG 10 0 0 vlan1
193.125.128.0 10.22.10.253 255.255.248.0 UG 10 0 0 vlan1
193.125.88.0 10.22.10.253 255.255.248.0 UG 10 0 0 vlan1
89.250.0.0 10.22.10.253 255.255.240.0 UG 10 0 0 vlan1
81.17.144.0 10.22.10.253 255.255.240.0 UG 10 0 0 vlan1
89.222.192.0 10.22.10.253 255.255.240.0 UG 10 0 0 vlan1
80.86.240.0 10.22.10.253 255.255.240.0 UG 10 0 0 vlan1
82.199.96.0 10.22.10.253 255.255.224.0 UG 10 0 0 vlan1
77.233.192.0 10.22.10.253 255.255.224.0 UG 10 0 0 vlan1
79.172.64.0 10.22.10.253 255.255.192.0 UG 10 0 0 vlan1
86.62.64.0 10.22.10.253 255.255.192.0 UG 10 0 0 vlan1
195.91.128.0 10.22.10.253 255.255.128.0 UG 10 0 0 vlan1
10.22.0.0 0.0.0.0 255.255.0.0 U 0 0 0 vlan1
192.168.0.0 10.22.10.253 255.255.0.0 UG 10 0 0 vlan1
192.168.0.0 10.22.10.253 255.255.0.0 UG 11 0 0 vlan1
172.16.0.0 10.22.10.253 255.240.0.0 UG 10 0 0 vlan1
172.16.0.0 10.22.10.253 255.240.0.0 UG 11 0 0 vlan1
10.0.0.0 10.22.10.253 255.0.0.0 UG 10 0 0 vlan1
10.0.0.0 10.22.10.253 255.0.0.0 UG 11 0 0 vlan1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 172.16.17.13 0.0.0.0 UG 0 0 0 ppp0

Spacesoft
23-04-2008, 03:02
Дело не в этом, а скорее в маршрутах. Соответственно мне нужен вывод для route -n.
Действительно, дело оказалось в маршрутах. Видимо так называемый 'паразитный' маршрут, добвляемый при соединении с VPN , собственно это самое соединение и рвал (это что мною за бан было принято). Добавил адреса vpn-серваков в таблицу маршрутов (чтоб не добавлялся) - и всё завелось без костылей.

Oleg
23-04-2008, 06:53
Поконкретней напишите, чего не хватало и что Вы добавили.

Spacesoft
23-04-2008, 16:04
Поконкретней напишите, чего не хватало и что Вы добавили.ip_vpn_сервера1 255.255.255.255 ип_роутера* 0 MAN
ip_vpn_сервера2 255.255.255.255 ип_роутера* 0 MAN
ip_vpn_сервера3 255.255.255.255 ип_роутера* 0 MAN
......

Кстати замечал подобное в некоторых сетях на обычном линуксе - ppp0 поднимается, но пакеты не ходят пока не удалишь появившийся маршрут - IP_vpn_сервера -> ip_туннеля. В принципе лечится заранее добавлением маршрута ип_vpn_сервера/255.255.255.255 -> шлюз (в корбине никсоиды из за этого мучаются, но про добавляемый маршрут знают далеко не все)
у нас же в сети такой проблемы с VPN нет, а вот когда лезу в одну из соседних за инетом - приходится побыстрому набирать route del ....


____
*в сегментированных сетях тут видимо надо IP шлюза

ABATAPA
23-04-2008, 17:30
Кстати замечал подобное в некоторых сетях на обычном линуксе - ppp0 поднимается, но пакеты не ходят пока не удалишь появившийся маршрут - IP_vpn_сервера -> ip_туннеля. В принципе лечится заранее добавлением маршрута ип_vpn_сервера/255.255.255.255 -> шлюз

Дело не в Linux.
Просто, разумеется, сервер должен быть доступен.
Если сервер был доступен ранее только по default-маршруту, а после поднятия интерфейса default-меняется (опция 'defaultroute' у pppd), и VPN-сервер может перестать быть доступен (если он в другой сети, например - т.е. за маршрутизатором). И это - абсолютно нормально, и логично.
К слову, есть почти во всех FAQ по VPN.

Spacesoft
23-04-2008, 18:57
Дело не в Linux.
Просто, разумеется, сервер должен быть доступен.
Если сервер был доступен ранее только по default-маршруту, а после поднятия интерфейса default-меняется (опция 'defaultroute' у pppd), и VPN-сервер может перестать быть доступен (если он в другой сети, например - т.е. за маршрутизатором). И это - абсолютно нормально, и логично.
К слову, есть почти во всех FAQ по VPN.
Дело не в linux, a как я понял в VPN сервере.
Oдним и тем же клиентом цепляюсь к 2 разным VPN-сервакам, (оба в других сетях, вида 10.*.*.*) один требует удалять 'паразитный' маршрут, другой нет.

Lt_Flash
15-10-2008, 12:51
Собственно ту прошивку с Кваггой делал я, как админ ЦЛН. Вот сейчас разгребаюсь с версией 10 (ессно вставив кваггу), все работает, а к ВПН не цепляется по причине, описанной мною тут:

http://wl500g.info/showpost.php?p=115389&postcount=14

Собственно хотелось бы услышать ответ Олега - зачем при старте ппп прописывается левый маршрут до ВПНки. То, что там вылезает дефолтный гейт мне в принципе даже не очень-то и интересно, просто зачем прописывать дополнительный хост-маршрут для сервака, находящегося в том же диапазоне, что и роутер.

ЗЫ. Большая просьба к пользователю АВАТАРА - не надо мне тут отвечать. Ваши ответы горят энтузиазмом, но почти не несут смысловой нагрузки. Заранее благодарен.

ЗЫЗЫ. Метод, описанный Спейссофтом прокатывает - можно прописать руками статик-роуты до всех наших впнок через влан1 роутера - тогда проблемы ессно не возникает. Но ввиду того что ипы впнок могут меняться, а также планируется расширение парка впнок - понятно что делать это в роутерах пользователей я не буду. Поэтому надо сделать так, чтобы этот паразитный маршрут не появлялся - и тогда я запущу эту прошивку для наших клиентов, потому что роутеры версии 1 уже не найти.

Кстати, еще одно забыл, зачем-то при старте роутера прописывается также хост-маршрут до дефолтного гейта, который приходится в постбуте удалять нафиг, иначе не работает RIP, считающий все полученные маршруты инактивными ввиду того, что дефолт гейт согласно таблице маршрутизации находится в гваделупе.

Lt_Flash
17-10-2008, 14:42
Собственно, для интересующихся - проблему решил. Проблема возникала из-за дополнительного патча pptp-1.6.0-route.patch. Исключил наложение данного патча из Makefile оригинальной прошивки - все теперь работает и поднимается без проблем. Нужно убрать только одну строчку наложения этого патча, более ничего править не надо.

lly
18-10-2008, 09:09
Lt_Flash
Я не Олег, поэтому полный ответ дать не могу, но свои подозрения озвучу. Эта фича появилась в 1.9.2.7-7f - пункт

10. DHCP+PPTP (0.0.0.0 gateway support in the MAN routes, DNS and default gateway options now could be acquired from DHCP too, symbolic PPTP name support, PPTP client now adds route to the server)

Самое интересное, что до версии -9 этот маршрут удалялся по выходу из pptp!

Полагаю, что в отсутствие Олега, ответ можно поискать в форуме - наверняка было какое-то обсуждение. Скорее всего, надо бы сделать не тупое
route_add(inetaddr, &rt); а добавить проверки на диапазон подсети и т.д.

Lt_Flash
18-10-2008, 17:37
Lt_Flash
Я не Олег, поэтому полный ответ дать не могу, но свои подозрения озвучу. Эта фича появилась в 1.9.2.7-7f - пункт

10. DHCP+PPTP (0.0.0.0 gateway support in the MAN routes, DNS and default gateway options now could be acquired from DHCP too, symbolic PPTP name support, PPTP client now adds route to the server)

Самое интересное, что до версии -9 этот маршрут удалялся по выходу из pptp!

Полагаю, что в отсутствие Олега, ответ можно поискать в форуме - наверняка было какое-то обсуждение. Скорее всего, надо бы сделать не тупое
route_add(inetaddr, &rt); а добавить проверки на диапазон подсети и т.д.
Согласен, именно это и надо делать, но в моем случае этот роут вообще не нужен, соответственно я его из патча выключил и теперь в нашей сети все работает корректно.

Теперь другой замеченный глюк, скорее всего уже обсуждавшийся, но все же. Если при подключенном пптп нажать в веб-интерфейсе Дисконнект - то гаснет весь WAN-интерфейс :) Пока не ковырялся, в чем там дело, и не уверен что буду...

radmir
24-10-2008, 06:39
Вот и у меня просьба: создайте, плиз, trx-файл стирающий всю флешку за исключением загрузчика (нужно для убиения всех "лишних" nvram).

Nailor
24-10-2008, 14:56
Вот и у меня просьба: создайте, плиз, trx-файл стирающий всю флешку за исключением загрузчика (нужно для убиения всех "лишних" nvram).

Уже есть...
1. wl500g-clear-nvram.trx (http://wl500g.dyndns.org/wl500g-clear-nvram.trx)
2. wl500g-recover.trx (http://wl500g.dyndns.org/wl500g-recover.trx) (На всякий...)

Успехов...

radmir
24-10-2008, 17:07
Уже есть...
1. wl500g-clear-nvram.trx (http://wl500g.dyndns.org/wl500g-clear-nvram.trx)
2. wl500g-recover.trx (http://wl500g.dyndns.org/wl500g-recover.trx) (На всякий...)

Успехов...
Спасибо, но wl500g-clear-nvram.trx стирает nvram только в конце 8 мб. Хмм... придумал, залью dd-wrt-mega, вроде своими габаритами перекроет nvram в конце 4 мб.

alex7912
12-12-2008, 15:59
Честно прошелся поиском по форуму, но так и не смог найти ответ на часто задаваемый здесь вопрос. Дано wl500gp, 1-9-2-7-10. Воткнул USB флешку в роутер. Сделал 3 раздела (swap, opt и данные):

Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 63 506016 82 Linux swap
/dev/scsi/host0/bus0/target0/lun0/part2 64 188 1004062+ 83 Linux
/dev/scsi/host0/bus0/target0/lun0/part3 189 498 2490075 83 Linux

Дальнейшие действия mkdir /opt/etc
выдают
Cannot create directory `/opt/tmp/': Read-only file system
umount выдает
Invalid argument
форматирование: bad blocks
разумеется делал
killall smbd killall nmbd
пытался использовать fuser, форматировал флешку на ББ через Acronis. Ничего не помогает.
Пожалуйста кто-нибудь по шагам объясните без ссылок на многочисленные посты (которые я честно просмотрел) что нужно такое сделать чтобы флещка стала работать и в режиме записи? Конечная цель установить quagga для RIP

AndreyPopov
12-12-2008, 16:03
Честно прошелся поиском по форуму, но так и не смог найти ответ на часто задаваемый здесь вопрос. Дано wl500gp, 1-9-2-7-10. Воткнул USB флешку в роутер. Сделал 3 раздела (swap, opt и данные):

Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 63 506016 82 Linux swap
/dev/scsi/host0/bus0/target0/lun0/part2 64 188 1004062+ 83 Linux
/dev/scsi/host0/bus0/target0/lun0/part3 189 498 2490075 83 Linux

Дальнейшие действия mkdir /opt/etc


1. если вам нужен конкретно RIP - то поставьте DD-WRT и не мучайтесь!
2. разделы вы то сделали, а форматировать кто будет?
3. опять же как они смонтировались надо смотреть! (после форматирования)

alex7912
12-12-2008, 16:32
1. если вам нужен конкретно RIP - то поставьте DD-WRT и не мучайтесь!
2. разделы вы то сделали, а форматировать кто будет?
3. опять же как они смонтировались надо смотреть! (после форматирования)


1. Буду изучать, а то я вообще не рассматривал альтернативы
2. Форматировал Acronis на ББ, через роутер не дает.
3. mount показывает

/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disc0/part2 on /opt type ext3 (rw,noatime)

AndreyPopov
12-12-2008, 17:24
1. Буду изучать, а то я вообще не рассматривал альтернативы
2. Форматировал Acronis на ББ, через роутер не дает.
3. mount показывает

/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disc0/part2 on /opt type ext3 (rw,noatime)



остановите и отключите FTP сервер - тоггда должно дать форматировать.

alex7912
12-12-2008, 17:41
остановите и отключите FTP сервер - тоггда должно дать форматировать.

отключил ftp и нажал eject через web. Сохранил и перезагрузил. Все равно it's not safe to run badblocks! при форматировании и Couldn't umount /dev/scsi/host0/bus0/target0/lun0/part2: Invalid argument.
Как называется процесс фтп не знаю.
mount выдает:

/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disc0/part2 on /opt type ext3 (rw,noatime)
/dev/discs/disc0/part3 on /tmp/mnt/disc0_3 type ext3 (rw,noatime)
/dev/discs/disc0/part2 on /tmp/mnt/disc0_3 type ext3 (rw,noatime)


ps

PID Uid VmSize Stat Command
1 admin 644 S /sbin/init
2 admin SW [keventd]
3 admin RWN [ksoftirqd_CPU0]
4 admin SW [kswapd]
5 admin SW [bdflush]
6 admin SW [kupdated]
7 admin SW [mtdblockd]
60 admin 316 S telnetd
65 admin 404 S httpd vlan1
68 admin 448 S syslogd -m 0 -O /tmp/syslog.log -S -l 7 -R 192.168.1.
70 admin 364 S klogd
71 admin 460 S snmpd -c /tmp/snmpd.conf
72 admin 552 S nas /tmp/nas.lan.conf /tmp/nas.lan.pid lan
75 nobody 488 S [dnsmasq]
76 admin SW [khubd]
84 admin 276 S lpd
87 admin 260 S p9100d -f /dev/usb/lp0 0
90 admin 340 S waveservermain
94 admin SW [usb-storage-0]
95 admin SW [scsi_eh_0]
109 admin 364 S /usr/sbin/udpxy -a br0 -m vlan1 -p 1234
112 admin 444 S udhcpc -i vlan1 -p /var/run/udhcpc0.pid -s /tmp/udhcp
113 admin 664 S pppd file /tmp/ppp/options.wan0
116 admin 312 S infosvr br0
117 admin 496 S watchdog
119 admin 344 S ntp
126 admin 480 S dropbear
127 admin 728 S dropbear
128 admin 552 S -sh
141 admin SW [kjournald]
142 admin SW [kjournald]
144 admin 980 S /usr/sbin/nmbd -D
146 admin 1000 S /usr/sbin/smbd -D
152 admin 460 S sh -c /usr/sbin/pptp --idle-wait 0 vpdn.mipt.ru --nol
153 admin 420 S pptp: GRE-to-PPP gateway on /dev/ptmx --nolaunchp
156 admin 428 S pptp: call manager for 193.125.142.229 --nolaunchp
164 admin 396 R ps

AndreyPopov
13-12-2008, 14:24
отключил ftp и нажал eject через web. Сохранил и перезагрузил. Все равно it's not safe to run badblocks! при форматировании и Couldn't umount /dev/scsi/host0/bus0/target0/lun0/part2: Invalid argument.
Как называется процесс фтп не знаю.
mount выдает:

/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
ramfs on /tmp type ramfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disc0/part2 on /opt type ext3 (rw,noatime)
/dev/discs/disc0/part3 on /tmp/mnt/disc0_3 type ext3 (rw,noatime)
/dev/discs/disc0/part2 on /tmp/mnt/disc0_3 type ext3 (rw,noatime)



очень странно, что у вас раздел в /opt монтируется!!!!!
а потом еще part2 и part3 монтируются в диск с ОДИНАКОВЫМ именем!!!!!!!!

да и зачем вы пытаетесь форматировать /dev/scsi/host0/bus0/target0/lun0/part2 если у вас написано /dev/discs/disc0/part2 ???????

что у вас в post-boot и post-mount написано?
и вы случаем типа в fstab ничего не писали?

alex7912
20-12-2008, 09:16
очень странно, что у вас раздел в /opt монтируется!!!!!
а потом еще part2 и part3 монтируются в диск с ОДИНАКОВЫМ именем!!!!!!!!

да и зачем вы пытаетесь форматировать /dev/scsi/host0/bus0/target0/lun0/part2 если у вас написано /dev/discs/disc0/part2 ???????

что у вас в post-boot и post-mount написано?
и вы случаем типа в fstab ничего не писали?

Спасибо за помощь. Я настраивал в том числе и fstab по инструкции с нуля из раздела для новичков и ленивых. В opt раздел монтируется на флешке для установки разных программ. В общем я как-то все теперь настроил по инструкции и вроде бы все работает

alex7912
23-12-2008, 12:00
Не нашел толковое объяснение процесса установки на wl500gp (opt смонтирован на USB флешке) с 10 прошивкой от Олега. Итак требуется слушать RIP для динамической маршрутизации.
Что сделал:

ipkg install quagga
создал конфигурационные файлы zebra.conf и ripd.conf


nano /opt/etc/quagga/zebra.conf
nano /opt/etc/quagga/ripd.conf

с таким содержимым соотв.:


! -*- zebra -*-
hostname home
password 12345
enable password 12345
interface vlan1
log file zebra.log


! -*- rip -*-
hostname home
password 12345
router rip
network vlan1
log file ripd.log
log stdout


затем добавил в /usr/local/sbin/post-boot строки:

/usr/sbin/zebra -u admin -d
/usr/sbin/ripd -u admin -d

В результате получил, zebra и ripd работают, top показывает

208 quagga 9 0 452 248 248 S 0.0 0.8 0:00.00 zebra
210 quagga 9 0 456 132 76 S 0.0 0.4 0:00.02 ripd

(у них user должен быть quagga?)

Но маршруты роутер не получает все равно. ripd.log и zebra.log нигде найти не могу, вкл. /opt/etc/quagga

Подскажите где копать?

alex7912
23-12-2008, 12:16
я тут порылся и нашел, что через init.d запускается s50quagga. В которой по условия добавляется user quagga. Возможно причина в этом. Как мне поправить этот файл чтобы процессы запускались от админа? Дело в том, что если запускать процессы вручную /opt/sbin/ripd -u admin -d , то получаю privs_init: could not lookup group quagga
если же запущенные s50quagga процессы убить, то потом их можно запустить вручную от админа. Возможно надо где-то прописать --enable-user=admin? Но где?

alex7912
24-12-2008, 11:10
видимо rip на этой прошивке действительно не популярен. Все таки неужели никто не знает как разрешить quagga запускаться под админом?
Куда вписать
--enable-user=admin ?
Я нашел только способ разрешать quagge пиды, прописал это в post-boot:

chown quagga:quagga /opt/var/run/quagga/zebra.pid
chown quagga:quagga /opt/var/run/quagga/pipd.pid
chmod 0750 /opt/var/run/quagga/zebra.pid
chmod 0750 /opt/var/run/quagga/pipd.pid
Но все-рано маршруты не получаю.

Ilmarinen
25-12-2008, 06:50
я тут порылся и нашел, что через init.d запускается s50quagga. В которой по условия добавляется user quagga. Возможно причина в этом. Как мне поправить этот файл чтобы процессы запускались от админа? Дело в том, что если запускать процессы вручную /opt/sbin/ripd -u admin -d , то получаю privs_init: could not lookup group quagga
если же запущенные s50quagga процессы убить, то потом их можно запустить вручную от админа. Возможно надо где-то прописать --enable-user=admin? Но где?
Можно для тестового запуска, чтобы убедиться, что проблема именно в правах доступа можно попробовать запустить от пользователя root и группы root:

/opt/sbin/zebra -u root -d -g root
/opt/sbin/ripd -u root -d -g root
Полезно так же убедится с помощью tcpdump что RIP'ы действительно прилетают

tcpdump -i vlan1 udp and port 520
и убедиться что firewall их не блокирует, при необходимости разрешить

iptables -I INPUT -i vlan1 -p udp -d 224.0.0.0/4 --sport 520 --dport 520 -j ACCEPT по вкусу можно добавить -s IP-адрес-маршрутизатора-рассылающего-RIP

alex7912
25-12-2008, 08:14
Большое спасибо за дельные советы!


Можно для тестового запуска, чтобы убедиться, что проблема именно в правах доступа можно попробовать запустить от пользователя root и группы root:

/opt/sbin/zebra -u root -d -g root
/opt/sbin/ripd -u root -d -g root

видимо у меня нет такого юзера
privs_init: could not lookup user root


Полезно так же убедится с помощью tcpdump что RIP'ы действительно прилетают

tcpdump -i vlan1 udp and port 520


да, прилетают


и убедиться что firewall их не блокирует, при необходимости разрешить
iptables -I INPUT -i vlan1 -p udp -d 224.0.0.0/4 --sport 520 --dport 520 -j ACCEPT по вкусу можно добавить -s IP-адрес-маршрутизатора-рассылающего-RIP

сделал, и еще добавил


/usr/sbin/iptables -I INPUT 7 -s 193.125.142.232 -p tcp --dport 179 -j ACCEPT
/usr/sbin/iptables -I INPUT 7 -s 10.55.46.1 -p tcp --dport 179 -j ACCEPT

убил процессы и заново запустил их под админом. В логах появилось

2008/12/25 10:56:05 ZEBRA: Zebra 0.99.4 starting: vty@2601


Это означает что zebra работает, но почему-то маршруты не принимаются? А в какой файл они записываются?

Ilmarinen
25-12-2008, 09:36
видимо у меня нет такого юзера
privs_init: could not lookup user root
Я не верно выразился, но Вы поняли верно, нужно использовать учетную запись с id=0 (grep :0:0 /etc/passwd)


Это означает что zebra работает, но почему-то маршруты не принимаются? А в какой файл они записываются?
2008/12/25 10:56:05 ZEBRA: Zebra 0.99.4 starting: vty@2601
Они не записываются в файл, а добавляются в таблицу маршрутизации.

$ ip r
83.172.40.16/30 via 83.172.XXX.XXX dev vlan1 proto zebra metric 11
83.172.40.20/30 via 83.172.XXX.XXX dev vlan1 proto zebra metric 11
83.172.40.24/30 via 83.172.XXX.XXX dev vlan1 proto zebra metric 11
...

Попробуйте запустить консоль зебры vtysh, в которой посмотреть вывод команд sh ip ro и sh ip rip.
Например у меня ospf выглядит так:

home-gw# sh ip ro
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route

K>* 0.0.0.0/0 via 83.172.XXX.XXX, vlan1
O>* 62.68.128.0/19 [110/200] via 83.172.XXX.XXX, vlan1, 01w5d15h
O>* 77.106.64.0/18 [110/200] via 83.172.XXX.XXX, vlan1, 01w5d15h
O>* 77.106.96.0/21 [110/200] via 83.172.XXX.XXX, vlan1, 01w5d15h
....
Естественно "показания" sh ip ro в vtysh и ip r должны совпадать.
Да, и убедитесь, что маршруты добавляются в таблицу main

home-gw# sh table
table 0

al37919
25-12-2008, 10:24
если все сконфигурено через веб интерфейс, то файлы /etc/passwd и /etc/groups не создаются. Наверное надо их создать, например, с помощью adduser ( ipkg install adduser ) и сохранить в flashfs.

alex7912
25-12-2008, 10:44
если все сконфигурено через веб интерфейс, то файлы /etc/passwd и /etc/groups не создаются. Наверное надо их создать, например, с помощью adduser ( ipkg install adduser ) и сохранить в flashfs.

нет, файлы есть


grep :0:0 /etc/passwd
admin:xxxxxxxx/xxxxxxxx.:0:0:root:/usr/local/root:/bin/sh
(увы не смог разобраться в результатах вывода команды grep)

вот содержание etc/passwd

admin:xxxxxxxx/xxxxxxxx.:0:0:root:/usr/local/root:/bin/sh
nobody:x:99:99:nobody:/:/sbin/nologin
quagga:x:1000:1000:quagga daemon:/opt/var/log/quagga:/bin/false

и etc/group

root:x:0:admin
nobody:x:99:
quagga:x:1000:


home-gw# sh table
table 0
совпало


vtysh



вроде бы все делал стандартно, почему же у меня не получилось?

lly
25-12-2008, 11:10
alex7912
Offtopic: Вырежи, на всякий случай, из поста пароль!! второе поле после ":" в passwd

alex7912
25-12-2008, 11:23
alex7912

спасибо

ссори посмотрел повнимательное маршруты и нашел следующие отличия
по
ip r есть строка которой нет в
sh ip ro
default via 10.55.46.1 dev vlan1 metric 1
а последний отличается от первого такими строками
K>* 0.0.0.0/0 via 10.55.46.1, vlan1
K>* 194.85.80.0/25 via 10.55.46.1, vlan1
K>* 194.85.80.0/25 via 10.55.46.1, vlan1
C>* 127.0.0.0/8 is directly connected, lo
K>* 81.5.91.3/32 via 10.55.46.1, vlan1 вместо 81.5.91.3 via 10.55.46.1 dev vlan1 metric 1
K * 127.0.0.0/8 is directly connected, lo вместо 127.0.0.0/8 dev lo scope link
C>* 193.125.142.232/32 is directly connected, ppp0 вместо default via 193.125.142.232 dev ppp0
K>* 193.125.142.247/32 via 10.55.46.1, vlan1 вместо 193.125.142.247 via 10.55.46.1 dev vlan1
K>* 193.125.143.173/32 via 10.55.46.1, vlan1 вместо 193.125.143.173 via 10.55.46.1 dev vlan1 metric 1


sh ip rip

Network Next Hop Metric From Tag Time
C(i) 10.55.46.0/23 0.0.0.0 1 self 0

Ilmarinen
26-12-2008, 09:46
ссори посмотрел повнимательное маршруты и нашел следующие отличия
Это не очень существенно
А в vtysh команда sh ip ro rip что показывает?
У меня такое ощущение, что анонсы до зебры не доходят.

alex7912
27-12-2008, 12:58
Это не очень существенно
А в vtysh команда sh ip ro rip что показывает?
У меня такое ощущение, что анонсы до зебры не доходят.

Все, кажется я нашел в чем причина. Убрав из post-boot
ifconfig vlan0 -multicast
ifconfig vlan1 -multicast
ifconfig eth1 -multicast
стали наконец приходить маршруты. Просто я уже запутался какие мульткасты нужны, а какие не. В веб-оболочке напр. multicast routing отключен, я думал что это тоже самое.

alex7912
16-05-2009, 09:01
заранее извиняюсь за тупость, но сам понять не могу.
Везде написано, что для запуска quagga в post-boot прописываются команды

/opt/sbin/zebra -u admin -d
/opt/sbin/ripd -u admin -d
Но ведь файл s50quagga тоже запускает эти процессы. Вопрос зачем необходимо дублирование и какой-из этих файлов запускается раньше.

ryzhov_al
16-05-2009, 09:18
заранее извиняюсь за тупость, но сам понять не могу.
Везде написано, что для запуска quagga в post-boot прописываются команды

/opt/sbin/zebra -u admin -d
/opt/sbin/ripd -u admin -d
Но ведь файл s50quagga тоже запускает эти процессы. Вопрос зачем необходимо дублирование и какой-из этих файлов запускается раньше.
Сомнения развеятся, если прочитать прикрепленный FAQ (http://wl500g.info/showthread.php?t=2391):

Итак, моя прошивка пытается исполнить следующие файлы:

/usr/local/sbin/pre-boot - исполняется до основной инициализации, в момент, когда ещё не подгружены никакие модули ядра, но уже развёрнут flashfs и скопирован начальный образ для /etc из /usr/etc.
/usr/local/sbin/post-boot - исполняется после того, как устройство закончило загрузку и запустило все сервисы, за исключением связанных с веб-камерой и usb дисками (они запустятся примерно через 10 секунд после этого при "обработке" hot plug событий, когда АСУСовский обработчик до них доберётся)
/usr/local/sbin/post-mount - отрабатывает, когда устройство завершает монтирование usb дисков, с тем чтобы Вы могли запустить свои сервисы, которые эти диски используют
/usr/local/sbin/pre-shutdown - работает перед перезагрузкой системы
/usr/local/sbin/post-firewall - исполняется всякий раз, после того как устройство меняет внутренние правила с помощью команд iptables, с тем, чтобы Вы могли внести свои изменения в firewall


Ссылка из post-boot на любое место в /opt/* смысла не имеет. Поэтому:

либо запускаете сервисы из post-mount,
либо привОдите скрипты запуска к виду /opt/etc/init.d/s50quagga по примеру (http://wl500g.info/showthread.php?t=13220).

alex7912
16-05-2009, 09:33
Сомнения развеятся, если прочитать прикрепленный FAQ
да это я много раз перечитывал. Увы про quagga тут мало написано. Скрипт устанавливается по умолчанию. Просто подскажите почему необходимо дублировать запуск процессов в post-boot/mount? Если в S50quagga добавить типа

ENABLED=yes
PROCS=zebra
ARGS="-u admin -d"

будет корректнее?

bbsc
16-05-2009, 09:51
alex7912, Вам же объяснили, что во время выполнения post-boot раздел на /opt еще не смонтирован, поэтому добавлять в post-boot команды выполнения чего-либо из /opt/sbin бессмысленно.
Если где-то написано, что это делать НУЖНО, то это написано неправильно.

ryzhov_al
16-05-2009, 10:05
Просто подскажите почему необходимо дублировать запуск процессов в post-boot/mount?
Есть два способа запустить что-либо в нашей коробочке после её загрузки, они перечислены мной выше. Выбор за вами:
- Если стартуют 2-3 сервиса и не хочется заниматься "канонизацией" запуска, просто допишите строчку запуска в post-mount.
- Если у вас скрипты запуска сервисов приведены к форме init.d, то запускайте свой quagga из /opt/etc/init.d/Sxxquagga.

На форуме люди пользуются и тем и другим способом. Вам необходимо с этим определиться. Запускать сервис дважды смысла нет.

alex7912
16-05-2009, 10:19
Есть два способа запустить что-либо в нашей коробочке после её загрузки, они перечислены мной выше. Выбор за вами:
- Если стартуют 2-3 сервиса и не хочется заниматься "канонизацией" запуска, просто допишите строчку запуска в post-mount.
- Если у вас скрипты запуска сервисов приведены к форме init.d, то запускайте свой quagga из /opt/etc/init.d/Sxxquagga.

На форуме люди пользуются и тем и другим способом. Вам необходимо с этим определиться. Запускать сервис дважды смысла нет.
Вот теперь понятно. Спасибо

Proofreader
16-08-2009, 20:46
Обновил пакет quagga до 0.99.14-1 из http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/
При запуске ripd/zebra получаю Segmentation fault


$ strace /opt/sbin/zebra
execve("/opt/sbin/zebra", ["/opt/sbin/zebra"], [/* 13 vars */]) = 0
old_mmap(NULL, 20, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x2aaa8000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Версия прошивки 1.9.2.7-10 Подскажите решение.

UPD: Откатил http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/quagga_0.99.4-2_mipsel.ipk

Mityai_snet
31-10-2009, 21:08
Собрал 1.9.2.7-8q, поддержка только РИПа встроена, не требует внешних флешек и прочего. Настройка аналогична уже приводимой тут.
http://support.cln.ru/programs/wl500gp/WL500gp-1.9.2.7-8q.trx

У меня роутер Asus WL500gpV2 мне подойдёт ваша прошивка? Если нет то посоветуйте что можно поставить на эту железку чтобы RIP работал. Заранее спасибо.

FirMord
10-11-2009, 18:57
Н
затем добавил в /usr/local/sbin/post-boot строки:

/usr/sbin/zebra -u admin -d
/usr/sbin/ripd -u admin -d
на верное все же /opt/sbin/zebra и /opt/sbin/ripd?
у меня

$ /opt/sbin/zebra -u admin -d
Segmentation fault с чем может быть связано? мб потому что у меня dir-320 прошитый модиф прошивкой Олега? хотя это не должно влиять, ставил на флешку, при установке ошибок не было.

Eugene1961
11-11-2009, 17:24
Свежие версии вываливаются с такой ошибкой.Попробуйте релиз 0.99.4

FirMord
14-11-2009, 06:45
мм а как эьту версию поставить??
тут нет:
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/
http://www.quagga.net/download/
есть тут:
http://www.quagga.net/download/attic/
но не mipsel

alex7912
14-11-2009, 06:52
мм а как эьту версию поставить??
тут нет:
http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/
http://www.quagga.net/download/
есть тут:
http://www.quagga.net/download/attic/
но не mipsel

как-то так (авторство не мое, но я мною опробовано):

Брать отсюда http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/quagga_0.99.4-2_mipsel.ipk

Если будет ругаться на libreadline.so.5, то...

Смотрим, есть ли библиотека:

ls /opt/lib | grep libreadline
libreadline.so
libreadline.so.6
libreadline.so.6.0

a)У меня оказалась более новая версия, тогда :
ln -s /opt/lib/libreadline.so.6.0 /opt/lib/libreadline.so.5

b)Если либы нет, ставим из репы ipkg install readline
делаем пункт a)

FirMord
14-11-2009, 12:48
спасибо! а как ipkg заставить ставить нужную версию, а не последнюю?
ipkg сначала качает версию по вашей ссылке, затем крайнюю версию (14) и затем ставит крайнюю. :confused:

BAT
22-02-2010, 13:52
Проблема с либой.

я ее как бы подменил и теперь с

ls /opt/lib | grep libreadline

список такой

libreadline.so
libreadline.so.5
libreadline.so.6
libreadline.so.6.0


при запуске зебры в ручную

/opt/sbin/zebra -u admin -d


ошибка также - нету libreadline.so.5
я так понимаю идет типа подмена (ссылка) на 6.
может лучше надыбать гдето 5?

подскажите как мне сейчас быть?(

kulibin
09-03-2010, 10:57
Mityai_snet
Почитай здесь:
http://support.cln.ru/wl500gp.html
Тебе подойдет прошивка
http://support.cln.ru/programs/wl500gp/WL500gpv2-1.9.2.7-10q.trx
Если ты из CLN или в пиринге - то ссылки на прошивку и конфиг будут доступны.
На всякий случай залил все по ссылкам из темы support.cln.ru сюда:
http://dump.ru/file/4415039

FirMord
Сам не понял, как заставить ipkg установить старую версию по ссылке
http://ipkg.nslu2-linux.org/feeds/unslung/wl500g/quagga_0.99.4-2_mipsel.ipk
Пришлось для этого на момент установки закомментировать все репозитарии в /opt/etc/ipkg.conf,
лишь тогда установилась версия 0.99.4...

BAT
Мне символическая ссылка из 17-го поста не помогла.
Взял недостающую библиотеку libreadline.so.5 из вложения отсюда:
http://wl500g.info/showpost.php?p=81736&postcount=33

RIP заработал, ура! Но почему-то не запускается vtysh

vtysh_connect(/opt/var/run/quagga/zebra.vty): Not a socket

lly
03-07-2010, 09:03
Все новые пакеты из Optware, собирающие свои бинарники по дефалту как PIE (Position Independent Executables)
для платформы MIPS - quagga относится к их числу, битые. Причина - старая бага в binutils 10858 (http://sourceware.org/bugzilla/show_bug.cgi?id=10858).

Вариантов решений немного, т.к. oleo не появлялся на форуме чёрт знает сколько времени
и к кому и куда стучаться из ведущих optware теперь непонятно :(

ручками в шестнадцатиричном редакторе поправить секцию ".rel.dyn"
пересобирать тулчейн с патчом
при пересборке указывать --disable-pie если скрипт configure это позволяет


В недалёком будущем, планируется интеграция quagga в прошивку "от энтузиастов" для роутеров с флешом 8Mb (500gP, 500W).
Сперва без поддержки в web-UI, потом как пойдёт. Как это предварительно планируется:

минимальный объем (без vtysh который тянет за собой readline)
без ipv6, bgpd, watchquagga
итого: демоны ospfd, ripd, zebra


Есть ли заинтересованный человек, который захочет и сможет проверить сборку на реальном провайдере?

Painter
12-07-2010, 16:24
Я могу проверить, но роутер у меня RT-N16. Для него можно сделать прошивку в рипом?

lly
12-07-2010, 18:13
Я могу проверить, но роутер у меня RT-N16. Для него можно сделать прошивку в рипом?
С N16 еще проще, благо флеш пока резиновый. Залил в дерево SVN r1790, ночью соберется на core.dumped.ru и можно тестировать. Какой у тебя провайдер?

Painter
12-07-2010, 18:47
CLN в Москве. тут слушатель RIP насущная необходимость :)

lly
12-07-2010, 19:32
CLN в Москве. тут слушатель RIP насущная необходимость :)
Тем лучше, у них есть образцы конфигов и даже post-boot/post-firewall

А ответ на твой вопрос http://wl500g.info/showpost.php?p=203768&postcount=2721 очень прост - в Китае практически не используется bgp/rip/ospf на оборудовании конечного абонента.

Painter
13-07-2010, 19:04
Скачал 91ую сборку. Тестировать?

theMIROn
13-07-2010, 19:33
Скачал 91ую сборку. Тестировать?

как proof-of-concept можно и 1791, но лучше 1795

lly
13-07-2010, 20:11
как proof-of-concept можно и 1791, но лучше 1795
С точки зрения quagga без разницы.

Painter
Не забудьте хоть одним глазом заглянуть в доку ;)

P.S. Ну и вопрос на понимание - какое имя у WAN интерфейса в N16 по дефалту?

Painter
13-07-2010, 20:21
Ily, я к сожалению очень слаб в роутерах :rolleyes: таких хитрых вопросов даже не понимаю. Что за дока, которую нужно поглядеть?

lly
13-07-2010, 20:28
Ily, я к сожалению очень слаб в роутерах :rolleyes: таких хитрых вопросов даже не понимаю. Что за дока, которую нужно поглядеть?
Хм. А прошу прощения, как ты собрался тогда что-либо тестировать?
Всерьез полагагаешь что копипаст сработает? Спешу расстроить - нет.

Дока на quagga, естественно. Чтобы суметь поправить конфиг, если что не так, и суметь расшифровать логи.

P.S. Никаких хитрых вопросов, только насущная необходимость. vlan2, в отличие от WL500gp, где используется vlan1

Painter
13-07-2010, 20:48
Квагу я думаю смогу настроить, нужно только время :) Я её кстати недавно ставил уже в роутер, с первого раза не получилось.

lompad
07-01-2011, 20:49
Коллеги, прошу помощи. Не работает динамическая маршрутизация. Со статической все в порядке.
Маршруты на роутер приходят исправно - проверял телнетом
Пытался установить quagga по аналогии с Asus WL-500W - не выходит каменный цветок.

В Routing Table их всего 10 штук (те что прописал вручную и т.д.).

Destination Gateway Genmask Flags Metric Ref Use Iface
80.252.133.78 192.168.127.254 255.255.255.255 UGH 1 0 0 WAN vlan2
192.168.127.0 * 255.255.255.0 U 0 0 0 WAN vlan2
192.168.1.0 * 255.255.255.0 U 0 0 0 LAN br0
192.168.0.0 192.168.127.254 255.255.0.0 UG 1 0 0 WAN vlan2
172.20.0.0 192.168.127.254 255.255.0.0 UG 1 0 0 WAN vlan2
10.0.0.0 192.168.127.254 255.0.0.0 UG 1 0 0 WAN vlan2
default 192.168.254.104 0.0.0.0 UG 0 0 0 WAN ppp0
default 192.168.127.254 0.0.0.0 UG 1 0 0 WAN vlan2
Поделитесь ссылкой на мануал плиз. Перерыл все интернеты и видимо не могу самостоятельно отделить зерна от плевел.
Заранее спасибо. Может есть способ установить кваггу во встроенную память?

Её же в моем роутере немерянно, а во всех инструкциях просят ставыить во внешнюю флешку....
У меня в роутере уже такая каша из библиотек и разных видов квагг.. подскажите хотябы как теперь это все почистить:-)

Возвращаюсь к нашим баранам:-) Простите, но проблемма не решена и замолчать мне не дает совесть:-)
Подскажите пожалуйста, не будте черствыми людьми.. Что значит вот это:


RT-N16-1.9.2.7-rtn-r2274 (2010-10-17)
kernel
linux-mips.org updates 2.6.22.git-2010-10-15
accel-pptp 0.8.5
backports from upstream (mm, vfs, tty, net, netlink, netfilter, conntrack, nfs, cifs, hfsplus, usb)
disable_ipv6 sysctl
v4l: experimental support for UVC compatible webcams
pppoe: ignore PADT packets whose destination address isn't ours
efficient multicast forwarding & igmp snooping.
wlconf: updated to fix 802.11n issues
hub-ctrl utility
quagga 0.99.17
tcpdump 4.1.1
ntfs-3g 2010.10.2
mjpg-streamer r103
all utilities from trunk (1.9.2.7-d)
bugfixes
Т.е. quagga встроена в прошивку? Как её запустить?
К сожалению при сочетании имени прошивки, имени роутера и quagga даже гугль дает минимум ссылок.
Подскажите, не дайте погибнуть... :-)


Знавал я одну ISP - давала и в RIP и в OSPF...
Сделал архивчик с quagga для установки на 'голый' роутер.

1. Положить (обязателаьно) в /tmp
2. tar xzvf qvg.tar.gz
3. flashfs save && flasfs commit && flashfs enable

P.S. в архиве свой post-boot, который монтирует /tmp/local в /opt
Сегодня попробовал вот так. В конфигах зебры и рип сетевой интерфейс подменил на vlan2 (в моем RT-N16 он таков). Не запускается.

В /opt/etc/init.d сделал папку Init.d (в архиве её небыло) туда положил S50quagga (из quagga_0.99.4-2_mipsel.ipk) и rc.unslung с кодом


#!/bin/sh
# Start/stop all init scripts in /opt/etc/init.d
# starting them in numerical order and
# stopping them in reverse numerical order
#
if [ $# -ne 1 ]; then
printf "Usage: $0 {start|stop}\n" >&2
exit 1
fi

daemons=`echo $(/usr/bin/dirname $0)/S??*`
[ $1 = "stop" ] && daemons=`echo $daemons | /usr/bin/tr " " "\n" | /usr/bin/sort -r`

for i in $daemons; do

# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue

# Write to syslog
logger -t rc.unslung "$1 service $i"

case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set $1
. $i
)
;;
*)
# No sh extension, so fork subprocess.
$i $1
;;
esac
done
не стартует.. на попытку ручного запуска - /opt/sbin/zebra -u admin -d
пишет - could not lookup group quagga

Подскажите хоть куда писать. Или я не по адресу обращаюсь сюда?

lly
09-01-2011, 10:27
Подскажите хоть куда писать. Или я не по адресу обращаюсь сюда?
Значит никто из использующих quagga просто не успел прочитать ваши посты (например, все на каникулах).

К сожалению, предыдущий вопрошатель, по просьбе которого и добавлена quagga в rtn ветку, так и не отписался в форуме. Ветка в форуме CLN - http://forum.cln.ru/index.php?showtopic=53705&st=0 Возможности полноценно протестировать quagga сам не имею :(

P.S. Советую сперва определиться какую quagga пытаемся настроить - встроенную или из optware.

lompad
09-01-2011, 14:35
Значит никто из использующих quagga просто не успел прочитать ваши посты (например, все на каникулах).

К сожалению, предыдущий вопрошатель, по просьбе которого и добавлена quagga в rtn ветку, так и не отписался в форуме. Ветка в форуме CLN - http://forum.cln.ru/index.php?showtopic=53705&st=0 Возможности полноценно протестировать quagga сам не имею :(

P.S. Советую сперва определиться какую quagga пытаемся настроить - встроенную или из optware.

Здравствуйте, спасибо за ответ:-)

Как подступиться к встроенной quagga я даже не понял.

Мои попытки есть в треде.

Потом я пытался установить и запустить quagga которая использовала внешнюю флэшку (каталог /opt монтировался туда) (по аналогии с http://forum.mageal.net/index.php?s=&showtopic=14249&view=findpost&p=270952).

Видимо всилу моего незнания nix систем всё это у меня даже не стартует.

Как итог прописал все (около 300) маршруты в post-firewall. Но не по-пацански это как-то.

Не могли бы Вы подсказать каким образом подступиться к настройкам встроенной в прошивку quagga? Или с моими знанияму лечше не мучать себя и общественность?:-)

Сейчас стоит 1.9.2.7-rtn-r2455

lly
09-01-2011, 14:41
Видимо всилу моего незнания nix систем всё это у меня даже не стартует.
Наверное придётся поднять компьютерную грамотность...

Не могли бы Вы подсказать каким образом подступиться к настройкам встроенной в прошивку quagga?
Поддержки в веб-морде нет, есть только сама quagga. Создаёте конфиг и запускаете с нужными ключами /usr/sbin/ripd и т.д.

lompad
13-01-2011, 17:41
Наверное придётся поднять компьютерную грамотность...

Поддержки в веб-морде нет, есть только сама quagga. Создаёте конфиг и запускаете с нужными ключами /usr/sbin/ripd и т.д.
Спасибо. Пойду RTFM. Буду почитать про то, где должны лежать конфиги, про нужные ключи и что есть в линуксе "запустить" :-)

Сделал так:


/etc/zebra.conf
---------------CUT-------------------
hostname rip
password quagga
enable password quagga
interface vlan2
--------------CUT---------------------

/etc/ripd.conf

--------------CUT---------------------
hostname ripd
password quagga
router rip
timers basic 30 4900 4800
network vlan2
passive-interface vlan2
--------------CUT----------------------

/usr/local/sbin/post-boot

#!/bin/sh
/usr/sbin/zebra -u admin -d
/usr/sbin/ripd -u admin -d
далее

[admin@ASUS root]$ chmod +x /usr/local/sbin/post-boot
далее

/usr/local/sbin/post-firewall

#!/bin/sh
/usr/sbin/iptables -I INPUT 7 -p udp --dport 520 -j ACCEPT
далее

[admin@ASUS root]$ chmod +x /usr/local/sbin/post-firewall
далее

echo "/etc/zebra.conf" >> /usr/local/.files
echo "/etc/ripd.conf" >> /usr/local/.files
далее

flashfs save && flashfs commit && flashfs enable && reboot
после перезагрузки в диагностик инфо и систем лог роутера упоминаний о ripd, zebra и quagga не наблюдается...
таблица роутов содержит то, что забито в статике. Если пробовать вручную:

[admin@ASUS root]$ /usr/sbin/ripd -u admin -d
privs_init: could not lookup group quagga
[admin@ASUS root]$ /usr/sbin/zebra -u admin -d
privs_init: could not lookup group quagga
Вот как-то так пока... :-( Одна странность - winscp при коннекте пишет:

Command 'groups'
failed with return code 127 and error message
-sh: groups: not found.
Господа гуру, посмотрите пжлста, что я делаю не так.

lly
13-01-2011, 18:04
Господа гуру, посмотрите пжлста, что я делаю не так.
Вы не прочитали как сохранять файлы из /etc во flashfs. Ну и практически у любой команды есть хелп, например /usr/sbin/ripd --help

lompad
14-01-2011, 09:44
Вы не прочитали как сохранять файлы из /etc во flashfs. Ну и практически у любой команды есть хелп, например /usr/sbin/ripd --help
Мне удалось найти 3 варианта написания команды сохранения файлов из /etc во flashfs

1. как написано у меня - echo "/etc/zebra.conf" >> /usr/local/.files
2. без кавычек - echo /etc/zebra.conf >> /usr/local/.files
3. с ковычками но с одной скобкой - echo "/etc/zebra.conf" > /usr/local/.files

Как я понял, мой вариант не правильный. Но ведь конфиги сохраняются и при перезагрузке из flashfs восстанавливаются.
Они сохраняються не так как нужно? Или я сохраняю не всё, что нужно?

К сожалению форум ответов на эти вопросы мне не дал..
Какой из оставшихся двух вариантов написания мне необходимо выбрать?
Про ключи к запуску ripd и zebra буду читать дальше.
По вопросу ключей. Если я правильно понял то это:


Common Invocation Options
These options apply to all Zebra daemons.

-d
--daemon
Runs in daemon mode.

-f file
--config_file=file
Set configuration file name.

-h
--help
Display this help and exit.

-i file
--pid_file=file
Upon startup the process identifier of the daemon is written to a file, typically in /var/run.
This file can be used by the init system to implement commands such as .../init.d/zebra status, .../init.d/zebra restart or .../init.d/zebra stop.
The file name is an run-time option rather than a configure-time option so that multiple routing daemons can be run simultaneously.
This is useful when using Zebra to implement a routing looking glass. One machine can be used to collect differing routing views from differing points in the network.

-P port
--vty_port=port
Set the VTY port number.

-v
--version
Print program version.
Я понимаю так, что запускать нужно как демон -d, насчет указания юзера -u
в мануале ничего нет и следовательно этот ключ нужно удалить.
Я пробовал делать и с этими ключами и без них - не запускается.
Остальные ключи для меня просто "новые ворота".

lly
14-01-2011, 10:57
Мне удалось найти 3 варианта написания команды сохранения файлов из /etc во flashfs

К сожалению, вы так и не поняли чем они отличаются :(
Подсказка - проверьте содержимое /usr/local/.files

Ну или ждите желающего написать инструкцию по пунктам.

lompad
14-01-2011, 17:03
К сожалению, вы так и не поняли чем они отличаются :(
Подсказка - проверьте содержимое /usr/local/.files

Ну или ждите желающего написать инструкцию по пунктам.
всю лирику из поста удалил....

содержимое /usr/local/.files

/usr/local/sbin/post-boot
/etc/zebra.conf
/etc/ripd.conf
Вобчим заработало.

Конфиги нужно было положить не в etc а в etc/quagga создал пользователя quagga и группу quagga
после ребута роутер стал принимать маршруты и таблица выглядит внушительно.
Статические маршруты отключил. Все работает, даже IPTV (он тоже вещает свой маршрут у нас оказывается).
Вот как-то так. Щас буду тестить torrent


Торрент сразу вцепился в пира с адресом 109.207.ххх.ххх и тянет с него со скоростью 5 мегабайт в секунду.
Думаю я получил, что хотел. lly спасибо Вам за помощ и за то, что вы делаете для таких бедолаг как мы:-)

В итоге все выглядит так:

Запуск втроенной в прошивку 1.9.2.7-rtn-r2455 quagga, с целью включить слушатель RIP.


/etc/quagga/zebra.conf

hostname rip
password quagga
enable password quagga
interface vlan2

/etc/quagga/ripd.conf

hostname ripd
password quagga
router rip
timers basic 30 4900 4800
network vlan2
passive-interface vlan2

/usr/local/sbin/post-boot

#!/bin/sh
/usr/sbin/zebra -u admin -d
/usr/sbin/ripd -u admin -d
далее

$ chmod +x /usr/local/sbin/post-boot
далее добавляем в /usr/local/sbin/post-firewall

#!/bin/sh
/usr/sbin/iptables -I INPUT 7 -p udp --dport 520 -j ACCEPT
далее

$ chmod +x /usr/local/sbin/post-firewall
далее добавляем в /etc/passwd

quagga:x:1000:1000:Linux user,,,:/home/quagga:/bin/sh
добавляем в /etc/group

quagga:x:1000:
Далее вносим файлы в .files (в телнете)

$ echo /usr/local/sbin/post-boot > /usr/local/.files
$ echo /etc/quagga/zebra.conf >> /usr/local/.files
$ echo /etc/quagga/ripd.conf >> /usr/local/.files
$ echo /etc/passwd >> /usr/local/.files
$ echo /etc/group >> /usr/local/.files
далее сохраняем результат

$ flashfs save && flashfs commit && flashfs enable && reboot

lly
14-01-2011, 19:21
Думаю я получил, что хотел.

lly спасибо Вам за помощ и за то, что вы делаете для таких бедолаг как мы:-)

Ну и замечательно.

P.S. Но организовать обучение unix(linux) с нуля в рамках этого форума увы нереально (просто не найдётся желающих обучать), отсюда и мои краткие посты, рассчитанные на хоть какие-то базовые знания.

irkcity
03-02-2011, 03:42
Собрал себе прошивку для DIR-320 с quagga 0.99.17, запустил zebrad и ospfd.

Вижу входящие от других роутеров hello в мультикаст-группе 224.0.0.5, но сам ospfd ничего не отправляет наружу (смотрел через debug и зеркалировал порт на свитче на ноутбук с Wireshark - вообще ничего).

iptables -F сделал, не помогло.
В логе видно что ospfd успешно входит в мультикаст-группу и всё.
Не могу понять в чём дело.


1970/01/01 00:00:06 OSPF: ASBR[Status:1]: Update
1970/01/01 00:00:06 OSPF: OSPFd 0.99.17 starting: vty@2604
1970/01/01 00:00:06 OSPF: interface 192.168.0.1 [7] join AllSPFRouters Multicast group.
1970/01/01 00:00:06 OSPF: interface 192.168.2.10 [6] join AllSPFRouters Multicast group.


test1# sh ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
10.21.8.101 1 Init/DROther 40.000s 192.168.2.1 vlan1:192.168.2.10 0 0 0


/usr/sbin/zebra -u admin -g root -f /usr/local/etc/zebra.conf -d
/usr/sbin/ospfd -u admin -g root -f /usr/local/etc/ospfd.conf -d


/usr/local/etc/zebra.conf
hostname test1
password zebra
enable password zebra
!
interface br0
ipv6 nd suppress-ra
!
interface eth0
ipv6 nd suppress-ra
!
interface eth1
ipv6 nd suppress-ra
!
interface lo
!
interface sit0
ipv6 nd suppress-ra
!
interface vlan0
ipv6 nd suppress-ra
!
interface vlan1
ipv6 nd suppress-ra
!
ip forwarding
!
!
line vty

/usr/local/etc/ospfd.conf
hostname test1
password zebra
enable password zebra
log file /tmp/ospfd.log
!
!
!
interface br0
!
interface eth0
!
interface eth1
!
interface lo
!
interface sit0
!
interface vlan0
!
interface vlan1
!
router ospf
ospf router-id 192.168.2.10
log-adjacency-changes
redistribute connected
network 192.168.0.0/24 area 0.0.0.0
network 192.168.2.0/24 area 0.0.0.0
!
line vty

Поставил quagga 0.99-10, сразу всё заработало :) Не всё заработало.
ospfd не передаёт в zebrad информацию о полученных по OSPF маршрутах.
Если в zebrad написать статику, она появляется в системе.
А в дебаге зебры не видно что она получает от ospfd что-либо

Выкладываю свою версию прошивки для DIR-320, есть только zebra и ospfd
Конфиги берутся из /usr/local/etc/zebra.conf, дамп flashfs с конфигами в архиве с прошивкой.
Ограничение - полученные роуты не попадают в систему, работает только отправка маршрутов по OSPF.
В принципе если устройство конечное, то достаточно дефолта.

http://ifolder.ru/21749644 MD5 (DIR320-1.9.2.7-d-r2534M.zip) = f12a65b175c5532bb6cca2cecf1c550e

DeeZ
03-02-2013, 06:40
Пытаюсь запустить зебру, но при попытке сделать это, ничего не выходит.

роутер rtn16 прошивка от энтузиастов 1.9.2.7-rtn-r4772
репозиторий http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable
quagga quagga_0.99.16-1_mipsel


[root@rt-n16:quagga]#ls -la
-rwxrwx--- 1 quagga quagga 373 Feb 3 12:19 ospfd.conf
-rwxrwx--- 1 quagga quagga 380 Feb 3 03:49 zebra.conf

[root@rt-n16:quagga]#cat zebra.conf
hostname Router
password zebra
enable password zebra
log file /opt/var/log/zebra.log

[root@rt-n16:~]#/opt/sbin/zebra /opt/etc/quagga/zebra.conf
Segmentation fault

попробуйте репозиторий EntWare ;) потом не забудьте написать инструкцию по установке :)
Пробовал EntWare там та же фигня. он не запускается.

MercuryV
18-05-2013, 21:12
Пробовал EntWare там та же фигня. он не запускается.
"та же фигня" == Segmentation fault ?

DeeZ
26-05-2013, 08:14
"та же фигня" == Segmentation fault ?
да, "Segmentation fault"

Подскажите, не починили ли quagga? А то он не запускался. Сижу на старом репе, проверить не могу.

DeeZ
02-09-2016, 15:21
обновился на entware репозиторий. тут квага работает нормально :) ура