PDA

Bekijk de volledige versie : Автоматический реконнект соединения на роутере



Pages : [1] 2

Gaoo
25-09-2006, 18:50
PPTP + MSCHAPv2+MPPE128+Dynamic IP
Прошивка 1.9.2.7-7f-pre7

Additional pppd options: nomppe-stateful
Остальное по Дефолту

Так вот. Где то раз в сутки (скорее всего во время неактивности моего компа за роутером) происходит отваливание от сети прова. Лечиться простым Connect в веб интерфейсе роутера. Делать не напряжно но уже достает. Природу данного отключения от прова не могу понять.

За роутером стоит так же SIpnet Ip телефона стационарный, он какждые 3 минуты шлет посыл проверки конекта до своего сервера. Т.е вроде бы эмуляция конекта изнутри есть.
Вопрос: Если 500 отвалился от VPN прова, он сам в состоянии сделат Reconnect ? Или вручную опять.
Спасибо!!!!

Oleg
25-09-2006, 19:21
Но сам будет переподключаться через 30 сек после обрыва. Но количество попыток ограничено десятью. Чтобы ограничить их бесконечностью добавьте "maxfail 0" в Additional pppd options.

Gaoo
26-09-2006, 11:25
Но сам будет переподключаться через 30 сек после обрыва. Но количество попыток ограничено десятью. Чтобы ограничить их бесконечностью добавьте "maxfail 0" в Additional pppd options.

какой синтаксис верный с учетом того что в Additional pppd options уже есть параметр.

Oleg
26-09-2006, 17:24
Добавьте через пробел, без кавычек.

Gaoo
26-09-2006, 19:07
Добавьте через пробел, без кавычек.


Спасибо. Добавил. Потестирую!!!

exdlinker
26-09-2006, 21:42
Sorry,

but can anyone translate it into english, please ??? Thinking what i have the same problem: WL500pP wont reconnect after disconnect from ISP. If the connection get lost and the router can't get reconnected after 5 or 10 min, the connection is lost. The router doesn't try it any more.
(see also http://wl500g.info/showthread.php?t=3967).

idmitry
27-09-2006, 09:39
Sorry,

but can anyone translate it into english, please ??? Thinking what i have the same problem: WL500pP wont reconnect after disconnect from ISP. If the connection get lost and the router can't get reconnected after 5 or 10 min, the connection is lost. The router doesn't try it any more.
(see also http://wl500g.info/showthread.php?t=3967).
Add "maxfail 0" (without quotes) to Additional pppd options field on IP-Config dialog.

Gaoo
02-10-2006, 17:14
Добавьте через пробел, без кавычек.

Все отлично работает!!!!

All ok!!!! Thanks!!!!

TVadim
17-10-2006, 14:57
Как бы корректней из sh заставить pppd рестартовать сессию настроенную через веб интерфейс?

Прошивка 1.9.2.7-7f-pre7

Oleg
17-10-2006, 15:02
Если изменились настройки ppp, то они подхватятся только после ребута.

А так - killall -1 pppd

exdlinker
01-11-2006, 18:22
Add "maxfail 0" (without quotes) to Additional pppd options field on IP-Config dialog.

Hehe,

cool works perfectly :D ... BIG Thx @ you ...

So, I get the next problem / config-question :)

Is there any additional config to let the router disconnect / reconnect at specificly time, e.g. 04:53 in the morning without using crond ?.

thx for helping :)

Jekl
07-11-2006, 11:14
Подключен к домашней (локальной) сети провайдера. Интернет через сеть. Все настройки пров дает автоматом. Создан VPN канал с офисом.
Все Ок. Но, иногда отваливается интернет. В веб-интерфейсе роутера на страничке Status & Log - Status
Link Status: Disconnected
При этом VPN канал с офисом работает.
Нажимаю Connect и интернет начинает работать.

Вопрос: Какие команды выполняются при нажатии на кнопки Connect и Disconnect соответственно?
Хочу контролировать соединение через cron и, при необходимости, запускать Connect.

Oleg
07-11-2006, 12:03
Disconnect -
killall pppd

Connect -
killall pppd
sleep 5s
pppd file /tmp/ppp/options.wan0

Jekl
08-11-2006, 07:52
Disconnect -
killall pppd

Connect -
killall pppd
sleep 5s
pppd file /tmp/ppp/options.wan0

Oleg Спасибо за ответ!
Но я устанавливаю VPN соединение с офисом именно запуском pppd.
А при отпадании интернета VPN соединение с офисом работает!
Я так понимаю, что если я не буду устанавливать VPN соединение с офисом то и процесса pppd не будет.
А инет должен быть.
VPN соединение устанавливаю запуском

pppd file /opt/etc/ppp/peers/office

Или я чего-то не понимаю?

Jekl
10-11-2006, 18:47
Вопрос остается актуальным :(
При нажатии на кнопку Connect получаю лог:

Nov 10 20:34:21 wan: connected manually
Nov 10 20:34:21 udhcpc[114]: Performing a DHCP renew
Nov 10 20:34:21 udhcpc[114]: Lease of 10.64.4.хх obtained, lease time 43200
Nov 10 20:34:21 dnsmasq[70]: read /etc/hosts - 5 addresses
Nov 10 20:34:21 dnsmasq[70]: reading /tmp/resolv.conf
Nov 10 20:34:21 dnsmasq[70]: using nameserver 10.64.4.1#53
Nov 10 20:34:21 dhcp client: bound IP : 10.64.4.хх from 10.64.4.1

Вот и хочется понять как вызвать wan: connected manually?

Oleg
10-11-2006, 19:08
Если честно, я ничего не понял. Поясните, что у Вас за конфигурация? Судя по логу - Automatic IP?

Jekl
10-11-2006, 19:20
Если честно, я ничего не понял. Поясните, что у Вас за конфигурация? Судя по логу - Automatic IP?

Да, Automatic IP.

При отваливании инета на страничке Status & Log - Status
WAN Type: Automatic IP
IP Address: пусто
Subnet Mask: пусто
Gateway: пусто
DNS Servers: пусто
Link Status: Disconnected

При этом VPN соединение работает нормально.

Oleg
10-11-2006, 19:22
Так не бывает. Pptp соединения быть не может, если нет Ip адреса. Вы Pptp соединение сами устанавливаете? Покажите Ваш файл с опциями.

Jekl
10-11-2006, 19:34
Так не бывает. Pptp соединения быть не может, если нет Ip адреса. Вы Pptp соединение сами устанавливаете? Покажите Ваш файл с опциями.

При включении (перезагрузке) роутера устанавливается Pppd соединение из файла post-mount
# запуск VPN соединения
pppd file /opt/etc/ppp/peers/office

При этом с инетом все в порядке и IP Address, и Subnet Mask, и Gateway, и DNS Servers все заполняется автоматом.

Затем через некоторое время отваливается инет, но Pppd соединение остается.

Oleg
10-11-2006, 20:18
Давайте лог в момент отсоединения...

Jekl
15-11-2006, 12:10
Давайте лог в момент отсоединения...

Момент поймал, смотри лог во вложении. В логе много лишнего, но может оно как-то влияет.
Еще заметил следующее: инет пропадает, но VPN соединение остается и с компа я хожу по папкам офисного сервера. Когда нажимаю кнопку Connect в WEB-интерфейсе роутера - инет появляется, но вот доступ к папкам офисного сервера с компа пропадает. При этом таблица роутинга на WL-500gx не меняется. С роутера traceroute на офис идет нормально, а вот с компа - висяк :(

Oleg
20-11-2006, 15:25
Мысль простая - Вам нужно вписать ip-up-script и ip-down-script и не дёргать дефолтные. Связь пропадает, когда происходит дисконнект от офиса.

Jekl
21-11-2006, 11:52
Мысль простая - Вам нужно вписать ip-up-script и ip-down-script и не дёргать дефолтные. Связь пропадает, когда происходит дисконнект от офиса.

Сенкс, за помощь!
ip-up-script есть

#!/bin/sh
route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.200.1
iptables -t nat -A POSTROUTING -o $1 -j MASQUERADE

а вот что прописать в ip-down-script из "настройки с нуля" я так и не понял

b) создать файлы /tmp/ppp/ip-up и /tmp/ppp/ip-up вместо линков которые там лежат
в первый вставить - например вход в удаленную сеть 11.11.11.0
route add -net 11.11.11.0 netmask 255.255.255.0 dev $1
переменные которые передаются скрипту: $1 - интерфейс, например ppp0, $4 - назначенный IP, $5 - удаленный IP
удалять маршрут не нужно - после гашения интерфейса он сам исчезнет. Если подключение идет к интернет то таким же образом можно поменять шлюз по умолчанию:
route add default dev $1
удалять маршрут по умолчанию если он был IP адресом не нужно - он будет в конце списка

Oleg
21-11-2006, 11:54
ip-down-script /bin/true

Jekl
21-11-2006, 12:27
ip-down-script /bin/true

Плз, уточните чайнику:
1. имя файла ip-down-script или все-таки /tmp/ppp/ip-down ?
2. в первой строке #!/bin/sh писать надо?

Oleg
21-11-2006, 13:16
:)

напишите в options строчку, которую я сказал. И всё.

Jekl
22-11-2006, 13:45
:)

напишите в options строчку, которую я сказал. И всё.

Oleg, большое спасибо!!! Прописал. Полет, пока, нормальный.
Я так понял, что опции PPPD ip-up-script и ip-down-script позволяют задавать мои скрипты для соответствующих событий?
А вот в MAN'е по PPPD я этого так и не понял :(
Еще раз спасибо!

Прописал в опциях pppd

ip-up-script /usr/local/sbin/ip-up

Создал файл /usr/local/sbin/ip-up

#!/bin/sh
route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.200.1
iptables -t nat -A POSTROUTING -o $1 -j MASQUERADE

В результате в syslog

pppd[148]: Can't execute /usr/local/sbin/ip-up: Invalid argument

Что не так делаю?

Oleg
25-11-2006, 13:58
chmod +x забыли?

Jekl
25-11-2006, 22:01
chmod +x забыли?
"Семен Семенович ..." (с) Бриллиантовая рука
Каюсь, забыл :confused:

Mam(O)n
23-03-2007, 16:23
На днях столкнулся со следующим. Сутки гдето отсутствовала связь с сервером и роутер никак не мог поднять туннель. В итоге pppd вылетел со следующими записями в syslog:


..............
Mar 22 05:31:36 pppd[16496]: Timeout waiting for PADO packets
Mar 22 05:31:36 pppd[16496]: Unable to complete PPPoE Discovery
Mar 22 05:33:11 pppd[16496]: Timeout waiting for PADO packets
Mar 22 05:33:11 pppd[16496]: Unable to complete PPPoE Discovery
Mar 22 02:34:46 pppd[16496]: Timeout waiting for PADO packets
Mar 22 02:34:46 pppd[16496]: Unable to complete PPPoE Discovery
Mar 22 02:35:46 pppd[16496]: socket: Too many open files
Mar 22 02:35:46 pppd[16496]: Sent PADT

Сам pppd я запускаю ручками из скрипта.
Конечно для меня не составляет труда написать скриптик, который будет следить за падением pppd и поднимать его, просто в целях расширения кругозора возник вопрос - это такая бага или фича?
И еще, если поднимать туннель через web интерфейс, работает ли какойнибудь демон, следящий за падением pppd?
З.Ы. Паршивка стоит 1.9.2.7-7g-pre1.
---------
PPS. Кстати толко что заметил, что как-то странно со временем записи получилось. Часы не могли сбится, т.к. после этой записи у меня была запись сделанная cron'ом, датированная Mar 22 06:00, и далее все по порядку. Как это могло произойти непонимаю.

VEDMED007
28-10-2007, 09:30
Недавно возникла необходимость "передергивать" только инет - сбросить pptp и поднять снова.
(Рапидшара будь она неладна).

Через веб-интерфейс роутер "роняет" и инет и локалку.

Киньте ссылку на работающий скрипт (в поиске не нашел, но подозреваю что он где-то есть).

TVadim
28-10-2007, 10:38
http://wl500g.info/showthread.php?t=6753
А если команду "killall -1 pppd" поместить в /tmp/local/sbin/ez-setup
то при нажатии кнопки ez-setup будет реконект.

VEDMED007
28-10-2007, 11:01
биг сэнкс! ;)

Blinnn4ik
14-03-2008, 11:13
Уважаемые,помогите,пожалуйста!Прикупил WL500gP с месяц как,прошивка от Олега 1.9.2.7-7g (хотя ставил и 1.9.2.7.-8),все настроил, и маршруты, и порты перенаправил для 2-х компов(соеденены с роутером через шнур),провайдер Нетбайнет,но вот в чем проблема:
----после отключения компов,после простоя,на утро инет не работает,хотя в логах и в статусе написано Connect...
не пойму в чем дело(после нажатия на кнопку коннект-все нормально работает).Но хочется без этого.В форуме нашел похожую проблему,там был дисконект при неактивности,Олег посоветовал: Idle Disconnect-->0, но мне не помогло :( Посоветуйте,что сделать?Я в этом деле новичок,но коробочка очень понравилась))))Сам все настроил,но не без помощи данного форума,за что всем спасибо!!!Надеюсь и с этой проблемой поможите......

Vofik
14-03-2008, 20:30
если используете внешний хард\флешку - то поставьте в cron перезагрузку (reboot) каждые 24 часа или в определённое время......

Blinnn4ik
14-03-2008, 20:39
если используете внешний хард\флешку - то поставьте в cron перезагрузку (reboot) каждые 24 часа или в определённое время......

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

выкладываю сегодняшний лог,когда инет не работает,но пишет что подключен(((( может кто поможет....

кстати сеть при этом работает,а инет-нет((((
вот еще..... кто знает в чем дело напишите плиз....может проблема в роутере?

Mar 15 12:45:27 pppd[157]: Connect: ppp0 <--> vlan1
Mar 15 12:45:27 pppd[157]: peer from calling number 00:13:60:20:C3:1A authorized
Mar 15 12:45:27 pppd[157]: local IP address 79.120.32.255
Mar 15 12:45:27 pppd[157]: remote IP address 212.1.254.32
Mar 15 12:45:27 PPPoE: connect to ISP
Mar 15 14:13:07 dnsmasq[69]: DHCPREQUEST(br0) 192.168.1.2 00:1a:4d:9b:7f:7e
Mar 15 14:13:07 dnsmasq[69]: DHCPACK(br0) 192.168.1.2 00:1a:4d:9b:7f:7e sergey
Mar 15 14:14:21 dnsmasq[69]: DHCPINFORM(br0) 192.168.1.2 00:1a:4d:9b:7f:7e
Mar 15 14:14:21 dnsmasq[69]: DHCPACK(br0) 192.168.1.2 00:1a:4d:9b:7f:7e sergey
Mar 15 14:14:24 dnsmasq[69]: DHCPINFORM(br0) 192.168.1.2 00:1a:4d:9b:7f:7e
Mar 15 14:14:24 dnsmasq[69]: DHCPACK(br0) 192.168.1.2 00:1a:4d:9b:7f:7e sergey
Mar 15 14:16:12 dnsmasq[69]: DHCPREQUEST(br0) 192.168.1.3 00:0f:ea:ff:0f:4d
Mar 15 14:16:12 dnsmasq[69]: DHCPACK(br0) 192.168.1.3 00:0f:ea:ff:0f:4d
Mar 15 14:17:45 dnsmasq[69]: DHCPINFORM(br0) 192.168.1.3 00:0f:ea:ff:0f:4d
Mar 15 14:17:45 dnsmasq[69]: DHCPACK(br0) 192.168.1.3 00:0f:ea:ff:0f:4d

Vofik
15-03-2008, 13:40
проблема в том, что корбина выдает vpn'у ip по dhcp, а следовательно аренда ip идет на 24 часа....... после этого вам выдается другой ip, только роутер его не хочет менять!

Blinnn4ik
15-03-2008, 13:49
проблема в том, что корбина выдает vpn'у ip по dhcp, а следовательно аренда ip идет на 24 часа....... после этого вам выдается другой ip, только роутер его не хочет менять!


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

P.S.Кстати,насчет аренды на 24 часа:я оставлял на ночь емуль включенным,так что комп с инетом работал намного больше ,чем 24 часа....а потом вырубил комп,включил где то через часиков 6 , и снова такая хрень... Может я конечно не о том,просто не очень шарю в этом деле....Надеюсь ты мне поможешь))))

Oleg
15-03-2008, 13:58
Это проблема нет-бай-нета. Звоните в саппорт и пусть они разбираются в своих изменениях. Эту тему мы обсуждали на последних страницах осбуждения превью прошивки.

Blinnn4ik
15-03-2008, 14:02
Это проблема нет-бай-нета. Звоните в саппорт и пусть они разбираются в своих изменениях. Эту тему мы обсуждали на последних страницах осбуждения превью прошивки.


Спасибо большое!Буду звонить и спрашивать....
P.S/
А они мне типа не ляпнут,что настраивали не наши специалисты и что у нас все нормально?Давайте вы вызовете наших мастеров они посмотрят(ну и конечно за денюжку).....

Oleg
15-03-2008, 14:04
Конечно ляпнут. Только, когда им позвонят 20 человек, то они задумаются.

Присылать им никого не надо. Им нужно объяснить ситуацию: соединение есть, но трафик не идёт. Возникает после длительного простоя. И началось это примерно такого-то числа.

Blinnn4ik
15-03-2008, 14:07
Конечно ляпнут. Только, когда им позвонят 20 человек, то они задумаются.

Присылать им никого не надо. Им нужно объяснить ситуацию: соединение есть, но трафик не идёт. Возникает после длительного простоя. И началось это примерно такого-то числа.

Спасибо еще раз огромное!!!Буду звонить...
P.S.За прошивку отдельное спасибо!!!!!!!!!!! :)

olezuk
06-04-2008, 20:00
совсем не знаю Линукс, не собираюсь учить так как не нужен по роботе и по жизни.
Прошу помочь прописать команду, чтоб Асус каждые 15-20 минут делал пинг (например ya.ru), и если пинг не идет - перезагружал роутер... спасибо

gaaronk
07-04-2008, 05:19
например так



#!/bin/sh

sleep 1200

while true; do
if ping -c 1 ya.ru > /dev/null 2>&1 ; then
sleep 1200
else
reboot
fi
done

exit 0

Reyter
07-04-2008, 07:27
чтоб Асус каждые 15-20 минут делал пинг (например ya.ru), и если пинг не идет - перезагружал роутер
А вы уверены, что требуется именно перезагружать роутер? Может будет достаточно менее радикальных средств? Типа разорвать/установить соединение или обновить аренду адреса у DHCP-сервера?
Некузяво перегружать роутер.

Antosha
07-04-2008, 17:56
Интересует похожий вопрос.

Ситуация похожая, но если пинга нету, не перезагружать, а отправлять e-mail сообщение (почтовый сервер 100% доступен всегда)?

Ex0RcISt
07-04-2008, 19:59
Перезагрузка - самый простой способ
И действует наверняка =)

VEDMED007
07-04-2008, 21:40
reboot можно вполне заменить на kill -1 pppd или что-нить в этом духе.

Reyter
08-04-2008, 06:11
Перезагрузка - самый простой способ
И действует наверняка =)
Ну да.
Это вы говорите потому, что у вас пока не установлены ADOS, торрентокачалки и т.п. Вот когда всем этим обзаведетесь, поймете, что лишний раз перегружаться весьма неудобно.

Сhemist
08-04-2008, 08:49
Перезагрузка - самый простой способ
И действует наверняка =)

