а если скрипта опереть на syslog ?
if (pppd: Connection terminated)
{
route add default dev vlan2
}
if (PPPoE: connect to ISP)
{
route add default dev vlan2
}
как это сделанно у меня (корбина + стрим)
корбина настроена штатно через web интерфейс роутера
ASUS 500gP выдает подсеть 192.168.1.0\255.255.255.0
имеет адрес 192.168.1.1
модем настроен в режим роутера выдает подсеть 192.168.9.0\255.255.255.0
имеет адрес 192.168.9.1
заходим на роутер
telnet 192.168.1.1
#создаем директорию
mkdir -p /usr/local/sbin
#создаем в ней файл post-boot и post-firewall
echo "#!/bin/sh" > /usr/local/sbin/post-boot
echo "#!/bin/sh" > /usr/local/sbin/post-firewall
#делаем их исполняемыми
chmod +x /usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-firewall
#открываем в редакторе vi
#(в принципе можно загнать по одной строке командами типа echo "МояСтрока" >> /usr/local/sbin/post-boot)
vi /usr/local/sbin/post-boot
1)включаем режим ввода нажав i
2)вставляем текст
3)выходим из редактирования esc
4)сохраняем :wq enter (отказатся от сохранения :q!)
далее текст для post-boot
аналогично заполняем post-firewallCode:#поднимается второй интерфейс на LAN1 robocfg vlan 0 ports "2 3 4 5t" vlan 2 ports "1 5t" vconfig add eth0 2 ifconfig vlan2 192.168.9.2 netmask 255.255.255.0 up #делаем маршруты для ресурсов только через второй wan #это DNS route add -net 195.34.32.116 netmask 255.255.255.255 gw 192.168.9.1 route add -net 212.188.4.10 netmask 255.255.255.255 gw 192.168.9.1 #дальше по вкусу например почту pop.mail.ru только через стрим route add -net 194.67.23.102 netmask 255.255.255.255 gw 192.168.9.1
vi /usr/local/sbin/post-firewall
убеждаемся , что файлы заполнены выведя их на экранCode:#настраиваю nat для второго wan из локалки iptables -t nat -A POSTROUTING -j SNAT -o vlan2 -s 192.168.1.0/24 --to-source 192.168.9.2 #доступ к Wan2 только из локалки iptables -t filter -A FORWARD -i ! br0 -o vlan2 -j DROP #удаляем дефолтный маршрут на второй WAN чтобы он всегда был поверх остальных с метрикой 1 (в моем случае это локалка корбины) route del default dev vlan2 #дефолтный маршрут с метрикой 1 на резервный канал route add default gw 192.168.9.1 dev vlan2 metric 1
cat /usr/local/sbin/post-boot
cat /usr/local/sbin/post-firewall
создаем файлик с адресами DNS для второго wan
тут стримовские можно указать и публичные типа 4.2.2.4
echo "server=195.34.32.116" > /tmp/local/etc/dnsmasq.conf
echo "server=212.188.4.10" >> /tmp/local/etc/dnsmasq.conf
сохраним изменения на флэш
flashfs save
flashfs commit
flashfs enable
перезагружаемся
reboot
интерфейс модема будет доступен через http://192.168.9.1
при падении корбины дефолтный маршрут
на ppp0 с метрикой 0 уходит
и все начинает заворачиваться на стрим с метрикой 1
при работающей корбине на стрим уходит только то что специально указанно в post-boot
когда корбина поднимается все опять идет через нее
проверял выдергиванием шнура и отключением инета через web роутера
замечен небольшой нонсенс
при падении локалки корбины L2TP сервер tp.corbina.net остается доступен через инет
и продолжает работать
т.е. вы продолжаете выжигать трафик корбины
только теперь используете для доступа не локалку корбины, а стримовский канал
лечится перезагрузкой
но ИМХО не настолько критично чтобы портить простоту схемы
а если скрипта опереть на syslog ?
if (pppd: Connection terminated)
{
route add default dev vlan2
}
if (PPPoE: connect to ISP)
{
route add default dev vlan2
}
нет сислог не причем, можно на крон
vim имеет два режима - бибикать и все портить (с) не мое
это как по крону определять что базовый провайдер отвалился ?
ну так как настраивать второй WAN?
а что конкретно не понятно в том как я описал процесс настройки второго wan?
Wan 1 - Корбина Wan 2 - Стрим
настроенно так
стрим безлимитный , но у него аплоад очень медленный
в корбине аплоад бесплатный и хотелось бы этим воспользоватся
т.е. принимать почту через стрим, а отправлять через корбину...
второй WAN настраивается через ifconfig vlan2
немного покурив PPPOE выяснил что все элементарно, скрипты обрабатывающиеся по событию это ip-up и ip-down. так что в скрипт ip-down можно запихнуть поднятие резервного канала, а в скрипте ip-up просто пристрелить резервный канал и ходить через основной
Last edited by Omega; 18-08-2014 at 12:13.
Господа специалисты!
2-й WAN мне удалось поднять с горем пополам на DD-WRT, однако осталась нерешённой следующая задача:
Постоянно воткнуты 2 внешних кабеля:
- WAN - Корбина (vpn, l2tp, dhcp, автоопределение dns и gw);
- vlan2 - модем ADSL (статические ip, 3 шт. dns, gw).
Оба эти интерфейса должны стекаться в выходную сеть LAN, в т.ч. и в wifi.
1) Допустим, переключение реализовано кнопкой EZ-SETUP. При смене DNS и прочего будет ли происходить перезапись файлов во флеш или всё пишется в ОЗУ роутера? Или вообще ничего не пишется, а конфигурация записалась раз и навсегда?
2) Возможно ли одновременное поднятие и работа обоих интерфейсов или обязательно один отключать? (При наличии двух сетевых адаптеров на материнской плате ПК одновременная работа по ним возможна, я пробовал).
3) Не будут ли статические маршруты, заданные для WAN, мешать соединению через vlan2?
4) Будут ли распростаняться правила файрволла, заданные для WAN-LAN, на vlan2-LAN? Где находится и как назван файл в прошивке Олега, где хранятся правила файрволла, заданные через WEB-морду?
5) В какой прошивке проще и корректней реализовать вышеуказанное: Олега или DD_WRT?
Господа, помогайте. Если получится, напишу подробный мануал для начинающих.
Пока у меня работает Интернет, если воткнут только один кабель, втыкаю другой - всё виснет, перезагрузка не помогает.
у меня 2 провайдера, первый СЗТ, второй городской провайдер.
все работает.
Прошивка Олега последняя, для второго провайдера поднят vlan.
При падении первого провайдера ходим в инет через второго.
vim имеет два режима - бибикать и все портить (с) не мое
Не совсем понятно что требуется, много букв.
У меня 2 прова. WAN-PPPoE, vlan2-ADSL (используется со статическими маршрутами исключительно для доступа к мультимедиа ресурсам провайдера). Всё работает.
Я так понимаю что ето не возможно, но все же позвольте спросить. Возможно ли PPTP+РРРоЕ?
1) Запись в флеш идет только при вызове flashfs commit. До этого момента все в оперативной памяти.
2) В первом случае содержимое файла, в который идет запись, если он существует, обнуляется, и в нем остается только строчка, указанная в этой команде. Во втором случае эта строчка добавляется в конец файла. Если файл не существовал - разницы никакой, он в любом из этих вариантов создается.
Господа специалисты!
1) При дописывании файла /tmp/local/etc/dnsmasq.conf к /etc/dnsmasq.conf во время загрузки роутера будет ли идти запись во флеш или только в ОЗУ?
2) В чём отличие echo...>... от ech0...>>...?
Alexander B.
Большое спасибо!
Как можно программно погасить WAN и поднять vlan2?
И сделать обратную задачу?
Хочу этот скрипт занести в ez-setup для ручного переключения между провайдерами.
Неужто никто не переключал vlan'ы вручную?
Это же удобно!
(Автомат не устраивает, т.к. один из подключённых провайдеров - "лимитный" и используется только в самом крайнем случае).
Last edited by Omega; 11-06-2011 at 17:35. Reason: fixed
Имею 2 жилы (Corbina и Beeline) читал на форуме, что можно как то подружить их в роутере и пользоваться двумя независимыми каналами.
Задача сделать один канал на закачку, второй на отдачу (Corbina - download, Beeline - upload) благо utorent позволяет разделить эти каналы.
Теперь о главном, в линуксе я полный ноль, ну точнее подмонтировать диск и всякие базовые команды знаю, а в остальном полный ноль. Подскажите как мне это реализовать