Или вариант: у прова какие-то проблемы и инета нет, а твой роутер ребурится каждые 15 минут?!
Вопрос: сколько в таком темпе проживет 1. роутер с флехой 2. HDD (если есть конечно)

Игорь
08-04-2008, 15:40
Ну да.
Это вы говорите потому, что у вас пока не установлены ADOS, торрентокачалки и т.п. Вот когда всем этим обзаведетесь, поймете, что лишний раз перегружаться весьма неудобно.
стопицот процентов, слушайте Reyter он дело говорит, локализируйте проблему и решайте её.

almeewar
23-07-2008, 23:08
Разрывать vpn-соединение в Корбине через телнет я научился :))
работает команда killall ppd

А вот включить его снова через телнет - не знаю как.
Тупо пишу "pppd call corbina", в ответ "pppd: Can't open options file /tmp/ppp/peers/corbina: No such file or directory".

Подумал, что выведу содержание каталога peers и узнаю имя файла, которое нужно писать в "pppd call ..." - пишу: "ls /tmp/ppp/peers/", в ответ "ls: tmp/ppp/peers/: No such file or directory". Там вообще пусто.

Ничего не понимаю. Получается, что "pppd call bla-bla" ищет файл "bla-bla" в каталоге "/tmp/ppp/peers/", но он пуст. Совсем я затупил. Хелп!

almeewar
24-07-2008, 06:42
достаточно просто написать reboot
и никаких заморочек с дурацким pppd call.

azhur
24-07-2008, 14:39
У меня на WL-500GP с олеговской прошивкой конфиг соединения по дефолту лежит в файле /tmp/ppp/optons.wan0
Почему pppd по дефолту ищет конфиги в другом месте - надо спрашивать у Олега скорее всего.

almeewar
24-07-2008, 19:48
У меня на WL-500GP с олеговской прошивкой конфиг соединения по дефолту лежит в файле /tmp/ppp/optons.wan0
Почему pppd по дефолту ищет конфиги в другом месте - надо спрашивать у Олега скорее всего.

Хм, странно. Срошу у Олега.
Спасибо за информацию.

shadow.mdk
25-07-2008, 08:31
pppd file /tmp/ppp/options.wan0

вообще это все в ps видно с какими параметрами pppd запусщен

almeewar
25-07-2008, 14:24
pppd file /tmp/ppp/options.wan0

вообще это все в ps видно с какими параметрами pppd запусщен

Роутер ругается так:
pppd: no device specified and stdin is not a tty

ps выдает следующее:

109 admin 668 S pppd sync nodetach noaccomp nobsdcomp nodeflate nopco

Может на это влиять тот факт, что у меня настроено l2tp-соединение?

almeewar
27-07-2008, 00:52
Ладно, люди, поделитесь, кто как сбрасывает vpn-соединение по телнету.

olezuk
30-08-2008, 12:17
например так



#!/bin/sh

sleep 1200

while true; do
if ping -c 1 ya.ru > /dev/null 2>&1 ; then
sleep 1200
else
reboot
fi
done

exit 0


Извените за "тупость", но попрошу подсказать где и как вводить эти команды в роутере.. и как их сохранить для нормальной роботы после перезагрузки роутера..спасибо

MrGalaxy
30-08-2008, 15:55
И в ФАК неплохо занести потом методику добавления своих скриптов в автозагрузку роутера.

olezuk
14-09-2008, 08:51
ПОЖАЛУЙСТА!!!!
да наконец помогите записать команды в девайс... неужели трудно описать методику добавления своих скриптов в автозагрузку роутера.
огромное пожалуйста-опишите подробно как прописать вот это:

#!/bin/sh
sleep 1200
while true; do
if ping -c 1 ya.ru > /dev/null 2>&1 ; then
sleep 1200
else
reboot
fi
done
exit 0

2bars
14-09-2008, 09:14
какой командой dhcp обновлять ? :) чёт забыл и не могу вспомнить никак )

skelet
14-09-2008, 10:46
если у человека родная прошивка стоит, то с какого перепугу вы ему советуете скрипты писать?

Пусть теперь бегняга мучается через http://router/Main_AdmStatus_Content.asp ... :mad:

pro100Man
15-09-2008, 10:54
например так



#!/bin/sh

sleep 1200

while true; do
if ping -c 1 ya.ru > /dev/null 2>&1 ; then
sleep 1200
else
reboot
fi
done

exit 0


Добрый день! меня тоже интересует этот вопрос.Только мне нужна не перезагрузка, а назначение адреса у DHCP-сервера, как правильно звучит эта команда?я хочу что бы не раз в 15 минут, а скажем раз в 4 часа.Если я не ошибаюсь, команду прописывать в файлик pre-mount ?

l2net
15-09-2008, 12:11
и команду "дисконект" и "коннеткт" для PPPoE напишете, пожалуйста

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

заранее спасибо!

Gobbledygook
13-12-2008, 18:39
Господа, как форсировать переподключение маршрутизатора к новой PPPoE-сессии? Хочется иметь возможность вызвать disconnect/connect из командной строки в Windows, чтобы маршрутизатор получил от провайдера новый IP.
Маршрутизатор WL-500GPv2.
Прошивка: заводская

В веб-интерфейсе есть отдельная страница, с которой можно вызывать disconnect/connect вручную, с помощью соответствующих кнопок.
Эти кнопки, насколько я вижу, передают маршрутизатору команды:
Disconnect: dhcp_release
Connect: dhcp_renew

Передаются они в качестве аргументов методов onSubmitApply на странице Main_GStatus_Content.asp

Вопрос? Как вызывать эти функции из коммандной строки, чтобы можно было автоматически инициировать получение маршрутизатором нового IP у провайдера?

Насколько я понимаю, у стандартной прошивки нет ни telnet, ни ssh-сервера?

1. Может, кто пробовал вызывать эти команды через PowerShell?

2. Если поставить прошвку от Олега, как выполнить release/renew через telnet / ssh?

Только плиз, не пишите, что это уже обсуждалось. Все когда-то да обсуждалось... Помогите уж найти решение. Поиск, разумеется, использовал. Нашел только reset через SSH. Это не совсем то, что надо.... Надеюсь на помощь.

Спасибо.

DfDf
13-12-2008, 23:43
Для себя решил проблему через UPnP - когда интерфейс на WAN поднят - винда видит "Подключение к интернету" (ну, ессно, надо винду поднастроить на это малость), которое можно делать "Отключить", а потом - "Подключить" - это и вызовет up/down WAN'а) , только надо делать с некоторой паузой и дожидаться отключения/подключения. На моем опыте - примерно 30 сек - минута.

Gobbledygook
14-12-2008, 01:35
Для себя решил проблему через UPnP - когда интерфейс на WAN поднят - винда видит "Подключение к интернету" (ну, ессно, надо винду поднастроить на это малость), которое можно делать "Отключить", а потом - "Подключить" - это и вызовет up/down WAN'а) , только надо делать с некоторой паузой и дожидаться отключения/подключения. На моем опыте - примерно 30 сек - минута.

У меня действительно в списке подключений в Панели управления есть соединение Подключение к интеренету типа Шлюз интернета. Если в контестном меню этого подключения выбрать команды Отключить/Влючить, маршрутизатор получает новый IP. То есть это подключение олицетворяет маршрутизатор. Вопрос в том, как автоматизировать переподключение? У ма не приложу.
Rasdial не работает, потому что это не PPPOE-подключение (а Шлюз интернета). А ipconfig /release а потом /renew отключают / включают соединение типа Подключение по локальной сети. То есть ipconfig просто получает внутренний IP-адрес моего компьтера в локальной сети за маршрутизатором. И получает он его как раз у маршрутизатора...

А здесь-то как быть? Подскажите, плиз! А то уже с той же рапидшарой замучался - сутки один и тот же IP у провайдера. Пока не перепоключишь соединение Шлюз интернета, IP не меняется.

DfDf
14-12-2008, 12:57
все перечисленное вами будет работать для локального ком-ра, вам же надо управлять роутером удаленно. если нужна автоматизация, то проще через putty или telnet запустить скриптик на роутере, который переподнимет WAN. в качестве примера см. в эту сторону:http://wl500g.info/showthread.php?t=17338

Gobbledygook
14-12-2008, 13:02
все перечисленное вами будет работать для локального ком-ра, вам же надо управлять роутером удаленно. если нужна автоматизация, то проще через putty или telnet запустить скриптик на роутере, который переподнимет WAN. в качестве примера см. в эту сторону:http://wl500g.info/showthread.php?t=17338

Так вот я как раз и хочу рассмотреть 2 варианта.
1. Локальный (когда что-то пересбрасывает интерфейс Шлюз интернета прямо на локальном компьютере)
Локального варианта мне вполне будет достаточно! Как это сделать?
Вы сказали, что вы как-то сделали это для себя. Как?

2. Удаленно. Здесь понятно, надо через ssh. Но в стандартной прошивке нет серверов ни telnet, ни SSH , насколько я понимаю... Так? По крайней мере, у менфя сокет не открывается. Возможно firewall (iptables)?
Просто боюсь пршивку Олега ставить. Не потому что Олегу не доверяю, просто никогда не делал подобной операции, боюсь напортачить.

Кроме того, перезагрузка маршрутизатора, это немного не то, что disconnect/connect. Я не прав? Как я уже писал, я нашел только reset (ребут) через SSH. А это все же не то, что хотелось бы. Connect/Disconnect происходит в разы быстрее, нежели reboot!

:Offtopic:
Как сделать, чтобы посты отображались в хронологическом порядке (самый старый пост - вначале страницы). Сейчас как-то неудобно читать - вначале страницы появляются посты, которые появились только что.

DfDf
14-12-2008, 13:12
Я делаю ручками, а не автоматом.

Ищите upnp клиента, поддающегося автоматизации.
Вот первое что выдал гугл: http://www.developer-x.com/content/upnp/

там есть binary и даже исходники ;) да-да, под винды, чтобы исключить перевопросы.

Посмотрел его только что-стало интересно ;-) Надо дописывать, чтобы он научился переподнимать интерфейс ;-)
Пока он только порты пробрасывает:


uPnP Services Console Driver - Tim Scarfe (c) 2008
Version 1.0

Usage: .\upnp [OPTION] [ARGUMENT]

-h, --show-help-screen Display the help screen (here)
-g, --get-ip-address Get The External IP Address
-f, --forward-port <PORT> Forward Port <PORT> here
-d, --delete-forward <INT> Delete Forward on <PORT>

Gobbledygook
14-12-2008, 13:31
Я делаю ручками, а не автоматом.

Ищите upnp клиента, поддающегося автоматизации.
Посмотрел его только что-стало интересно ;-) Надо дописывать, чтобы он научился переподнимать интерфейс ;-)
Пока он только порты пробрасывает:
Так вот именно. Если б я был так крут, что умел бы переписать клиента, стал бы я спрашивать, как переустановить подключение на UPnP-устройстве в Windows! Увы, в том-то и дело, что я ищу готовое решение.

DfDf
14-12-2008, 16:16
Млин... Поставьте прошивку, не бойтесь, это не страшно :)

Навскидку поиск UPnP клиента результатов не принес, и потом, это все-таки легкий изврат... telnet куда проще и нативней.

AndreyPopov
15-12-2008, 17:18
Передаются они в качестве аргументов методов onSubmitApply на странице Main_GStatus_Content.asp



1. раз есть страница и есть на ней кнопки, значит к ним можно получить доступ.

обычно прямая ссылка на кнопку задается в формате(примерно так):
http://<admin_name>:<admin_password>@<router_address>/Main_GStatus_Content.asp,apply.cgi=3


2. если же ставить прошивку Олега, то там лучше поставить Cron - планировщик заданий и ему сказать вкл/выкл pppd сессию.

3. а к примеру в прошивке DD-WRT данная функция реализована сразу в Web интерфейсе, стоит в настройках WAN и называется Force Reconnect (при ее активации вы просто задаете время, когда это делать).

DfDf
15-12-2008, 22:08
Что ж, тоже вариант, осталось сказать что через web автоматизация возможна средствами wget или curl. Они есть под винду.

ff0255
14-01-2009, 01:10
Здравствуйте!
Во-первых большое спасибо Олегу и всем.) Узнал здесь много нового.
Во-вторых - та же ситуация: отсутствие связи (меньше суток), в результате падает pppd
wl500gp@1.9.2.7-10
pppd запускался при загрузке роутера сам:


Jan 10 03:56:06 PPPoE: Disconnected
Jan 10 03:56:12 pppd[102]: Connection terminated.
...
Jan 10 22:16:34 pppd[102]: Timeout waiting for PADO packets
Jan 10 22:16:34 pppd[102]: Unable to complete PPPoE Discovery
Jan 10 22:17:39 pppd[102]: Timeout waiting for PADO packets
Jan 10 22:17:39 pppd[102]: Unable to complete PPPoE Discovery
Jan 10 22:18:09 pppd[102]: socket: Too many open files
Jan 10 22:18:09 pppd[102]: Sent PADT

~18часов
далее вручную pppd file /tmp/ppp/options.wan0


Jan 12 21:56:19 PPPoE: Disconnected
Jan 12 21:56:25 pppd[232]: Connection terminated.
...
Jan 13 07:03:35 pppd[232]: Timeout waiting for PADO packets
Jan 13 07:03:35 pppd[232]: Unable to complete PPPoE Discovery
Jan 13 07:04:40 pppd[232]: Timeout waiting for PADO packets
Jan 13 07:04:40 pppd[232]: Unable to complete PPPoE Discovery
Jan 13 07:05:45 pppd[232]: Timeout waiting for PADO packets
Jan 13 07:05:45 pppd[232]: Unable to complete PPPoE Discovery
Jan 13 04:06:50 pppd[232]: Timeout waiting for PADO packets
Jan 13 04:06:50 pppd[232]: Unable to complete PPPoE Discovery
Jan 13 04:07:20 pppd[232]: socket: Too many open files
Jan 13 04:07:20 pppd[232]: Sent PADT

еще меньший интервал ~9ч. и тоже глюк с временем...
через web-интерфейс пока не пробовал
Вопрос: возможно ли реализовать скрипт авто-поднятия pppd без использования внешней флешки?
если нет- может как-нибудь увеличить лимит open files?
или другие идеи? Подскажите пожалуйста.

al37919
14-01-2009, 06:11
Вопрос: возможно ли реализовать скрипт авто-поднятия pppd без использования внешней флешки?
можно

в прошивку встроен crond: http://wl500g.info/showthread.php?t=11928&highlight=crond

Пример скрипта, проверяющего и поднимающего по необходимости процессы есть здесь: http://wl500g.info/showthread.php?t=2556

Чисто любопытно --- эти ошибки про PADO возникают от объективного отсутствия связи со стороны провайдера (при этом лог модема указывает на отсутствие несущей) и переподнятие pppd не приводит к соединению, но позволяет соединиться автоматом когда проблема решена. Я правильно понял? У меня они бывали, но последнее время довольно редко.

ff0255
15-01-2009, 19:30
Спасибо, в голове начинает проясняться :)
с crond вроде разобрался (он похоже и loglevel 0 поддерживает), осталось покрутить скрипты..
PPPoE: Disconnected и ошибки PADO возникали из-за отсутствия связи с PPPoE-сервом прова (он подтвердил), однако к тому времени, когда я переподнимал pppd, связь уже восстанавливалась и PPPoE сразу подключалось.
Нужны дальнейшие тесты, а пров. как назло работает стабильно :( придется видимо выдирать провод из WAN...
Вот ещё после этих дисконнектов заметил одну аномалию:


<...> ]$ ps
PID Uid VmSize Stat Command
1 <...> 652 S /sbin/init
2 <...> SW [keventd]
3 <...> SWN [ksoftirqd_CPU0]
4 <...> SW [kswapd]
5 <...> SW [bdflush]
6 <...> SW [kupdated]
7 <...> SW [mtdblockd]
60 <...> 336 S telnetd
65 <...> 600 S httpd vlan1
67 <...> 412 S syslogd -m 0 -O /tmp/syslog.log -S -l 7
69 <...> 552 S nas /tmp/nas.lan.conf /tmp/nas.lan.pid lan
72 <...> 364 S klogd
73 nobody 464 S [dnsmasq]
74 <...> SW [khubd]
104 <...> 444 S watchdog
107 <...> 344 S ntp
119 <...> 484 S dropbear
255 <...> 344 S ntp
259 <...> 344 S ntp
262 <...> 344 S ntp
571 <...> 784 S pppd file /tmp/ppp/options.wan0
749 <...> 404 S /usr/sbin/crond
769 <...> 548 S -sh
772 <...> 392 R ps

какой из них убивать не знаю...

Dimac
15-01-2009, 22:03
Требуется сделать автоматический реконнект pppoe соединения ровно в 0ч каждый день(ночью скорость в 2 раза выше, но требуется реконнект). Как это можно реализовать на прошивке от Олега? Если уже обсуждалось то сорри дайте плз ссылку(и) поиском не нашел(

Power
15-01-2009, 22:49
Чтобы сделать реконнект pppoe, нужно выполнить команду (если у вас только одно pppoe-соединение)


killall -SIGHUP pppd

Это разорвёт текущую сессию, подождёт 30 (по умолчанию) секунд и поднимет новую сессию.

А как запустить это по расписанию - в поиск или в man по словам cron, crontab.

Dimac
17-01-2009, 22:39
на самом роутере сделать реконнект по расписанию не получилось(
При комманде crontab -l или crontab -e выдается сообщение "crontab: cannot change dir to /var/spool/cron/crontabs: No such file or directory" .
Сама комманда "killall -SIGHUP pppd" через telnet работает (спасибо Power'y) по этому было решено использовать для перезагрузки роутера сервер(работает 24/7) под управлением ubuntu 8.10. Для этой цели был сделан скрипт на expect:




#!/usr/bin/expect -f
spawn telnet 192.168.1.1
expect "login:"
send "admin\r"
expect "Password:"
send "admin\r"
expect "%"
send "killall -SIGHUP pppd\r"
expect "%"
send "exit\r"
expect eof


и был добавлен в cron:
crontab -e


1 0 * * * /usr/bin/expect -f /home/dimac/reconnect.ex

dr256
26-02-2009, 17:32
Можно поднять тему?
та же ситуация с pppoe
Feb 26 08:22:38 pppd[103]: Unable to complete PPPoE Discovery
Feb 26 08:23:43 pppd[103]: Timeout waiting for PADO packets
Feb 26 08:23:43 pppd[103]: Unable to complete PPPoE Discovery
Feb 26 08:24:48 pppd[103]: Timeout waiting for PADO packets
Feb 26 08:24:48 pppd[103]: Unable to complete PPPoE Discovery
Feb 26 08:25:18 pppd[103]: socket: Too many open files
Feb 26 08:25:18 pppd[103]: Sent PADT



Раньше было pptp, в случае проблем у провайдера, глюков небыло.
а тут уже не первый раз,
может подскажете простое (красивое) решение?
а то кроном делать как то неочень.
WL500gp-1.9.2.7-10

ps.

[admin@WL5GP root]$ cat /proc/sys/fs/file-max
8192

если я сделаю
echo "65536" > /proc/sys/fs/file-max
насколько дольше хватит этого?
и не будет ли проблем с нехваткой памяти?

Olsen
19-04-2009, 12:43
Провайдер советует поставить след. настройки для увелечения скорости:

Additional pppd options: nomppe nomppc sync
Heart-Beat or PPTP/L2TP (VPN) Server: vpn.lan --sync --nobuffer

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

Прошивка 1.9.2.7-10

Я думаю --sync --nobuffer надо убрать. Потом из Additional надо убрать тоже sync. А может и nomppe и nomppc можно заменить "No encryption" в предыдущем поле?

userouter
19-04-2009, 17:31
оставить надо те которые вы хотите оставить, а это уже вопрос про pptp,а не роутер
с другой стороны какие параметры применяет роутер без прямого конфигурирования опций pppd, для этого уберите все ключи и посмотрите, вроде через список процессов (ps) можно увидеть, там должны быть строка запуска pppd с ключами.

Power
19-04-2009, 22:57
Через ps можно увидеть только "pppd file /tmp/ppp/options.wan0". Чтобы узнать, какие опции применены, выполните "cat /tmp/ppp/options.wan0".

Olsen
20-04-2009, 21:23
Начал копать глубже и вообще не вкурил. Ну во первых про --nobuffer и --sync можно забыть. Они действительно уже включены в базу. Очень помог совет воспользоваться командой: cat /tmp/ppp/options.wan0

Но теперь о грустном. Почему-то при выборе пункта No encryption единственная команда, которая добавляется это -mppc, которая зачем-то компрессию принудительно включает. Если честно от No encription я расчитывал nomppe nomppc, придется их прописывать ручками в Ad. pppd op. Странная какая-то ошибка..........

Olsen
22-04-2009, 09:13
Поправка: команда -mppc компрессию видимо все-таки отключает.
Но хочеться тогда понять в чем отличие -mppc и nomppc, а еще по умолчанию присутствует команда nomppe-stateful. В чем ее отличие от nomppe, почему в некоторых случаях помогает достигнуть работоспособности только с последней?

Народ, помогите разобраться, пожалуйста :)

LSD
02-05-2009, 09:14
Часто по дороге к провайдеру происходят на его оборудовании кратковременные перебои по питанию, сессия остается поднятой на роутере, в системе провайдера я так же в онлайне, но пакеты не проходят. Приходится вручную делать переконнект.
Иногда по пол дня ничего не качается, пока сам не замечу...
Как настроить автоматический переконнект при длительном отсутствии пакетов?
Спасибо.

LSD
02-05-2009, 22:13
Ни у кого нет идей?

Dimcho
02-05-2009, 22:23
Вот тут глянь с правкой на своё pppd и устройство http://wl500g.info/showpost.php?p=143365&postcount=137

LSD
05-05-2009, 17:03
Вот тут глянь с правкой на своё pppd и устройство http://wl500g.info/showpost.php?p=143365&postcount=137


Спасибо, сейчас гляну.
Да, у меня 500GP.
Может есть уже готовое ср-во?

ff0255
07-06-2009, 03:48
нашел, где они плодятся

ls -al /proc/`pidof pppd`/fd
dr-x------ 2 adm root 0 Feb 3 21:20 .
dr-xr-xr-x 3 adm root 0 Feb 3 21:20 ..
lrwx------ 1 adm root 64 Feb 3 21:20 0 -> /dev/null
lrwx------ 1 adm root 64 Feb 3 21:20 1 -> /dev/null
lrwx------ 1 adm root 64 Feb 3 21:20 10 -> socket:[14464]
lrwx------ 1 adm root 64 Feb 3 21:20 11 -> socket:[14477]
lrwx------ 1 adm root 64 Feb 3 21:20 12 -> socket:[14559]
lrwx------ 1 adm root 64 Feb 3 21:20 13 -> socket:[14572]
lrwx------ 1 adm root 64 Feb 3 21:20 14 -> socket:[14587]
lrwx------ 1 adm root 64 Feb 3 21:20 15 -> socket:[14600]
lrwx------ 1 adm root 64 Feb 3 21:20 16 -> socket:[14682]
lrwx------ 1 adm root 64 Feb 3 21:20 17 -> socket:[14695]
lrwx------ 1 adm root 64 Feb 3 21:20 18 -> socket:[14710]
lrwx------ 1 adm root 64 Feb 3 21:20 19 -> socket:[14723]
lrwx------ 1 adm root 64 Feb 3 21:20 2 -> /dev/null
lrwx------ 1 adm root 64 Feb 3 21:20 20 -> socket:[14738]
lrwx------ 1 adm root 64 Feb 3 21:20 21 -> socket:[14818]
lrwx------ 1 adm root 64 Feb 3 21:20 22 -> socket:[14833]
lrwx------ 1 adm root 64 Feb 3 21:20 23 -> socket:[14846]
lrwx------ 1 adm root 64 Feb 3 21:20 24 -> socket:[14861]
lrwx------ 1 adm root 64 Feb 3 21:20 25 -> socket:[14874]
lrwx------ 1 adm root 64 Feb 3 21:20 26 -> socket:[14956]
lrwx------ 1 adm root 64 Feb 3 21:20 27 -> socket:[14969]
lrwx------ 1 adm root 64 Feb 3 21:20 28 -> socket:[14984]
lrwx------ 1 adm root 64 Feb 3 21:20 29 -> socket:[14997]
lrwx------ 1 adm root 64 Feb 3 21:20 3 -> /dev/nvram
lrwx------ 1 adm root 64 Feb 3 21:20 30 -> socket:[15079]
lrwx------ 1 adm root 64 Feb 3 21:20 31 -> socket:[15092]
lrwx------ 1 adm root 64 Feb 3 21:20 32 -> socket:[15107]
lrwx------ 1 adm root 64 Feb 3 21:20 33 -> socket:[15120]
lrwx------ 1 adm root 64 Feb 3 21:20 34 -> socket:[32673]
lrwx------ 1 adm root 64 Feb 3 21:20 35 -> socket:[38133]
lrwx------ 1 adm root 64 Feb 3 21:20 36 -> socket:[38148]
lrwx------ 1 adm root 64 Feb 3 21:20 37 -> socket:[38161]
lrwx------ 1 adm root 64 Feb 3 21:20 38 -> socket:[38176]
lrwx------ 1 adm root 64 Feb 3 21:20 39 -> socket:[38189]
lrwx------ 1 adm root 64 Feb 3 21:20 4 -> socket:[404]
lrwx------ 1 adm root 64 Feb 3 21:20 40 -> socket:[38271]
lrwx------ 1 adm root 64 Feb 3 21:20 41 -> socket:[38284]
lrwx------ 1 adm root 64 Feb 3 21:20 42 -> socket:[38299]
lrwx------ 1 adm root 64 Feb 3 21:20 43 -> socket:[38312]
lrwx------ 1 adm root 64 Feb 3 21:20 44 -> socket:[38394]
lrwx------ 1 adm root 64 Feb 3 21:20 45 -> socket:[38407]
lrwx------ 1 adm root 64 Feb 3 21:20 46 -> socket:[38422]
lrwx------ 1 adm root 64 Feb 3 21:20 47 -> socket:[38435]
lrwx------ 1 adm root 64 Feb 3 21:20 48 -> socket:[38450]
lrwx------ 1 adm root 64 Feb 3 21:20 49 -> socket:[38530]
lrwx------ 1 adm root 64 Feb 3 21:20 5 -> socket:[410]
lrwx------ 1 adm root 64 Feb 3 21:20 50 -> socket:[38545]
lrwx------ 1 adm root 64 Feb 3 21:20 51 -> socket:[38558]
lrwx------ 1 adm root 64 Feb 3 21:20 52 -> socket:[38573]
lrwx------ 1 adm root 64 Feb 3 21:20 53 -> socket:[38653]
lrwx------ 1 adm root 64 Feb 3 21:20 54 -> socket:[38668]
lrwx------ 1 adm root 64 Feb 3 21:20 55 -> socket:[38681]
lrwx------ 1 adm root 64 Feb 3 21:20 56 -> socket:[38696]
lrwx------ 1 adm root 64 Feb 3 21:20 57 -> socket:[38709]
lrwx------ 1 adm root 64 Feb 3 21:20 58 -> socket:[38791]
lrwx------ 1 adm root 64 Feb 3 21:20 59 -> socket:[38804]
lrwx------ 1 adm root 64 Feb 3 21:20 6 -> /dev/null
lrwx------ 1 adm root 64 Feb 3 21:20 60 -> socket:[38819]
lrwx------ 1 adm root 64 Feb 3 21:20 61 -> socket:[38832]
lrwx------ 1 adm root 64 Feb 3 21:20 62 -> socket:[38847]
lrwx------ 1 adm root 64 Feb 3 21:20 63 -> socket:[38927]
lrwx------ 1 adm root 64 Feb 3 21:20 64 -> socket:[38942]
lrwx------ 1 adm root 64 Feb 3 21:20 65 -> socket:[38955]
lrwx------ 1 adm root 64 Feb 3 21:20 66 -> socket:[38970]
lrwx------ 1 adm root 64 Feb 3 21:20 67 -> socket:[39050]
lrwx------ 1 adm root 64 Feb 3 21:20 68 -> socket:[39065]
lrwx------ 1 adm root 64 Feb 3 21:20 69 -> socket:[39078]
lrwx------ 1 adm root 64 Feb 3 21:20 7 -> socket:[413]
lrwx------ 1 adm root 64 Feb 3 21:20 70 -> socket:[39093]
lrwx------ 1 adm root 64 Feb 3 21:20 71 -> socket:[39106]
lrwx------ 1 adm root 64 Feb 3 21:20 72 -> socket:[39188]
lrwx------ 1 adm root 64 Feb 3 21:20 73 -> socket:[39191]
lrwx------ 1 adm root 64 Feb 3 21:20 74 -> /dev/ppp
lrwx------ 1 adm root 64 Feb 3 21:20 75 -> /dev/ppp
lrwx------ 1 adm root 64 Feb 3 21:20 8 -> socket:[14436]
lrwx------ 1 adm root 64 Feb 3 21:20 9 -> socket:[14449]
когда файлов набирается ~1000 - pppd падает
накатал следующее:

cat /usr/local/sbin/pppdrestart
#!/bin/sh
# restart pppd if failed
if ! [ -n "`/bin/pidof pppd`" ]; then
/usr/bin/logger -t cronjob "pppd daemon failed, restarting"
pppd file /tmp/ppp/options.wan0
else
pdpd=`pidof pppd`
if [ `ls /proc/"$pdpd"/fd | wc -w` -ge 700 ]; then
killall pppd
/usr/bin/logger -t cronjob "pppd daemon created too many sockets, restarting"
sleep 1
pppd file /tmp/ppp/options.wan0
fi
fi

скрипты писать особо не умею, можт кто сделает лучше :)
перезапускает либо при падении, либо при появлении 700 файлов в /proc/`pidof pppd`/fd
ну и в крон его

cat /usr/local/sbin/post-boot
#!/bin/sh
mkdir -p /var/spool/cron/crontabs
/usr/sbin/crond -l 9
echo "0,30 10-22 * * * /usr/local/sbin/pppdrestart" | /usr/bin/crontab -

работает месяца 4 уже

Somoss
07-06-2009, 14:53
Доброго времени суток.

Есть задача - получение данных от роутера (в моём случае ASUS WL-500G Premium v2).

Знаю про возможность работы через http протокол.
В этом случае мы обращаемся к админской панели.

Вопрос - какие есть ещё варианты обращения к точке и типы возвращаемых данных?

Программирую на PHP. Цель - получение данных, для контроля работы точки. Что-то вроде "отвечает она или нет". Хотелось бы сделать реализацию этой проверки ещё и другим способом.

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

palm
08-06-2009, 19:34
Доброго времени суток.

Есть задача - получение данных от роутера (в моём случае ASUS WL-500G Premium v2).

Знаю про возможность работы через http протокол.
В этом случае мы обращаемся к админской панели.

Вопрос - какие есть ещё варианты обращения к точке и типы возвращаемых данных?

Программирую на PHP. Цель - получение данных, для контроля работы точки. Что-то вроде "отвечает она или нет". Хотелось бы сделать реализацию этой проверки ещё и другим способом.

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

Одним словом-это протоколы TCP/IP. Самое простое-ICMP или ping :)
А сокеты-программная реализация всего этого хозяйства.

kodmis
08-06-2009, 20:01
можно стукнуться в нее telnet'ом, если php такое умеет.
Если запрашивает логин, значит жива :)

Вроде еще в прошивке версии 7-d видел snmp, но как там оно запускает и работает ли вообще как snmp-агент не знаю. Если удастся запустить на роутере snmp-агента, то бОльшего вообщем-то и не надо :)

valentyn
11-06-2009, 20:31
Скажите, пожалуйста, есть ли готовый софт, который мог бы висеть на роутере и периодически проверять какой-нибудь критерий (например, наличие ICMP Response от какого-либо хоста) и, при его несоответствии, предпринимал какое-либо действие (к примеру, переподнимал vpn-соединение или перезагружал роутер).

Дело в том, что бывает так, что vpn-соединение есть, но обмена данными нет — что-то подвисает у провайдера. Роутер при этом не находится в физической доступности и хочется, чтобы он сам пытался восстановить соединение (разорвать и поднять). Одним словом, хочется такой себе watchdog на всякий случай.

Роутер: WL-500gP Premium V2

DfDf
13-06-2009, 20:36
Скажите, пожалуйста, есть ли готовый софт, который мог бы висеть на роутере и периодически проверять какой-нибудь критерий (например, наличие ICMP Response от какого-либо хоста) и, при его несоответствии, предпринимал какое-либо действие (к примеру, переподнимал vpn-соединение или перезагружал роутер).

Дело в том, что бывает так, что vpn-соединение есть, но обмена данными нет — что-то подвисает у провайдера. Роутер при этом не находится в физической доступности и хочется, чтобы он сам пытался восстановить соединение (разорвать и поднять). Одним словом, хочется такой себе watchdog на всякий случай.

Роутер: WL-500gP Premium V2

софт называется - bash shell script. :)

valentyn
15-06-2009, 17:37
софт называется - bash shell script. :)

Ок. Спрошу по-другому :) Какова командная строка, приводящяя к тому же эффекту, что и нажатие кнопки Disconnect (а также Connect) на странице Status & Log web-интерфейса? Действия по ним вроде бы зашиты в http-сервер, а не находятся в отдельном скрипте. В принципе, мне бы этого хватило…

vectorm
15-06-2009, 19:06
Ок. Спрошу по-другому :) Какова командная строка, приводящяя к тому же эффекту, что и нажатие кнопки Disconnect (а также Connect) на странице Status & Log web-интерфейса? Действия по ним вроде бы зашиты в http-сервер, а не находятся в отдельном скрипте. В принципе, мне бы этого хватило…
Поиск не помог? Относительно недавно был даден ответ.

getikalex
15-06-2009, 19:12
Не вникая по мелочам:
Все дело в том, что разрыв соединения получают путем киляния процесса, а поднятие - его перезапуск. Только вот сам процесс для разных типов соединений запускается чуть-чуть по-разному.

Вот на скорую руку результаты поиска по слову "reconnect":
http://wl500g.info/showpost.php?p=148482&postcount=883

так для GPRS:
killall -15 pppd;
pppd call gprs;

Так для cdma:
killall -15 pppd;
pppd call cdma;

http://wl500g.info/showpost.php?p=148412&postcount=3

#!/bin/sh
killall pppd >/dev/null 2>&1
sleep 5s
pppd file /tmp/ppp/options.wan0 >/dev/null 2>&1
sleep 5s
ping -c 1 www.heise.de >/dev/null 2>&1

http://wl500g.info/showpost.php?p=148701&postcount=895

killall -SIGHUP pppd

разрыв и соединение через 30 сек

http://wl500g.info/showpost.php?p=59836&postcount=2

If you use only adsl account (PPPoE, PPTP os , you can dial this script:

Код:
killall pppd >/dev/null 2>&1
pppd file /tmp/ppp/options.wan0 >/dev/null 2>&1
and disconnect
Код:
killall pppd >/dev/null 2>&1
If you use two adsl account, create two new file (/opt/etc/options.wan1 and /opt/etc/options.wan2) based on /tmp/ppp/options.wan0 (and change adsl account name and password).

You can change adsl connection, if you use two script:

/opt/dial_adsl1
Код:
killall pppd >/dev/null 2>&1
cp /opt/etc/options.wan1 /tmp/ppp/options.wan0
pppd file /tmp/ppp/options.wan0 >/dev/null 2>&1
/opt/dial_adsl2
Код:
killall pppd >/dev/null 2>&1
cp /opt/etc/options.wan2 /tmp/ppp/options.wan0
pppd file /tmp/ppp/options.wan0 >/dev/null 2>&1

Дальше разбирайся по твоей конкретной ситуации

valentyn
15-06-2009, 20:07
Спасибо. Буду разбираться. С поиском — не придумал ключевых слов :(

Dimcho
19-06-2009, 16:12
Никто не подскажет содержимое скрипта portmapping.sh
Или укажет где его увидеть в прошивке.
Очень хотелось бы на него взглянуть. :rolleyes:

andr128
19-06-2009, 18:27
Уважаемые гуру форума может кто подскажет скрипты или аналог
что делают кнопки в Web морде Connect / Disconnect в разделе Status & Log - Status.

theMIROn
19-06-2009, 20:16
Никто не подскажет содержимое скрипта portmapping.sh
Или укажет где его увидеть в прошивке.
Очень хотелось бы на него взглянуть. :rolleyes:

да нет такого, только хвосты в js остались
зачем оно надо?

vectorm
19-06-2009, 20:25
Уважаемые гуру форума может кто подскажет скрипты или аналог
что делают кнопки в Web морде Connect / Disconnect в разделе Status & Log - Status.
Конечно подскажем - кнопка "Поиск" вверху справа расскажет.

Dimcho
20-06-2009, 06:02
Да хотел найти что всё таки выполняется если нажать кнопки Connect / Disconnect.
Собственно с andr128 одна задача :rolleyes: описанная в http://wl500g.info/showthread.php?t=20038
Практически всё удалось кроме dnsmasq. адреса DNS остаются от предыдущего подключения (ppp0). А так если взглянуть на скрипт (какие команды и с какими параметрами выполняются ) от этих кнопок то стало бы проще я так думаю :rolleyes:

theMIROn
20-06-2009, 06:24
Да хотел найти что всё таки выполняется если нажать кнопки Connect / Disconnect.

по нажатию Connect:


/* Renew lease */
int
sys_renew(void)
{
int unit;
char tmp[100];
char *str;
int pid;
if ((unit = atoi(nvram_safe_get("wan_unit"))) < 0)
unit = 0;
snprintf(tmp, sizeof(tmp), "wan_connect,%d", unit);
nvram_set("rc_service", tmp);
kill(1, SIGUSR1);
}


по нажатию Disconnect:


/* Release lease */
int
sys_release(void)
{
int unit;
char tmp[100];
char *str;
int pid;
if ((unit = atoi(nvram_safe_get("wan_unit"))) < 0)
unit = 0;
snprintf(tmp, sizeof(tmp), "wan_disconnect,%d", unit);
nvram_set("rc_service", tmp);
kill(1, SIGUSR1);
}

Dimcho
20-06-2009, 06:41
Спасибо, но легче стало не особо :(
Куда этот скрипт передаётся? Какой команде?

theMIROn
20-06-2009, 07:15
это то, что выполняет httpd по нажатию кнопок Connect/Disconnect в web интерфейсе. можно на шел скрипт перевести


#!/bin/sh
case $1 in
connect)
service="wan_connect"
;;
disconnect)
service="wan_disconnect"
;;
*)
echo "Usage: $(basename $0) connect|disconnect"
exit 1
;;
esac

let unit=1*$(nvram get wan_unit)
if [ $unit -lt 0 ]; then
unit=0
fi
nvram set rc_service="$service,$unit"
kill -SIGUSR1 1
sleep 2

Dimcho
20-06-2009, 15:32
это то, что выполняет httpd по нажатию кнопок Connect/Disconnect в web интерфейсе. можно на шел скрипт перевести
Спасибо так более понятно :)

sEr...
21-06-2009, 01:41
Помогите пожалуйста.
Прошу меня ногами не пинать, если эта тема уже обсуждалась, я поискал поиском по форуму но не нашёл.
Задача у меня такая:
У меня роутер подключён к локалке, айпишник получает автоматически через DHCP.
Инет подключается отдельно по PPTP.
Мне нужно иметь возможность как-то быстро подымать и опускать pptp соединение, чтоб при этом не отваливалась локалка. Желательно, если это можно, делать не захотя на роутер, просто написать у себя в консоли что то типа inet on или inet off
Скриптик я смогу такой написать, тока что туда писать?

Сейчас я делаю на роутере просто ifconfig ppp0 down
Для включения инета обратно делаю ifconfig ppp0 up и при этом на веб-морде в Status & Log - Status приходится жать кнопку Disconnect, а потом Connect чтоб инет появился...
ЖУТКО не удобно!!! Я уверен, что есть более правильный вариант, чтоб я так вот через задницу не мучался :)

Power
21-06-2009, 12:13
Отключить - выполнить на роутере:


killall pppd

включить:


pppd file /tmp/ppp/options.wan0

Вроде так.

sEr...
22-06-2009, 00:00
Отключить - выполнить на роутере:


killall pppd

включить:


pppd file /tmp/ppp/options.wan0

Вроде так.

Наверное, это не овсем то.
При таком отключении, видимо, происходит обрыв подключения, как еслиб я выдернул провод из роутера. То есть у меня то оно отключается, а со стороны провайдера обирвается и мне для повторного подключения нужно ждать минут 5 пока сервер провайдера раздуплится что сессия давно разорвана.
Есть какой-нить вариант отключения по типу pon/poff??
И если можно, подскажите, как сделать так, чтоб я мог одной командой в консоли отключить/подключить инет на роутере чтоб не конектиться туда для этого. Может набросать какойнить скриптик?
Или скажите куда копать что то типа ключа для ssh создать чтоб автоматом конектиться без пароля? Или как? :rolleyes:

ABATAPA
22-06-2009, 12:25
Из `man pppd`:


Some limited degree of control can be exercised over a running pppd process by sending
it a signal from the list below.

SIGINT, SIGTERM
These signals cause pppd to terminate the link (by closing LCP), restore the
serial device settings, and exit. If a connector or disconnector process is cur‐
rently running, pppd will send the same signal to its process group, so as to
terminate the connector or disconnector process.

SIGHUP This signal causes pppd to terminate the link, restore the serial device set‐
tings, and close the serial device. If the persist or demand option has been
specified, pppd will try to reopen the serial device and start another connection
(after the holdoff period). Otherwise pppd will exit. If this signal is
received during the holdoff period, it causes pppd to end the holdoff period
immediately. If a connector or disconnector process is running, pppd will send
the same signal to its process group.

SIGUSR1
This signal toggles the state of the debug option.

SIGUSR2
This signal causes pppd to renegotiate compression. This can be useful to re-
enable compression after it has been disabled as a result of a fatal decompres‐
sion error. (Fatal decompression errors generally indicate a bug in one or other
implementation.)

Power
22-06-2009, 13:51
Наверное, это не овсем то.
При таком отключении, видимо, происходит обрыв подключения, как еслиб я выдернул провод из роутера. То есть у меня то оно отключается, а со стороны провайдера обирвается и мне для повторного подключения нужно ждать минут 5 пока сервер провайдера раздуплится что сессия давно разорвана.
Есть какой-нить вариант отключения по типу pon/poff??

Нет, killall pppd посылает сигнал по умолчанию - SIGTERM, а он, как написано в сообщении ABATAPA, заставляет pppd завершить соединение (корректно). Если сервер провайдера чего-то не понимает, то это проблемы этого сервера.
poff, кстати, работает точно так же (только что сам посмотрел), только использует не killall, а kill и имя сигнала указывает явно (если у вас запущен только один pppd, то результат ничем не отличается от killall pppd).



И если можно, подскажите, как сделать так, чтоб я мог одной командой в консоли отключить/подключить инет на роутере чтоб не конектиться туда для этого. Может набросать какойнить скриптик?
Или скажите куда копать что то типа ключа для ssh создать чтоб автоматом конектиться без пароля? Или как? :rolleyes:

Про это были темы на форуме (и про скриптик, и про аутентификацию без пароля). Ищите.

sEr...
24-06-2009, 15:22
Спасибо вам. Я и правда выяснил что криво работает подключение к инету, завершается, и правда всё корректно.
А вот завести инет почему-то проблемотично, приходится через веб морду жать кнопку коннект и тогда соединяется...
Буду ещё рыть, спасибо.

sEr...
24-06-2009, 16:43
Такой вопрос... Можно ли создать на роутере ещё одного пользователя и дать ему права на выполнение только одной команды killall pppd???
Как это сделлать?

sdmn
30-07-2009, 11:16
Есть необходимость настроить регулярную задачу по рестарту подсоединения к интернету (PPPoE, провайдер Инфолайн). Почитав форум написал такой скрипт:


#!/bin/sh
# restart pppd if failed
if ! [ -n "`/bin/pidof pppd`" ]; then
/usr/bin/logger -t cronjob "pppd daemon failed, restarting"
killall pppd
pppd file /tmp/ppp/options.wan0
fi


По логу видно что процесс отрабатывает, но подключения не происходит. PPPoE сервер назначает мне IP адрес, сообщает о DNS серверах, но дальше ничего не происходит. Вот сам лог:


Jul 30 00:00:01 cronjob: pppd daemon failed, restarting
Jul 30 00:00:01 pppd[418]: Plugin rp-pppoe.so loaded.
Jul 30 00:00:01 pppd[418]: RP-PPPoE plugin version 3.3 compiled against pppd 2.4.2
Jul 30 00:00:01 pppd[419]: pppd 2.4.2 started by admin, uid 0
Jul 30 00:00:02 pppd[419]: PPP session is 6383
Jul 30 00:00:02 pppd[419]: Using interface ppp0
Jul 30 00:00:02 pppd[419]: Connect: ppp0 <--> eth1
Jul 30 00:00:03 pppd[419]: CHAP authentication succeeded: CHAP authentication success, unit 6501
Jul 30 00:00:03 pppd[419]: peer from calling number 00:30:88:13:B2:72 authorized
Jul 30 00:00:03 pppd[419]: local IP address 89.169.96.246
Jul 30 00:00:03 pppd[419]: remote IP address 89.169.96.1
Jul 30 00:00:03 pppd[419]: primary DNS address 83.217.192.2
Jul 30 00:00:03 pppd[419]: secondary DNS address 83.217.193.2


Если же стартовать процесс коннекта через WEB-интерфейс, то в логе видно что подключение проходит успешно.


Jul 30 00:24:32 pppd[548]: Plugin rp-pppoe.so loaded.
Jul 30 00:24:32 pppd[548]: RP-PPPoE plugin version 3.3 compiled against pppd 2.4.2
Jul 30 00:24:32 pppd[549]: pppd 2.4.2 started by admin, uid 0
Jul 30 00:24:33 pppd[549]: PPP session is 5672
Jul 30 00:24:33 pppd[549]: Using interface ppp0
Jul 30 00:24:33 pppd[549]: Connect: ppp0 <--> eth1
Jul 30 00:24:33 pppd[549]: CHAP authentication succeeded: CHAP authentication success, unit 8850
Jul 30 00:24:33 pppd[549]: peer from calling number 00:30:88:13:B2:72 authorized
Jul 30 00:24:34 pppd[549]: local IP address 89.169.96.246
Jul 30 00:24:34 pppd[549]: remote IP address 89.169.96.1
Jul 30 00:24:34 pppd[549]: primary DNS address 83.217.192.2
Jul 30 00:24:34 pppd[549]: secondary DNS address 83.217.193.2
Jul 30 00:24:34 dnsmasq[509]: read /etc/hosts - 4 addresses
Jul 30 00:24:34 dnsmasq[509]: reading /tmp/resolv.conf
Jul 30 00:24:34 dnsmasq[509]: using nameserver 83.217.193.2#53
Jul 30 00:24:34 dnsmasq[509]: using nameserver 83.217.192.2#53
Jul 30 00:24:35 PPPoE: connect to ISP


Подскажите, плиз, как правильно законнектиться из консоли?
ЗЫ: WL-500g, прошивка 1.9.2.7 от Олега

m0xf
30-07-2009, 11:36
Очевидно же, кроме pppd нужно перезапускать ещё dnsmasq

sdmn
30-07-2009, 11:42
Очевидно же, кроме pppd нужно перезапускать ещё dnsmasq

С какими параметрами его надо вызывать? Запуск без параметров не дает положительного результата (лога сейчас нет под рукой). Может быть есть где-то скрипт который выполняется когда тыкаешь по кнопке "Connect" через WEB? Если есть таковой, то где его найти?

sdmn
30-07-2009, 16:59
Вот лог с перезапуском dnsmasq. Подключение так и не происходит...



[admin@(none) var]$ killall pppd
[admin@(none) var]$ killall dnsmasq
[admin@(none) var]$ pppd file /tmp/ppp/options.wan0
[admin@(none) var]$ dnsmasq
[admin@(none) var]$ tail -50 /tmp/syslog.log
...
Jul 30 19:37:30 pppd[1376]: Plugin rp-pppoe.so loaded.
Jul 30 19:37:30 pppd[1376]: RP-PPPoE plugin version 3.3 compiled against pppd 2.4.2
Jul 30 19:37:30 pppd[1377]: pppd 2.4.2 started by admin, uid 0
Jul 30 19:37:30 pppd[1377]: PPP session is 4743
Jul 30 19:37:30 pppd[1377]: Using interface ppp0
Jul 30 19:37:30 pppd[1377]: Connect: ppp0 <--> eth1
Jul 30 19:37:31 pppd[1377]: CHAP authentication succeeded: CHAP authentication success, unit 12411
Jul 30 19:37:31 pppd[1377]: peer from calling number 00:30:88:13:B2:72 authorized
Jul 30 19:37:32 pppd[1377]: local IP address 89.169.96.246
Jul 30 19:37:32 pppd[1377]: remote IP address 89.169.96.1
Jul 30 19:37:32 pppd[1377]: primary DNS address 83.217.192.2
Jul 30 19:37:32 pppd[1377]: secondary DNS address 83.217.193.2
Jul 30 19:42:21 dnsmasq[1178]: exiting on receipt of SIGTERM
Jul 30 19:42:32 dnsmasq[1392]: started, version 2.22 cachesize 150
Jul 30 19:42:32 dnsmasq[1392]: DHCP, IP range 192.168.1.2 -- 192.168.1.254, lease time 24h
Jul 30 19:42:32 dnsmasq[1392]: DHCP, /tmp/dnsmasq.log will be written every 8h
Jul 30 19:42:32 dnsmasq[1392]: read /etc/hosts - 8 addresses
Jul 30 19:42:32 dnsmasq[1392]: reading /tmp/resolv.conf
Jul 30 19:45:25 dnsmasq[1392]: exiting on receipt of SIGTERM


Люди, подскажите пожалуйста что не так делаю? :(

azhur
30-07-2009, 18:45
У меня на случай дисконнекта в крон засунуто такое, работает вполне себе

#!/bin/sh
[ "$(ps | grep "pppd" | grep "wan0")" != "" ] && exit
pppd file /tmp/ppp/options.wan0
Правда у меня днсмаск не дергается при реконнекте, нет от него сообщений в логе перед "PPPoE: connect to ISP".
Прошивка сейчас 1.9.2.7-10.7.
По твоему варианту: попробуй между киллалл и новым вызовом поставить паузу секунд 10-15, вдруг что-то связанное с дисконнектом отработать не успевает.
Также можешь поэкспериментировать с типом сигнала для убийства процесса, вот кусок из мана:

Some limited degree of control can be exercised over a running pppd process by sending it a signal from the list below.

SIGINT, SIGTERM
These signals cause pppd to terminate the link (by closing LCP), restore the serial device settings, and exit. If a connector or disconnector process is currently running, pppd will send the same signal to its process group, so as to terminate the connector or disconnector process.
SIGHUP
This signal causes pppd to terminate the link, restore the serial device settings, and close the serial device. If the persist or demandoption has been specified, pppd will try to reopen the serial device and start another connection (after the holdoff period). Otherwise pppd will exit. If this signal is received during the holdoff period, it causes pppd to end the holdoff period immediately. If a connector or disconnector process is running, pppd will send the same signal to its process group.
SIGUSR1
This signal toggles the state of the debug option.
SIGUSR2
This signal causes pppd to renegotiate compression. This can be useful to re-enable compression after it has been disabled as a result of a fatal decompression error. (Fatal decompression errors generally indicate a bug in one or other implementation.)

Power
30-07-2009, 23:59
Люди, я вас не понимаю. Код, заключённый в блок


if ! [ -n "`/bin/pidof pppd`" ]; then

fi

выполнится только в том случае, если команда "/bin/pidof pppd" отдаст пустую строчку, а это будет в том случае, если процесс pppd в данный момент не запущен. Вопрос: если он не запущен, зачем его убивать с помощью "killall pppd"? Где логика?

Далее: а почему, собственно, процесс pppd умирает? Насколько я знаю, по умолчанию прошивка добавляет в файл /tmp/ppp/options.wan0 опцию persist, которая инструктирует pppd не завершать работу самостоятельно.
Вы в файл options.wan0 не вносите свои правки?

Omega
31-07-2009, 03:08
Может быть есть где-то скрипт который выполняется когда тыкаешь по кнопке "Connect" через WEB?
Если есть таковой, то где его найти?
Есть такая волшебная кнопочка - "Поиск" (http://wl500g.info/search.php) ... ;)


Вопрос: Какие команды выполняются при нажатии на кнопки Connect и Disconnect соответственно?
Хочу контролировать соединение через cron и, при необходимости, запускать Connect.
Disconnect -
killall pppd

Connect -
killall pppd
sleep 5s
pppd file /tmp/ppp/options.wan0
http://wl500g.info/showthread.php?t=6994 :cool:

sdmn
03-08-2009, 17:01
Есть такая волшебная кнопочка - "Поиск" (http://wl500g.info/search.php) ... ;)
http://wl500g.info/showthread.php?t=6994 :cool:

Спасибо, но к сожалению, это та же последовательность которую я делал. Т.е. вставка sleep 5 проблему не решает. При ручном запуске в логе только поднятие pppd, а заветной "PPPoE: connect to ISP" не появляется и как следствие соединения с интернетом нет. :(
Подозреваю что в случае VPN на основе PPPoE кнопка connect что-то еще запускает. :confused:

Omega
03-08-2009, 18:59
Ну а саму тему с ответами Олега даже не читали совсем ? ;)
А если бы ещё вдобавок и воспользовались поиском на форуме,
то обнаружили бы, что этот вопрос обсуждался уже сто раз ... :)

sdmn
04-08-2009, 16:09
Ну а саму тему с ответами Олега даже не читали совсем ? ;)
А если бы ещё вдобавок и воспользовались поиском на форуме,
то обнаружили бы, что этот вопрос обсуждался уже сто раз ... :)

Да, теперь проникся, но правда еще недоконца :)
Из темы понял что надо дергать скрипт ip-up-script в котором можно вызывать все что душа пожелает. Выяснил что у меня при подсоединении через web-интерфейс, прописываются маршруты


89.169.96.1 * 255.255.255.255 UH 0 0 0 ppp0
default 89.169.96.1 0.0.0.0 UG 0 0 0 ppp0

которых в случае ручного запуска pppd нет. Прописал в опции pppd их добавление, инет действительно заработал (хотя статус через веб-морду показывает disconnect). Только все равно так и не понял как вызвать подсоединение аналогичное тому что происходит по кнопке connect, чтобы маршруты автоматом прописывались и статус нормально определялся.



[admin@(none) var]$
[admin@(none) var]$
[admin@(none) var]$ cat /tmp/ppp/options1.wan0
noauth refuse-eap
user '...'
password '...'
nomppe nomppc
plugin rp-pppoe.so nic-eth1
mru 1492 mtu 1492
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
maxfail 0
ip-up-script /tmp/mnt/disc0_1/ip-up
[admin@(none) var]$
[admin@(none) var]$
[admin@(none) var]$ cat /tmp/mnt/disc0_1/ip-up
#!/bin/sh
route add -net 89.169.96.1 netmask 255.255.255.255
route add -net default netmask 0.0.0.0 gw 89.169.96.1


Сорри за тупость, никогда не приходилось общаться с подобными железками. :rolleyes:

Сhemist
08-08-2009, 21:46
Disconnect -
killall pppd

Connect -
killall pppd
sleep 5s
pppd file /tmp/ppp/options.wan0

Вопрос: а если у меня l2tp, то тогда pppd нужно на l2tpd заменить? В процессах и то и то есть :eek:

Dimcho
10-08-2009, 06:02
Вот тут есть про кнопку Connect (в последнем посте описано то что делает кнопка из Web интерфейса) ;)
http://www.wl500g.info/showthread.php?t=20038&highlight=%EF%E5%F0%E5%EA%EB%FE%F7%E5%ED%E8%E5

Сhemist
12-08-2009, 13:07
Попробовал заменить pppd на l2tpd. Убить соединение получилось, а вот поднять - нет. Т.к. роутер удаленный, то экспериментировать больше не хочу.
Может у кого l2tp и роутер под рукой, поэкспериментируйте в сочетании параметров? Уж очень хочется такой скрипт на удаленный роутер поставить.

KSCH
05-09-2009, 08:51
Ноутбук Acer Aspire 5920G был подключен к роутеру Asus WL500GP по wifi, все было нормально. Потом некоторое время работал через витую пару. При попытке подключиться снова по wifi выдает ошибку - подключение невозможно, либо ограничено. К роутеру не коннектится даже. К другим сетям коннектится нормально (открытым). К закрытым не пробовала. К роутеру по wifi нормально подключены 2 других ноутбука, проблем нет.
:-(

Bolek
13-09-2009, 15:30
После обновления прошивки тоже не могу подключиться по wifi,
почему то не присваивается IP. Где нужно поставить галочку?

Power
13-09-2009, 16:05
KSCH, вам, скорее всего, нужно отключить проводной интерфейс на ноуте - винда любит путаться в том, что касается маршрутизации.

Bolek, скажите, какой у вас роутер и какая теперь прошивка.

avk
13-09-2009, 16:11
После обновления прошивки тоже не могу подключиться по wifi, почему то не присваивается IP. Где нужно поставить галочку?

Были ли допущены отклонения от следующего алгоритма:
- прошить
- сбросить
- настроить вручную
- на компе удалить сеть из списка и настроить заново

Bolek
14-09-2009, 07:49
Все спасибо , разобрался.
Удалил старые подключения на компе и заново перенастроил.

perpetum
18-09-2009, 06:59
Доброго время суток!
У меня Asus 500GP v2 Прошивка 1.9.2.7-d-r566, соединение через PPTP от Билайн Украина
Где то раз в сутки повисает соединение, в логах чисто, помогает ReConnect..
Пробовал и L2TP - тоже самое.
Думаю глюк от провайдера.
Тоже есть задача чтоб Асус каждые 15-20 минут делал пинг , и если пинг не идет – делать ReConnect.
Прошу помочь с решением вопроса (за вознаграждение ) или порекомендовать кого нибудь.:)
ICQ:342671602
Skype: perpetum2005

vectorm
18-09-2009, 08:26
Доброго время суток!
У меня Asus 500GP v2 Прошивка 1.9.2.7-d-r566, соединение через PPTP от Билайн Украина
Где то раз в сутки повисает соединение, в логах чисто, помогает ReConnect..
Пробовал и L2TP - тоже самое.
Думаю глюк от провайдера.
Тоже есть задача чтоб Асус каждые 15-20 минут делал пинг , и если пинг не идет – делать ReConnect.
Прошу помочь с решением вопроса (за вознаграждение ) или порекомендовать кого нибудь.:)
ICQ:342671602
Skype: perpetum2005
Попробуйте что-то типа этого:

#!/bin/sh

PINGADRESS=www.google.ru

ping -c 1 $PINGADRESS > /dev/null
if [ $? == 0 ]; then
connector disconnect
# Не уверен, но вроде как должно все само подняться после дисконнекта.
# Если подниматься само не будет, раскомментировать нижние 2 строчки.
# sleep 5
# connector connect
fi
sleep 30
exit


Где скрипт connector взят у theMIROn (http://wl500g.info/showthread.php?p=149887#post149887):

#!/bin/sh
case $1 in
connect)
service="wan_connect"
;;
disconnect)
service="wan_disconnect"
;;
*)
echo "Usage: $(basename $0) connect|disconnect"
exit 1
;;
esac

let unit=1*$(nvram get wan_unit)
if [ $unit -lt 0 ]; then
unit=0
fi
nvram set rc_service="$service,$unit"
kill -SIGUSR1 1
sleep 2

vectorm
18-09-2009, 09:46
Для новичков:
Подключение к роутеру:
1. С помощью telnet:
Пуск -> Выполнить -> cmd -> OK, в появившемся окне ввести
telnet 192.168.1.1
если меняли IP адрес роутера, то вместо 192.168.1.1 указать свой.
Нажать Ввод (Enter).
Появится приглашение:
user:
ввести там admin
затем должно появиться:
password:
ввести там admin (если меняли, то свой).
ввод пароля не отображается, это нормально.
Если аутентификация прошла успешно, то появится приглашение вида:
[admin@wl500gP root]$
и можно вводить команды.
Ввести следующее:



mkdir -p /usr/local/sbin/
touch /usr/local/sbin/post-boot
touch /usr/local/sbin/ping.sh
touch /usr/local/sbin/connector
chmod +x /usr/local/sbin/*
echo "#!/bin/sh" > /usr/local/sbin/ping.sh
echo "PINGADRESS=www.google.ru" >> /usr/local/sbin/ping.sh
echo "ping -c 1 $PINGADRESS > /dev/null" >> /usr/local/sbin/ping.sh
echo "if [ $? == 0 ]; then" >> /usr/local/sbin/ping.sh
echo " /usr/local/sbin/connector disconnect" >> /usr/local/sbin/ping.sh
echo "# Не уверен, но вроде как должно все само подняться после дисконнекта." >> /usr/local/sbin/ping.sh
echo "# Если подниматься само не будет, раскомментировать нижние 2 строчки." >> /usr/local/sbin/ping.sh
echo "# sleep 5" >> /usr/local/sbin/ping.sh
echo "# /usr/local/sbin/connector connect" >> /usr/local/sbin/ping.sh
echo "fi" >> /usr/local/sbin/ping.sh
echo "sleep 30" >> /usr/local/sbin/ping.sh
echo "exit" >> /usr/local/sbin/ping.sh

echo "#!/bin/sh" > /usr/local/sbin/connector
echo "case $1 in" >> /usr/local/sbin/connector
echo " connect)" >> /usr/local/sbin/connector
echo " service="wan_connect"" >> /usr/local/sbin/connector
echo " ;;" >> /usr/local/sbin/connector
echo " disconnect)" >> /usr/local/sbin/connector
echo " service="wan_disconnect"" >> /usr/local/sbin/connector
echo " ;;" >> /usr/local/sbin/connector
echo " *)" >> /usr/local/sbin/connector
echo " echo "Usage: $(basename $0) connect|disconnect"" >> /usr/local/sbin/connector
echo " exit 1" >> /usr/local/sbin/connector
echo " ;;" >> /usr/local/sbin/connector
echo "esac" >> /usr/local/sbin/connector
echo "let unit=1*$(nvram get wan_unit)" >> /usr/local/sbin/connector
echo "if [ $unit -lt 0 ]; then" >> /usr/local/sbin/connector
echo " unit=0" >> /usr/local/sbin/connector
echo "fi" >> /usr/local/sbin/connector
echo "nvram set rc_service="$service,$unit"" >> /usr/local/sbin/connector
echo "kill -SIGUSR1 1" >> /usr/local/sbin/connector
echo "sleep 2" >> /usr/local/sbin/connector

echo "#!/bin/sh" > /usr/local/sbin/post-boot
echo "/usr/local/sbin/ping.sh &" >> /usr/local/sbin/post-boot

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

PS: Если уже что-то настроено на роутере, то правьте post-boot вручную!!!!!

Power
18-09-2009, 15:53
Попробуйте что-то типа этого:
...


Во-первых, условие нужно инвертировать, потому что код возврата = 0 в случае успешного пинга.
Во-вторых, мне кажется, лучше сделать более одного пинга (например, 3), чтобы исключить совсем случайные потери.
Ну и в-третьих, при выполнении действия "connect" прошивка автоматически сначала делает disconnect, так что их можно объединить :)
В общем, мои изменения в коде:
ping.sh


#!/bin/sh

PINGADDRESS='www.google.ru'

while true ; do
sleep 15m #интервал между итерациями - в данном случае, 15 минут

if ! ping -c 3 -q "$PINGADDRESS" > /dev/null 2>&1 ; then
killall -SIGHUP pppd
# Предыдущая строчка вызовет переподключение только PPTP (не знаю насчёт L2TP).
# Если нужно переподключить ещё и локалку провайдера, закомментируйте ту строчку
# и раскомментируйте следующую:
#/usr/local/sbin/connector connect

exit
fi
done

connector остаётся тем же.
А вот вызов ping.sh лучше добавить в post-firewall:


if [ "$2" != "0.0.0.0" ] ; then
/usr/local/sbin/ping.sh >/dev/null 2>&1 &
fi

perpetum
21-09-2009, 10:05
Во-первых, условие нужно инвертировать, потому что код возврата = 0 в случае успешного пинга.
Во-вторых, мне кажется, лучше сделать более одного пинга (например, 3), чтобы исключить совсем случайные потери.
Ну и в-третьих, при выполнении действия "connect" прошивка автоматически сначала делает disconnect, так что их можно объединить :)
В общем, мои изменения в коде:
ping.sh


#!/bin/sh

PINGADDRESS='www.google.ru'

while true ; do
sleep 15m #интервал между итерациями - в данном случае, 15 минут

if ! ping -c 3 -q "$PINGADDRESS" > /dev/null 2>&1 ; then
killall -SIGHUP pppd
# Предыдущая строчка вызовет переподключение только PPTP (не знаю насчёт L2TP).
# Если нужно переподключить ещё и локалку провайдера, закомментируйте ту строчку
# и раскомментируйте следующую:
#/usr/local/sbin/connector connect

exit
fi
done

connector остаётся тем же.
А вот вызов ping.sh лучше добавить в post-firewall:


if [ "$2" != "0.0.0.0" ] ; then
/usr/local/sbin/ping.sh >/dev/null 2>&1 &
fi


Согласен с уточнениями
И всё таки как же тогда должен выглядеть код в итоге (в сборе)?:)

Power
21-09-2009, 11:39
И всё таки как же тогда должен выглядеть код в итоге (в сборе)?:)

А вы файлы на роутере создавать и редактировать умеете или надо совсем подробно объяснить?

vectorm
22-09-2009, 10:31
И всё таки как же тогда должен выглядеть код в итоге (в сборе)?:)
Наверное так:
/usr/local/sbin/ping.sh

#!/bin/sh

PINGADDRESS='www.google.ru'

while true ; do
sleep 15m #интервал между итерациями - в данном случае, 15 минут

if ! ping -c 3 -q "$PINGADDRESS" > /dev/null 2>&1 ; then
killall -SIGHUP pppd
# Предыдущая строчка вызовет переподключение только PPTP (не знаю насчёт L2TP).
# Если нужно переподключить ещё и локалку провайдера, закомментируйте ту строчку
# и раскомментируйте следующую:
#/usr/local/sbin/connector connect

exit
fi
done

/usr/local/sbin/connector


#!/bin/sh
case $1 in
connect)
service="wan_connect"
;;
disconnect)
service="wan_disconnect"
;;
*)
echo "Usage: $(basename $0) connect|disconnect"
exit 1
;;
esac

let unit=1*$(nvram get wan_unit)
if [ $unit -lt 0 ]; then
unit=0
fi
nvram set rc_service="$service,$unit"
kill -SIGUSR1 1
sleep 2
Вызов ping.sh добавить в /usr/local/sbin/post-firewall:
Здесь ключевое слово - добавить, т.е. в нем уже должна быть минимум 1 строка #!/bin/sh


if [ "$2" != "0.0.0.0" ] ; then
/usr/local/sbin/ping.sh >/dev/null 2>&1 &
fi

arx
23-09-2009, 10:36
Здравствуйте.
Настроил роутер провайдер марк-итт ижевск все работает но стал замечать что роутер рвет соединение пробовал разные прошивки проблема все та же рвет соединение ничего не помогает подскажите что можно сделать может что то не правильно настроено. Прошивка от Олега 0.0.0.16 не помогла, dd-wrt посоветовали не ставить пока сижу на официальной от ASUS 2.0.1.13 кто сталкивался с подобной проблемой посоветуйте как быть.

avk
23-09-2009, 11:29
может что то не правильно настроено

Вполне возможно. Только здесь никто об этом не узнает до тех пор, пока от Вас не будет более точной информации.

Для начала можно было и поискать ответ самостоятельно: Настройки для сетей разных провайдеров (http://wl500g.info/showthread.php?p=84145)

arx
23-09-2009, 18:52
Извините что не так подробно описал свою проблему. Настройки интернета вводил только логин и пароль все остальное раздается автоматически и если прописать руками днс или айпи то коннекта не произойдет. проблема выглядит в виде внезапных обрывов соединения и в течении некоторого времени роутер уходит в ребут на него нельзя зайти и он не пингуется иногда из этого состояния вывести его можно только отключением питания сегодня пробовал официальные прошивки с ними только хуже самая лучшая по сравнению с ними от Олега 0.0.0.16 которая сейчас стоит у меня с ней роутер стабильнее работает но все же выкидывает фокусы. скажите если нужна какая то конкретная информация скрины логи и т.д.

meow256
28-09-2009, 14:55
Подскажите пожалуйста, как правильно переподключиться из консоли?
что-то вроде killall -9 pppd && pppd call vpn0
Спасибо.

meow256
28-09-2009, 14:56
Подскажите пожалуйста, как правильно переподключиться из консоли?
что-то вроде killall -9 pppd && pppd call vpn0
Спасибо.

P.s. Подключаюсь по pppoe

meow256
29-09-2009, 12:07
P.S. роутер wl500gp v1

vectorm
29-09-2009, 12:23
А поиск на что????
http://wl500g.info/showthread.php?p=149887#post149887

al37919
29-09-2009, 15:50
короткий ответ звучит так:

killall -1 pppd

meow256
29-09-2009, 16:16
короткий ответ звучит так:

killall -1 pppd
Спасибо, это работает, но переподключается очень долго (30 секунд)... В чём может быть косяк?

Hix
17-10-2009, 08:32
Люди добрые помогите чем они отличаются???
и кто подскажет какие настройки надо произвести что бы из внешней локалке не было видно роутер(ping и т.д.) в определённые часы? и одновременно отключалась внутряняя ну что бы коробочка была полностью изолированна от всех

Hix
17-10-2009, 09:07
короче мне надо полностью отключать внешнюю сеть по времени

MrGalaxy
23-11-2009, 20:17
Бывает полезно тогда, когда Интернет в принципе есть, но роутер его в упор не видит, а также тогда, когда действительно Интернет упал.
Чтобы сразу не лезть в системный журнал, достаточно будет глянуть одним глазком на подмигивающий индикатор питания (скрипт использует обращение к программе pwrled, выложенной здесь на форуме).
Предполагается, что на роутере крутится какой-н. клон прошивки Олега и установлен cron.

Благодарности: ака vectorm за исходный скрипт, проверяющий наличие соединения с одновременной попыткой его восстановления, и ака Mam(O)n за программу, управляющую светодиодом питания роутера.

Итак, мой посильный вклад в наше безнадёжное дело:):

1. Установите программу pwrled (http://www.wl500g.info/showthread.php?t=11765).

2. Создайте файлы со следующим содержимым:
- для контроля локального соединения

#!/bin/sh
/opt/bin/pwrled -b -n 1 -e 5 -d 40 -c 0
ping -c 1 -w 5 -W 4 internet.beeline.ru > /dev/null
if [ $? = 0 ]; then
killall pwrled
fi
- для контроля доступа в Интернет и, при необходимости, его восстановления:

#!/bin/sh
/opt/bin/pwrled -b -n 1 -e 40 -d 5 -c 0
ping -c 1 -w 5 -W 4 www.google.ru > /dev/null
if [ $? != 0 ];
then
/opt/etc/connector disconnect
sleep 3
/opt/etc/connector connect
else
killall pwrled
fi

дайте им права на выполнение и поместите в нужный каталог крона (у меня помещены в cron.5mins).
В первом скрипте вместо internet.beeline.ru укажите имя сервера своего провайдера, а во втором скрипте можете использовать любой понравившийся внешний адрес, не обязательно google.ru.

3. Для того, чтобы не только индицировать обрыв внешки, но и пытаться его восстановить, используйте скрипт connector, разработанный ака vectorm и помещённый на его сайте. (http://vectormm.net/)
Пути до pwrled и connector укажите, при необходимости, свои.

Вроде всё. Мигает светодиод, разумеется, по-разному в случае полного падения сети и в случае падения только внешки.

Relict
11-12-2009, 09:15
г. Мытищи местный провайдер Nicos (nicos.ru), прошивка последняя от Олега 1.9.2.7-10.7 ASUS WL-500GP V1. Периодически перестает восстанавливать PPTP соединение, помогает перезагрузка только. Какой-то закономерности обнаружить не смог :( Иногда несколько раз за вечер может переставать восстанавливать соединение, иногда раз в неделю. Вот логи:

Nov 11 14:12:56 ddns: ddns update ok
Nov 11 15:09:23 pppd[97]: Modem hangup
Nov 11 15:09:24 PPTP: Disconnected
Nov 11 15:09:24 pppd[97]: Connection terminated.
Nov 11 15:09:24 pppd[97]: Connect time 56.6 minutes.
Nov 11 15:09:24 pppd[97]: Sent 442227301 bytes, received 583805414 bytes.
Nov 11 15:09:54 pppd[97]: Serial connection established.
Nov 11 15:09:54 pppd[97]: Using interface ppp0
Nov 11 15:09:54 pppd[97]: Connect: ppp0 <--> /dev/pts/0
Nov 11 15:09:54 pptp[270]: route_add: not adding existing route
Nov 11 15:09:58 pppd[97]: local IP address 87.118.200.144
Nov 11 15:09:58 pppd[97]: remote IP address 87.118.224.2
Nov 11 15:09:58 PPTP: connect to ISP
Nov 11 15:09:58 ddns update: connected to members.dyndns.org (204.13.248.112) on port 80.
Nov 11 15:09:59 ddns update: request successful
Nov 11 15:10:00 ddns: ddns update ok
Nov 11 15:30:55 ntp client: Synchronizing time with time.nist.gov ...
Nov 11 17:31:00 ntp client: Synchronizing time with time.nist.gov ...
Nov 11 19:31:00 ntp client: Synchronizing time with time.nist.gov ...
Nov 12 01:31:09 ntp client: Synchronizing time with time.nist.gov ...
Nov 12 03:31:09 ntp client: Synchronizing time with time.nist.gov ...
Nov 12 05:31:09 ntp client: Synchronizing time with time.nist.gov ...
Nov 12 07:31:16 ntp client: Synchronizing time with time.nist.gov ...
Nov 12 09:31:18 ntp client: Synchronizing time with time.nist.gov ...
Nov 12 11:31:19 ntp client: Synchronizing time with time.nist.gov ...
Nov 12 13:31:19 ntp client: Synchronizing time with time.nist.gov ...
Nov 12 15:10:01 pppd[97]: LCP terminated by peer
Nov 12 15:10:01 PPTP: Disconnected
Nov 12 15:10:04 pppd[97]: Connection terminated.
Nov 12 15:10:04 pppd[97]: Connect time 1440.2 minutes.
Nov 12 15:10:04 pppd[97]: Sent 2600269872 bytes, received 2727516456 bytes.
Nov 12 15:10:04 pptp[270]: short read (-1): Input/output error
Nov 12 15:10:04 pptp[270]: pppd may have shutdown, see pppd log
Nov 12 15:10:34 pppd[97]: Serial connection established.
Nov 12 15:10:34 pppd[97]: Using interface ppp0
Nov 12 15:10:34 pppd[97]: Connect: ppp0 <--> /dev/pts/0
Nov 12 15:10:35 pptp[310]: route_add: not adding existing route
Nov 12 15:31:23 ntp client: Synchronizing time with time.nist.gov ...
Nov 12 17:31:23 ntp client: Synchronizing time with time.nist.gov ...
Nov 12 19:31:23 ntp client: Synchronizing time with time.nist.gov ...


Может кто-нибудь с таким сталкивался? Или есть идеи куда копать?

Заранее спасибо за помощь!

ceramic
11-12-2009, 10:36
Иногда несколько раз за вечер может переставать восстанавливать соединение, иногда раз в неделю. Вот логи:Логи этого не подтверждают.


Или есть идеи куда копать?Дайте логи во время возникновения проблемы.

Relict
11-12-2009, 12:32
Nov 12 15:10:35 pptp[310]: route_add: not adding existing route

вот после этого момента интернета больше нет.

vectorm
11-12-2009, 13:29
Nov 12 15:10:35 pptp[310]: route_add: not adding existing route

вот после этого момента интернета больше нет.
На роутере есть, иначе время бы не синхронизировалось.

Power
11-12-2009, 14:48
На роутере есть, иначе время бы не синхронизировалось.

Не факт. Запись "ntp client: Synchronizing time with [...]" означает лишь попытку синхронизации, не обязательно успешную.

А рекомендация такая: попробовать прошивку от энтузиастов (http://wl500g.info/showthread.php?t=17136), может там это починено или хотя бы диагностируется легче (сейчас по логам причина не видна).

Relict
11-12-2009, 15:08
Ок, спасибо, попробую прошивку энтузиастов.

Magic109
11-12-2009, 15:49
Ок, спасибо, попробую прошивку энтузиастов.
точно такая же проблема...стоит прошивка от энтузиастов

Power
11-12-2009, 15:58
точно такая же проблема...

Вот прям с точностью до циферок в логе? Или всё же просто звучит похоже?

net_net
11-12-2009, 20:09
была проблема с пропаданием инет, но не использовался pptp авторизация была другая, помогала перезагрузка в результате написал скрип который каждые 5 мин. пинговал сайт в инете и если пинга не было то опускался и поднимался вешний интерфейс, если это не помогало то раз в час была перезагрузка роутера, но до перезагрузки обычно не доходило.
З.Ы. думаю проблема с оборудованием провайдера т.к. в момент пропадания инета компы из моего дома пинговались, а шлюз провайдера нет.

Relict
12-12-2009, 09:09
была проблема с пропаданием инет, но не использовался pptp авторизация была другая, помогала перезагрузка в результате написал скрип который каждые 5 мин. пинговал сайт в инете и если пинга не было то опускался и поднимался вешний интерфейс, если это не помогало то раз в час была перезагрузка роутера, но до перезагрузки обычно не доходило.


По-моему оптимальное решение! Не подскажите как написать этот скрипт? Хотелось бы у себя на роутере подобное сделать.

RooTerr
13-12-2009, 07:52
По-моему оптимальное решение! Не подскажите как написать этот скрипт? Хотелось бы у себя на роутере подобное сделать.

тоже самое - о4ень надо. провайдер нет нет меняет основной шлюз, помогает действительно перезагрузка (как опускать поднимать интерфейс не знаю комманды).

о4ень был бы благодарен за информацию.

MrGalaxy
13-12-2009, 08:14
У меня предложение: грамотному человеку поднять специальную ветку, где дать скрипты по принудительному переподключению к провайдеру в случае падения Интернета. Хотя бы через WAN, как, например, это описано на сайте vectorm.
Я так понимаю, каждый сейчас выкручивается как может, но давайте соберём коллекцию уже готовых скриптов в отдельной ветке.

И ещё. Переподнять wan, насколько я понял, не так и сложно.
Большая просьба спецам написать что-то подобное и для vlan2.

net_net
13-12-2009, 19:09
думаю все достаточно подробно
для vlan2 все аналогично просто прописать vlan2 вместо vlan1



#!/bin/sh
# проверка существования файлов с переменными если их нет, создать их
if [ ! -e /opt/var/ping2.var ]; then echo 0 > /opt/var/ping2.var; fi
if [ ! -e /opt/var/reboot2.var ]; then echo 0 > /opt/var/reboot2.var; fi
# если не пингуется указанный хост после третьей (число неудачных попыток хранится в /opt/var/ping2.var) попытки отк.и вкл. интерфейс
# если не пингуется указанный хост после четвертой попытки перезагрузка
# но перезагрузка не чаще 1 раза в сутки определяется значением файла /opt/var/reboot.var
# /opt/var/reboot.var должен обнулятся раз в сутки из cron командой (echo 0 > /opt/var/reboot.var)
var1=`ping -c 3 ya.ru |grep time`
if [ "$var1" = "" ]; then
var1=`cat /opt/var/ping2.var`
# проверить сколько было неудачных попыток
case $var1 in
0)
echo 1 > /opt/var/ping2.var
;;
1)
echo 2 > /opt/var/ping2.var
;;
2)
date1=`date +'%h %d %T'`
# записать в syslog.log дату и время отключения интерфейса
echo "$date1 down interface vlan1 by testwan1" >>/tmp/syslog.log
vconfig rem vlan1
sleep 5
vconfig add eth0 1
# востановление настроек интерфейса
ifconfig vlan1 172.16.1.10 broadcast 172.16.255.255 netmask 255.255.0.0 up
date1=`date +'%h %d %T'`
# записать в syslog.log дату и время включения интерфейса
echo "$date1 up interface vlan2 by testwan1" >>/tmp/syslog.log
echo 3 > /opt/var/ping2.var
;;
# если в переменная не равна 0 или 1 или 2 то
*)
# проверить была ли сегодня уже перезагрузка
var1=`cat /opt/var/reboot2.var`
# если перзагрузки не было
if [ "$var1" = "0" ]; then
# изменить пременные и перезагрузитиься
echo 0 > /opt/var/ping2.var
echo 1 > /opt/var/reboot2.var
date1=`date +'%h %d %T'`
echo "$date1 vlan1 not work, reboot by testwan1" >>/tmp/syslog.log
reboot
fi
;;
esac
else
var1=`cat /opt/var/ping2.var`
# если пинг выполнен успешно, а пердыдущий был неудачен обнулить переменную
if [ ! "$var1" = "0" ]; then echo 0 > /opt/var/ping2.var; fi
fi

MrGalaxy
13-12-2009, 19:43
Как указать системе, что пинг должен идти через vlan2 при наличии активного wan? Он же через wan будет идти.

Omega
14-12-2009, 15:29
г. Мытищи местный провайдер Nicos (nicos.ru), прошивка последняя от Олега 1.9.2.7-10.7 ASUS WL-500GP V1.
Периодически перестает восстанавливать PPTP соединение, помогает перезагрузка только.
Какой-то закономерности обнаружить не смог :(
А блок питания ротера не пробовали проверить или заменить ? ;)
В логе видно разрыв сессии провайдером ровно через 24 часа ... :)
После этого интернет уже подняться самостоятельно не смог ... :cool:

net_net
14-12-2009, 16:27
2 MrGalaxy
используй traceroute, там можно указать через какой интерфейс делать трасировку

Andrew367
11-04-2010, 19:52
подвисает антенна подключенная к роутеру, нужен перезагруз. Спасибо

net_net
11-04-2010, 20:05
на олеговской прошивке ставишь cron и создаешь скрипт с reboot командой

Andrew367
11-04-2010, 20:54
Спасибо, пытаюсь найти как это сделать

freez0
09-06-2010, 13:21
Помогите пожалуйста написать прогу, которая включает/выключает wi-fi при нажатии кнопки сбоку на dir 320

Vampik
09-06-2010, 13:32
Помогите пожалуйста написать прогу, которая включает/выключает wi-fi при нажатии кнопки сбоку на dir 320

http://wl500g.info/showthread.php?p=107437#post107437

asdd
08-07-2010, 11:36
Прочитал пост. Понял задачу. Думаю топик стартер справится с написанием скрипта, ну форумчане помогут. Но вот одна проблема, которую надо решать сначала при написании скрипта.
Пример:
Включаем роутер с 8:00 до 0:00 (или он сам перезагружается при пропадании электроэнергии). На часах роутера 0:00 и дата 1971 (или какой там) год. Пока не будет инета время правильно не встанет. Роутер будет долбится с "ночным" логином-паролем. И, всего скорее у провайдера запрещена регистрация в сети с "ночным" логином-паролем днем. Так что пока руками не подключишь или время верное не поставишь инета всего скорее не будет. Или я что не так говорю?

rss
08-07-2010, 11:56
Прочитал пост. Понял задачу. Думаю топик стартер справится с написанием скрипта, ну форумчане помогут. Но вот одна проблема, которую надо решать сначала при написании скрипта.
Пример:
Включаем роутер с 8:00 до 0:00 (или он сам перезагружается при пропадании электроэнергии). На часах роутера 0:00 и дата 1971 (или какой там) год. Пока не будет инета время правильно не встанет. Роутер будет долбится с "ночным" логином-паролем. И, всего скорее у провайдера запрещена регистрация в сети с "ночным" логином-паролем днем. Так что пока руками не подключишь или время верное не поставишь инета всего скорее не будет. Или я что не так говорю?

Значит либо выделяем что-нибудь по-умолчанию, либо пишем раз в час время в переменную nvram, делаем nvram commit, а при загрузке вычитываем это значение и выставляем время. Соответственно получим погрешность в час. Или же после подключения по любому каналу и синхронизации времени принимаем решение о подключении по правильному каналу.
Если есть запрет подключения - можно дописать отлавливание кода ошибки в chat или pppd, но это уже будет другой скрипт.

vectorm
08-07-2010, 12:34
Можно на основе этого (http://wl500g.info/showpost.php?p=134156&postcount=57) сделать:
Модифицировать /tmp/local/sbin/ppp0-ip-up и /tmp/local/sbin/ppp0-ip-down
для вывешивания и убирания "флага", и в скриптах сделать проверку на наличие флага.
Либо найти тему, где время сохраняли в файл, и потом вычитывали.

VaniaLSD
28-07-2010, 17:34
Нужно чтобы отключался и включался интернет с ярлыка на раб. столе и еще(желательно) только Wifi, не залезая каждый раз в Веб интерфейс.
Поиск ничего не дал.

Parkinstein
28-07-2010, 17:54
Нужно чтобы отключался и включался интернет с ярлыка на раб. столе и еще(желательно) только Wifi, не залезая каждый раз в Веб интерфейс.
Поиск ничего не дал.

ну это что искать...
находим команду отключения вафли, пишем батник с телнетом на роутер и данной командой... как-то эдак... а искалось, видимо, готовое решение типа "положите в рот"...

отключается интернет так

nvram set rc_service=wan_disconnect,0
kill -SIGUSR1 1

подключается эдак

nvram set rc_service=wan_connect,0
kill -SIGUSR1 1


WiFi вот так...


wl radio on --- ВКЛ
wl radio off --- ВЫКЛ
Дальше, флаг в руки, барабан на шею, далее по тексту...
к слову вышенаписанное найдено в поиске

andr128
29-07-2010, 07:02
Parkinstein, хочу заметить что на роутер нужно еще зайти, т.е. авторизироваться и тут могут быть еще "грабли".

VicSer
29-07-2010, 07:11
Нужно чтобы отключался и включался интернет с ярлыка на раб. столе и еще(желательно) только Wifi, не залезая каждый раз в Веб интерфейс.
Поиск ничего не дал.

Есть замечательная программа RouterControl. И инет отключает, и вафлей управляет. Брать тут (http://routercontrol.de/)

VaniaLSD
29-07-2010, 07:54
ну это что искать...
как-то эдак... а искалось, видимо, готовое решение типа "положите в рот"...

Ну вообще то - ДА. Странно то, что нет "готового решения" т.е. никого не интересовало.

Есть замечательная программа RouterControl. И инет отключает, и вафлей управляет. Брать тут (http://routercontrol.de/)
Домой приду, проверю, отпишусь.

rss
29-07-2010, 08:54
Ну вообще то - ДА. Странно то, что нет "готового решения" т.е. никого не интересовало.
Подключение к рутеру см. http://narod.ru/disk/19937857000/wl500g.yota.gadget.html (для win7)

Запуск любого скрипта можно сделать

function getCmdExecUrl( host, cmd )
{
return "http://" + host +
"/apply.cgi?current_page=syscmd_out.asp&action_mode=+Refresh+&SystemCmd=" + escape( cmd );
}

(В этом случае еще и результат выполнения вернет)

VaniaLSD
30-07-2010, 10:27
Есть замечательная программа RouterControl. И инет отключает, и вафлей управляет. Брать тут (http://routercontrol.de/)
И как с ней работать? http://i8.fastpic.ru/thumb/2010/0730/a7/1b0da4444809847933ffefa8e781d0a7.jpeg (http://fastpic.ru/view/8/2010/0730/1b0da4444809847933ffefa8e781d0a7.jpg.html)

Подключение к рутеру см. http://narod.ru/disk/19937857000/wl500g.yota.gadget.html (для win7)

Запуск любого скрипта можно сделать

function getCmdExecUrl( host, cmd )
{
return "http://" + host +
"/apply.cgi?current_page=syscmd_out.asp&action_mode=+Refresh+&SystemCmd=" + escape( cmd );
}

(В этом случае еще и результат выполнения вернет)

На ХР гаджет не идет, а как из скрипта файл сделать?

rss
30-07-2010, 12:26
На ХР гаджет не идет, а как из скрипта файл сделать? Гаджет можно распаковать зипом.

Если нужно просто выполнить действие - в винхп можно создать файл Internet Shortcut - url-файл, у которого вписан url (по ранее приведенной схеме) с нужным скриптом.

[InternetShortcut]
URL=http://192.168.1.1/....

VicSer
30-07-2010, 14:26
И как с ней работать?


Выберите в настройках:
1. Модель вашего роутера.
2. Укажите IP-адрес роутера
3. Имя/пароль доступа к роутеру
4. Сохраните настройки

Если все данные были верно занесены, то в окошке появятся текущие параметры и статус вашего роутера.
http://www.routercontrol.de/images/routercontrol.png

Работа с программой(иконки):
Иконка с вилкой - подключить инет.
Иконка с перечеркнутой вилкой - отключить инет.
Цифровые кнопки - на WL500gp и RT-N16 отвечают за отключение и включение вафли.

VaniaLSD
30-07-2010, 16:38
rss
Спс,но у VicSer проще и уже работает, только не показывает статус и не определяет IP и пока не понятно с вафлей

VicSer
30-07-2010, 21:40
только не показывает статус и не определяет IP и пока не понятно с вафлей

Что у Вас за модель роутера? И какой релиз прошивки? Если wl500gp или RT-N16 на прошивке от энтузиастов, то пришлю свой файл с настройками, т.к. начиная с одного из релизов 17ХХ - малость изменилась веб-морда. И программа криво определяет нужные ей параметры.

bvvr
31-07-2010, 07:37
VicSer,
а будет программа с Вашими настройками работать на WL-500W с прошивкой от энтузиастов?
его в списке совместимых нет, как и RT-N16

rss,
не могли бы Вы пример выполнения какого-нибудь действия при помощи интернет-ярлыка поподробнее описать. Мне этот вариант больше нравится, но пока не очень понятно что в url писать

VicSer
31-07-2010, 10:15
VicSer,
а будет программа с Вашими настройками работать на WL-500W с прошивкой от энтузиастов?
его в списке совместимых нет, как и RT-N16


Она будет работать на любой модели с прошивкой энтузиастов, т.к. страница статуса в веб-морде одинаковая. А программа с помощью неё и работает. Файл настройки программы могу выложить, если нужен. Только вместо WL-500W нужно будет выбрать из списка роутеров RT-N16, т.к. настраивал его под себя.

rss
31-07-2010, 10:50
rss,
не могли бы Вы пример выполнения какого-нибудь действия при помощи интернет-ярлыка поподробнее описать. Мне этот вариант больше нравится, но пока не очень понятно что в url писать


Создать ярлык. Указать адрес:
Отключить WAN:
http://192.168.1.1/apply.cgi?current_page=syscmd_out.asp&action_mode=+Refresh+&SystemCmd=nvram%20set%20rc_service%3Dwan_disconnec t%2C0%20%26%26%20kill%20-SIGUSR1%201
Включить WAN:
http://192.168.1.1/apply.cgi?current_page=syscmd_out.asp&action_mode=+Refresh+&SystemCmd=nvram%20set%20rc_service%3Dwan_connect%2 C0%20%26%26%20kill%20-SIGUSR1%201

Строку после SystemCmd= можно кодировать, например тут: http://www.yuki-onna.co.uk/html/encode.html

PS: если кто захочет более серьезный скрипт делать см http://code.google.com/p/wl500g/source/browse/trunk/www/web_asus_en/general.js

функции getCmdExecUrl( host, cmd ) и getHTTPRequest( url, func_res, func_fail ), где необязательны func_res - имя функции, которая будет вызвана при получении результата с параметром - текст страницы и func_fail - имя функции для оповещения о неудаче с параметром url.

VaniaLSD
31-07-2010, 11:31
Что у Вас за модель роутера? И какой релиз прошивки? Если wl500gp или RT-N16 на прошивке от энтузиастов, то пришлю свой файл с настройками, т.к. начиная с одного из релизов 17ХХ - малость изменилась веб-морда. И программа криво определяет нужные ей параметры.

wl500gp прошивка 1.9.2.7-d-r1612

VicSer
31-07-2010, 18:51
wl500gp прошивка 1.9.2.7-d-r1612

Завтра постараюсь выложить правильный файл с настройками для этого релиза прошивки. ;)

VicSer
01-08-2010, 11:26
Файл настройки для RouterControl брать тут (http://ifolder.ru/18733037).

В списке роутеров 2 пункта:
ASUS WL-500g/WL-500gP/WL-500W/RT-N16 build r1764 and earlier - для роутеров с прошивками с r880 по r1764.
ASUS WL-500g/WL-500gP/WL-500W/RT-N16 build r1765 and later - для роутеров с прошивками r1765 и более поздними.

В программе:
Кнопка 1 - отключить вафлю.
Кнопка 2 - включить вафлю.

VaniaLSD
01-08-2010, 12:02
VicSer
О_о спс большое!!! Все заработало

bvvr
02-08-2010, 20:13
VicSer, у меня тоже заработало. Есть только небольшой глюк - после ip адреса в главном окне и в трее написано:
"readonly="1">
Вариант с прошивками с r880 по r1764

rss, что-то не срабатывает у меня :( Создал ярлыки, вписал адреса. Поскольку веб-интерфейс на порту 8080 добавил его в адрес. Запускаю - просит логин-пароль, даю. Открывается пустая страница, wan не отключается. В адресной строке браузера стоит http://192.168.1.1:8080/syscmd_out.asp

Роутер WL-500W с прошивкой от энтузиастов, на компе Win XP.

VicSer
02-08-2010, 20:44
VicSer, у меня тоже заработало. Есть только небольшой глюк - после ip адреса в главном окне и в трее написано:
"readonly="1">
Вариант с прошивками с r880 по r1764

Роутер WL-500W с прошивкой от энтузиастов, на компе Win XP.

Посмотреть бы на исходный код страницы статуса (Main_GStatus_Content.asp) роутера вашей прошивки. Мож чего и исправлю.

rss
02-08-2010, 20:56
rss, что-то не срабатывает у меня :( Создал ярлыки, вписал адреса. Поскольку веб-интерфейс на порту 8080 добавил его в адрес. Запускаю - просит логин-пароль, даю. Открывается пустая страница, wan не отключается. В адресной строке браузера стоит http://192.168.1.1:8080/syscmd_out.asp

Роутер WL-500W с прошивкой от энтузиастов, на компе Win XP.

Прошивка свежая, надеюсь? (хотя бы 1825)

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

Рекомендую проверить на http://192.168.1.1/apply.cgi?current_page=syscmd_out.asp&action_mode=+Refresh+&SystemCmd=uname%20-a

bvvr
02-08-2010, 21:58
rss, прошивка r1445. Текущие торренты докачаются - обновлю.
А какая реакция должна быть на команду http://192.168.1.1/apply.cgi?current_page=syscmd_out.asp&action_mode=+Refresh+&SystemCmd=uname%20-a, ведь команды в результате ничего не выводят?

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

rss
03-08-2010, 05:14
rss, прошивка r1445. Текущие торренты докачаются - обновлю.
А какая реакция должна быть на команду http://192.168.1.1/apply.cgi?current_page=syscmd_out.asp&action_mode=+Refresh+&SystemCmd=uname%20-a, ведь команды в результате ничего не выводят?
Это команды для включения/отключения wan ничего не выводят, а uname -a ещё как выводит ;)

bvvr
03-08-2010, 17:32
Значится пока тоже не работает :(
Буду прошиваться

bvvr
03-08-2010, 18:32
Докладываю:
Прошился r1825.
Мелкий глюк с RouterControl пропал :)
Ярлыки заработали :)
rss, VicSer СПАСИБО!!!

Кстати вот здесь http://wl500g.info/showthread.php?t=12831&highlight=asus+monitor программа аналогичная RouterControl но с большим функционалом-можно логи и графики в неё выводить и кнопки через настройки назначать. Но глючная. Жаль что тема заглохла
VicSer, а можно на 3 кнопку повесить pre-shutdown и reboot роутера?

VicSer
05-08-2010, 18:03
VicSer, а можно на 3 кнопку повесить pre-shutdown и reboot роутера?

Если я не ошибаюсь, то на 3 кнопке - ребут и есть. :cool:

rss
05-08-2010, 20:50
Кстати вот здесь http://wl500g.info/showthread.php?t=12831&highlight=asus+monitor программа аналогичная RouterControl но с большим функционалом-можно логи и графики в неё выводить и кнопки через настройки назначать. Но глючная. Жаль что тема заглохла

По-моему если и развивать подобное направление, то web-средствами с использованием js и html. Как вариант - плагин для браузера (все нормальные браузеры поддерживают либо плагины, либо виджеты, либо и то и другое). Близкий пример http://forum.yotatester.ru/showthread.php?t=1691

PS: тот вариант запуска скрипта, который я показал был предназначен для получения возвращаемого скриптом текста без каких-либо изменений. Всегда существовал и другой способ (используется для запуска команд из веб-интерфейса), но возвращает он отформатированную html, а не просто текст.

bvvr
07-08-2010, 11:15
rss, а можно про этот другой способ рассказать?

VicSer, у меня на при нажатии на 3 кнопку ничего не происходит. На сайте RouterControl есть программа RouterControl editor, правда описание на немецком... В ней действительно видно что на 3 кнопке стоит Save@Restart, но почему-то не срабатывает.

rss
07-08-2010, 19:24
rss, а можно про этот другой способ рассказать?

См. страницу System Command.
http://192.168.1.1/apply.cgi?current_page=Main_AdmStatus_Content.asp&next_page=Main_AdmStatus_Content.asp&next_host=192.168.1.1&sid_list=FirewallConfig%3B&group_id=&modified=0&action_mode=+Refresh+&first_time=&action_script=&SystemCmd=ls&action=Refresh

VicSer
07-08-2010, 20:36
VicSer, у меня на при нажатии на 3 кнопку ничего не происходит. На сайте RouterControl есть программа RouterControl editor, правда описание на немецком... В ней действительно видно что на 3 кнопке стоит Save@Restart, но почему-то не срабатывает.

Гляну только на след. неделе, т.к. роутер в ремонте.

bvvr
07-08-2010, 21:40
rss, еще раз спасибо!

VicSer, ок, жду. Пока с Editor-ом поразбираюсь...

VaniaLSD
14-08-2010, 09:59
VicSer
У меня сестра нашла выход -она просто перегружает роутер, вытаскиванием из сети и интернет появляется. Если еще способ?

VicSer
14-08-2010, 10:05
VicSer
У меня сестра нашла выход -она просто перегружает роутер, вытаскиванием из сети и интернет появляется. Если еще способ?

Как вариант - повесить перезапуск на кнопку 3 в RouterControl. Но сделать (проверить) пока не могу, т.к. мой роутер из ремонта так и не вернулся. Благополучно умер на 100%. А заменят его только через 2-3 недели приблизительно.

VaniaLSD
14-08-2010, 20:20
Как вариант - повесить перезапуск на кнопку 3 в RouterControl.
Что за перезапуск? Или чего?

VicSer
14-08-2010, 20:38
Что за перезапуск?

Послать роутеру команду reboot для перезагрузки.

VaniaLSD
14-08-2010, 20:46
Послать роутеру команду reboot для перезагрузки.

Так наоборот. Мне нужно чтобы интернет(и вафля) не врубался. Это я как раз сделал для сестры, чтобы как я уходил спать вырублю инет и вафлю, а она передергивает блок питание и инет на ноуте появляется.

VicSer
14-08-2010, 20:58
Так наоборот. Мне нужно чтобы интернет(и вафля) не врубался. Это я как раз сделал для сестры, чтобы как я уходил спать вырублю инет и вафлю, а она передергивает блок питание и инет на ноуте появляется.

Тогда только через cron (планировщик) на роутере. На определенное время - убивать процессы pppd и отрубать вафлю. И проверять раз в 5-10 минут - если процесс появился, то убивать, а если нет, ничего не делаем. И запускать такой скрипт, к примеру, с 00:00 до 8:00.

UPD: Или уж совсем коварный вариант - это разместить прошивку на флешке. Пошел спать - выключил роутер, выдернул флешку, убрал подальше. И пока флешку не вставишь, то роутер фиг запустишь. :cool:

Parkinstein
14-08-2010, 22:31
Так наоборот. Мне нужно чтобы интернет(и вафля) не врубался. Это я как раз сделал для сестры, чтобы как я уходил спать вырублю инет и вафлю, а она передергивает блок питание и инет на ноуте появляется.

МИнуточку.... WiFi по времени умеет работать... настраивается в вебморде.... по дням недели, по времени...МАС сестры на время сна в стоп-лист файрвола... Ну и еще, как вариант, блок питания под подушку..

З.Ы. Низя быть таким жадиной :)

VaniaLSD
15-08-2010, 16:42
МИнуточку.... WiFi по времени умеет работать... настраивается в вебморде.... по дням недели, по времени...МАС сестры на время сна в стоп-лист файрвола... Ну и еще, как вариант, блок питания под подушку..

З.Ы. Низя быть таким жадиной :)
Да!!! 2 до 6 часов ночи вафли нет - это я настроил еще в веб-морде, но если я ухожу спать, то отрубаю полностью инет(благодаря RouterControl) даже если раньше 2ч. Так вот сестра просто передергивает блок питания и забирает кабель от моего компа, а на утро обратно в мой комп, как ни в чем не бывало.

VicSer
15-08-2010, 16:53
Да!!! 2 до 6 часов ночи вафли нет - это я настроил еще в веб-морде, но если я ухожу спать, то отрубаю полностью инет(благодаря RouterControl) даже если раньше 2ч. Так вот сестра просто передергивает блок питания и забирает кабель от моего компа, а на утро обратно в мой комп, как ни в чем не бывало.

Тогда включи MAС фильтр на кабельные подключения. И поставь туда только МАС карточки со своего компа. Тогда трюк с кабелем точно у сестренки не пройдет, а вафля и так с 2 до 6 не работает. :cool:

Parkinstein
15-08-2010, 17:05
Да!!! 2 до 6 часов ночи вафли нет - это я настроил еще в веб-морде, но если я ухожу спать, то отрубаю полностью инет(благодаря RouterControl) даже если раньше 2ч. Так вот сестра просто передергивает блок питания и забирает кабель от моего компа, а на утро обратно в мой комп, как ни в чем не бывало.
От жеж сволочь.... все мегабайты из интернета выкачала....:D
Сорри4оффтоп...

VaniaLSD
15-08-2010, 19:54
Тогда включи MAС фильтр на кабельные подключения. И поставь туда только МАС карточки со своего компа. Тогда трюк с кабелем точно у сестренки не пройдет, а вафля и так с 2 до 6 не работает. :cool:

Как это сделать? А нет такого же способа, как c RouterControl, но тока работающий.

VaniaLSD
15-08-2010, 19:57
Тогда включи MAС фильтр на кабельные подключения. И поставь туда только МАС карточки со своего компа. Тогда трюк с кабелем точно у сестренки не пройдет, а вафля и так с 2 до 6 не работает. :cool:

Как это сделать? А нет такого же способа, как c RouterControl, но тока работающий.


З.Ы. Низя быть таким жадиной
Интернета не жалко, если бы вела себя хорошо. Вот и выходится действовать на нее интернетом, даже родители одобрили отключение вафли с 2 до 6.

bekkuz
15-08-2010, 20:12
Всем привет. Уже больше 3-месяцев использую данную прошивку для модели DIR-320. Но у меня есть 1 проблема которую я не мог решить. Перечитал много тем но так и не нашел ответа. Помогите.
Мой провайдер (Мегалайн, Казахстан) обрывает связь через каждые 24 часа. При обрыве при открытии любой страницы в инете, автоматический открывается сайт личного кабинета клиента. Роутер не хочет автоматом присоединяться. И висит так, пока вручную не сделаешь через вебморду рекконект.
Жду ответа.

VicSer
15-08-2010, 20:51
Как это сделать? А нет такого же способа, как c RouterControl, но тока работающий.


Меню Internet Firewall -> Mac Filter. Ставишь МAC Filter Mode: Accept. А в таблицу забиваешь MAC адрес своей сетевой карты. Или ставишь режим Reject и забиваешь в таблицу MAC адрес сетевой карты своей сестры.



Сообщение от VicSer
З.Ы. Низя быть таким жадиной

Этого я не писал. Ты что-то перепутал.

Parkinstein
16-08-2010, 01:19
Всем привет. Уже больше 3-месяцев использую данную прошивку для модели DIR-320. Но у меня есть 1 проблема которую я не мог решить. Перечитал много тем но так и не нашел ответа. Помогите.
Мой провайдер (Мегалайн, Казахстан) обрывает связь через каждые 24 часа. При обрыве при открытии любой страницы в инете, автоматический открывается сайт личного кабинета клиента. Роутер не хочет автоматом присоединяться. И висит так, пока вручную не сделаешь через вебморду рекконект.
Жду ответа.

изучайте cron и скриптописание...
смысл следующий, раз в какое-то время пинг адреса в инете... есть ответ - спим дальше, нет ответа - реконнект...

bekkuz
16-08-2010, 03:29
изучайте cron и скриптописание...
смысл следующий, раз в какое-то время пинг адреса в инете... есть ответ - спим дальше, нет ответа - реконнект...

Если бы я мог писать скрипты, я бы давно решил эту проблему. :confused: В линухе я не силен. Желательно жду конкретного решения для моей задачи. Гуру помогите.

MrGalaxy
16-08-2010, 04:54
Если бы я мог писать скрипты, я бы давно решил эту проблему. :confused: В линухе я не силен. Желательно жду конкретного решения для моей задачи. Гуру помогите.
Спасение утопающих - дело рук самих утопающих.
(с) Ильф и Петров.

Покурите это (http://www.wl500g.info/showthread.php?t=24159) и это (http://www.wl500g.info/showthread.php?t=23571).

Parkinstein
16-08-2010, 06:12
Если бы я мог писать скрипты, я бы давно решил эту проблему. :confused:

А что мешает? Зрение слабое? Нестандарная клавиатура? Отсутствие доступа к справочным материалам в Сети?

В линухе я не силен.
Линь такая штука, что в нем не силен даже Линус Торвальдс (http://ru.wikipedia.org/wiki/%D0%A2%D0%BE%D1%80%D0%B2%D0%B0%D0%BB%D1%8C%D0%B4%D 1%81,_%D0%9B%D0%B8%D0%BD%D1%83%D1%81)

Желательно жду конкретного решения для моей задачи. Гуру помогите.
А мне дачу на Рублево-Успенском, велосипед, буденовку и пива...

VaniaLSD
16-08-2010, 08:11
Меню Internet Firewall -> Mac Filter. Ставишь МAC Filter Mode: Accept. А в таблицу забиваешь MAC адрес своей сетевой карты. Или ставишь режим Reject и забиваешь в таблицу MAC адрес сетевой карты своей сестры.
И это каждый раз делать когда надо включить и выключить? Легче заменить одну букву в логине и инета нет.



Этого я не писал. Ты что-то перепутал.

Сорри, быстро отвечал((

MrGalaxy
16-08-2010, 09:51
BTW, пинг целесообразно делать по нескольким адресам (как в моём примере), т.к. некоторые сайты могут лежать в данное время. И получится, что Инет есть, но пинга нет, вот и будет идти бесконечный коннект-дисконнект.

bekkuz
16-08-2010, 13:53
Спасение утопающих - дело рук самих утопающих.
(с) Ильф и Петров.

Покурите это (http://www.wl500g.info/showthread.php?t=24159) и это (http://www.wl500g.info/showthread.php?t=23571).

У тебя пример для L2TP подключения, а у меня PPPoE. Может из за этого но у меня нету директории как у тебя. У меня в папке /usr/local только 2 директории /root и /sbin.
Помоги пожалуйста.

Vampik
16-08-2010, 15:31
Может быть что-то с настройками? Автоматическое переподключение должно работать сразу, без каких-либо скриптов.
Только ни настройки, ни логи, ни версия прошивки - ничего не указано.

Parkinstein
16-08-2010, 17:23
У тебя пример для L2TP подключения, а у меня PPPoE. Может из за этого но у меня нету директории как у тебя. У меня в папке /usr/local только 2 директории /root и /sbin.
Помоги пожалуйста.

а какая разница-то? WAN он и в Африке WAN...
А папки создаются... да...сами они не возникнут..

MrGalaxy
16-08-2010, 18:38
Может быть что-то с настройками? Автоматическое переподключение должно работать сразу, без каких-либо скриптов.
Должно, но не работает. Роутер зацикливается на "ретрансмиссиях он туннель".

Настройки и логи я уже выкладывал на форуме. Даже разработчики руками разводят.

VicSer
16-08-2010, 18:46
И это каждый раз делать когда надо включить и выключить? Легче заменить одну букву в логине и инета нет.


Так ты же говорил, что она через вафлю инет получает. Тогда зачем ей доступ по кабелю? Отруби его один раз. И пусть только с вафли инет получает. А вафля и так у тебя с 2 до 6 не работает.

bekkuz
16-08-2010, 18:53
Может быть что-то с настройками? Автоматическое переподключение должно работать сразу, без каких-либо скриптов.
Только ни настройки, ни логи, ни версия прошивки - ничего не указано.

Прошивка 1.9.2.7-d-r1612
Программы через установка программ для чайника.
Модем DIR-320.

bekkuz
16-08-2010, 18:58
а какая разница-то? WAN он и в Африке WAN...
А папки создаются... да...сами они не возникнут..

Значит мне надо создать эти папки?
А расширение скрипта какое будет?

VaniaLSD
17-08-2010, 00:33
Так ты же говорил, что она через вафлю инет получает. Тогда зачем ей доступ по кабелю? Отруби его один раз. И пусть только с вафли инет получает. А вафля и так у тебя с 2 до 6 не работает.

Вафля отрубается 2-6, и еще (допустим) я отключил через РоутерКонтрол инет. Так она передергивает блок питание и подключает мой кабель и вайфай ей уже не нужен. Я сам про это забыл, а дошло только когда засек ее с мои кабелем))) Да и на утро по идеи, я должен подключить инет обратно, а он уже работает.

VicSer
17-08-2010, 03:39
Вафля отрубается 2-6, и еще (допустим) я отключил через РоутерКонтрол инет. Так она передергивает блок питание и подключает мой кабель и вайфай ей уже не нужен. Я сам про это забыл, а дошло только когда засек ее с мои кабелем))) Да и на утро по идеи, я должен подключить инет обратно, а он уже работает.

Так поставь в Mac фильтре из меню Internet Firewall режим REJECT. И в таблицу занеси MAC адрес её сетевой карты (не путать с МАС адресом вафли). Тогда роутер будет отбивать её соединения по кабелю. И твоим кабелем она уже воспользоваться не сможет. А вафля и так у тебя вырубится. Единственное только инет будет подключен, если она блок питания передернет.

vital2000
17-08-2010, 06:29
Была аналогичная проблема на RT-N16. Решил ее при помощи перезалива прошивки в режиме восстановления, полного сброса настроек и вбивания их вручную.

VaniaLSD
18-08-2010, 08:27
Так поставь в Mac фильтре из меню Internet Firewall режим REJECT. И в таблицу занеси MAC адрес её сетевой карты (не путать с МАС адресом вафли).

Даже стыдно ... А где посмотреть МАС адрес?


Единственное только инет будет подключен, если она блок питания передернет.


Так это и не надо, если будет вафля с 6-2 и не сможет воспользоваться мои кабелем, то и инет не надо отрубать.

D.Ilyin
18-08-2010, 08:41
Даже стыдно ... А где посмотреть МАС адрес?
в Windows командой getmac.

VicSer
18-08-2010, 10:50
Даже стыдно ... А где посмотреть МАС адрес?


2 способа с картинками смотреть тут (http://www.rikt.ru/internet/faq/mymac). ;)

VaniaLSD
19-08-2010, 16:49
в Windows командой getmac.

Посмотрел на ноуте оказалось 3 адреса, 2 из них внес в firewall.

Всем спс. Все сделал как и хотел.

kasym
20-08-2010, 07:03
при настройке pppoe я получил ошибку:

rp-pppoe is compiled against pppd version 2.4.2, а у меня стоит pppd 2.4.3

Старого пакета ppp_2.4.2 в репозитории нет. Нового пакета rp-pppoe_2.4.3 тоже нет. Что делать? :confused:

alegzz
20-08-2010, 18:53
rp-pppoe 3.1 нормально собирается на роутере

bekkuz
21-08-2010, 20:42
изучайте cron и скриптописание...
смысл следующий, раз в какое-то время пинг адреса в инете... есть ответ - спим дальше, нет ответа - реконнект...

Перепрошил на новую прошивку 1.9.2.7-d-r1825.
Проблема осталась.
Решил пойти другим путем. Использовать crond. Перечитал много информации. Но так и не выходить у меня. Хочу чтобы роутер каждый день в полночь перезагружался.
Использовал этот код

mkdir -p /var/spool/cron/crontabs
crontab -e
#Edit crontab file. See tutorials on crontab and vi (text editor)
#Ex. Press "a" for append-mode. Enter cron-command ex "00 00 * * * reboot"
#to reboot everyday at 12 am. Press "Esc", ":wq" and "Enter" to save and quit.
mkdir -p /usr/local/sbin
echo "/var/spool/cron/crontabs/admin" >> /usr/local/.files
if [ ! -f /usr/local/sbin/post-boot ] ; then
echo "#!/bin/sh" > /usr/local/sbin/post-boot
fi
echo "/usr/sbin/crond" >> /usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-boot
flashfs save
flashfs commit
#If not already enabled:
flashfs enable
reboot
Но так и ничего не выходить :(

bogd
21-08-2010, 21:55
была проблема с обрывом pptp и последующей ошибкой аутентификации при попытках восстановления соединения. долго искал решение, в конце концов состряпал из нескольких чужих скриптов вот такое...


#!/bin/sh
# Ресурс, доступность которого нужно проверять.
PINGRESOURCE="yandex.ru"
# Если ресурс не доступен
if ( ! ping -c 3 ${PINGRESOURCE} >/dev/null 2>&1) then
#переподсоединяем PPTP
killall pppd >/dev/null 2>&1
sleep 10s
pppd file /tmp/ppp/options.wan0 >/dev/null 2>&1
logger -t user no ping ${PINGRESOURCE}... ppp restarted
sleep 60s
/opt/etc/sendsms/send.php 7906******* reconnected ppt on DIR320

else
logger -t user ping ${PINGRESOURCE} ok!
fi

эта вещь помещена у меня в папку cron, запускается раз в 15 минут.
скрипт пишет в лог результаты пинга и если приходится перезапустить PPTP, то шлет смску;)
если таки надо перегружать роутер, в чем я сильно сомневаюсь, то меняйте строчку killall pppd >/dev/null 2>&1 на reboot, уж точно должно помочь

bekkuz
22-08-2010, 04:22
была проблема с обрывом pptp и последующей ошибкой аутентификации при попытках восстановления соединения. долго искал решение, в конце концов состряпал из нескольких чужих скриптов вот такое...


#!/bin/sh
# Ресурс, доступность которого нужно проверять.
PINGRESOURCE="yandex.ru"
# Если ресурс не доступен
if ( ! ping -c 3 ${PINGRESOURCE} >/dev/null 2>&1) then
#переподсоединяем PPTP
killall pppd >/dev/null 2>&1
sleep 10s
pppd file /tmp/ppp/options.wan0 >/dev/null 2>&1
logger -t user no ping ${PINGRESOURCE}... ppp restarted
sleep 60s
/opt/etc/sendsms/send.php 7906******* reconnected ppt on DIR320

else
logger -t user ping ${PINGRESOURCE} ok!
fi

эта вещь помещена у меня в папку cron, запускается раз в 15 минут.
скрипт пишет в лог результаты пинга и если приходится перезапустить PPTP, то шлет смску;)
если таки надо перегружать роутер, в чем я сильно сомневаюсь, то меняйте строчку killall pppd >/dev/null 2>&1 на reboot, уж точно должно помочь

Сделал как у тебя. Теперь в какую именно папку положить? Можешь написать полный путь к папке и какие еще манипуляции нужны сделать. Я написал этот скрипт в файл ping.sh который в папке cron.hourly. Как я понял скрипт должен запускаться каждый час?

bogd
22-08-2010, 07:57
ну в принципе все правильно, осталось только сделать этот скрипт исполняемым и сохранить все во флэш памяти, для этого выполнить в консоли


chmod +x /opt/etc/cron.hourly/ping.sh
flashfs save && flashfs commit && flashfs enable && reboot


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

VaniaLSD
03-09-2010, 15:05
Жаль что программу RouterControl можно обмануть((, вытащив и вставь блок питания. Приходиться вырубать вайфай через веб-интерфейс с перезагрузкой роутера.