DIR320+Wan(Ethrnet)+3G резервный канал свя

Post new topic   Reply to topic    DD-WRT Forum Index -> Использование и установка DD-WRT
Goto page Previous  1, 2
Author Message
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Mon Jun 20, 2011 8:06    Post subject: Reply with quote
Otten wrote:
dns прописаны в модеме, пинга добился, а с браузера странички не открывает..... Заколдованный круг....
Code:
# ping ya.ru
PING ya.ru (87.250.250.203): 56 data bytes
64 bytes from 87.250.250.203: seq=0 ttl=53 time=34.831 ms
64 bytes from 87.250.250.203: seq=1 ttl=53 time=33.431 ms
64 bytes from 87.250.250.203: seq=2 ttl=53 time=33.235 ms
64 bytes from 87.250.250.203: seq=3 ttl=53 time=33.002 ms
64 bytes from 87.250.250.203: seq=4 ttl=53 time=33.318 ms
64 bytes from 87.250.250.203: seq=5 ttl=53 time=34.066 ms
64 bytes from 87.250.250.203: seq=6 ttl=53 time=40.628 ms
64 bytes from 87.250.250.203: seq=7 ttl=53 time=32.881 ms
64 bytes from 87.250.250.203: seq=8 ttl=53 time=33.677 ms
64 bytes from 87.250.250.203: seq=9 ttl=53 time=33.470 ms
64 bytes from 87.250.250.203: seq=10 ttl=53 time=34.028 ms

--- ya.ru ping statistics ---
11 packets transmitted, 11 packets received, 0% packet loss
round-trip min/avg/max = 32.881/34.233/40.628 ms




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

При схеме

Инет1---ADSL-------(LAN)DIR(LAN)-------(LAN)ПК1
ПК2(Wi-fi)------(Wi-Fi)+ +....инет2

В вашем посту выше
Code:

[admin@(none) root]$ ip ro
10.112.112.112 dev ppp0  proto kernel  scope link  src 10.219.9.82
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.1
127.0.0.0/8 dev lo  scope link
default via 192.168.1.100 dev br0
[admin@(none) root]$


У вас все у же работает, и вы имеете два нормальных канала, а вы занимаетесь фигней ping, нужно взять адреса с модема про DNS и прописать их на ПК => при обращении к страницы с ПК, он сначала возьмет адрес DNS сервера из свойств сетевой ПК, потом все это отправит на шлюз по умолчанию, так же из свойств сетевой ПК в которой у вас 192.168.1.1, далее пакет попав на DIR согласно таблице маршрутов отправит его на
default via 192.168.1.100 dev br0
модем получив этот пакет отправит его дальше согласно своей таблице маршрутов так же default в конечном итоге он попадет на DNS сервер, а уж от него вернется на ваш ПК, и только потом откроется страница.
Sponsor
Alexander Kalinin
DD-WRT Novice


Joined: 22 Feb 2011
Posts: 6

PostPosted: Mon Aug 05, 2013 5:28    Post subject: Reply with quote
Добрый день!
Возможно сделать резервный канал не через 3G модем, а через другой роутер подключенный к лан порту или вообще сделать 2 подключения ван и второе использовать, как резервный канал, чтоб не разводить кучу роутеров.
Спасибо.
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Tue Aug 06, 2013 5:34    Post subject: Reply with quote
Alexander Kalinin wrote:
Добрый день!
Возможно сделать резервный канал не через 3G модем, а через другой роутер подключенный к лан порту или вообще сделать 2 подключения ван и второе использовать, как резервный канал, чтоб не разводить кучу роутеров.
Спасибо.

По какому каналу работать все зависит от маршрутизации, а именно от маршрута по умолчанию на роутере, на котором "два канала".
Например поднимаете канал на роутере с настройками например на 3G и подключаете по LAN кабелю другой роутер. После подключения по 3G на вашем роутере будет канал по умолчанию (default) на 3G. Клиент например по DHCP подключенный к вашему роутеру получит данные IP и обязательно IP шлюза - это будет ваш роутер. Любой запрос с клиента пойдет на ваш роутер далее на роутере будет использован тот самый маршрут по умолчанию (default) через 3G => но если сменить на вашем роутере маршрут по умолчанию на другой роутер подключенный к LAN порту, то можно использовать данный канал как основной.
1. смотрите использование команды например на другой роутер2 в сети вашего роутера 192.168.1.1
Code:
ip ro add default via 192.168.1.100 dev br0

или route add ....
2. либо на клиенте ПК использовать стат и указать шлюзом другой роутер (если второй подключен LAN портом к вашему роутеру LAN портом, т.е. IP из одной сети, иначе прописать стат. маршрут)
Инет1----3G-роутер-LAN---------LAN-роутер2-WAN----Инет2
ПК------------+
Например роутер - 192.168.1.1 роутер2 - 192.168.1.100, шлюзом для второго канала нужно указывать 192.168.1.100
crazyxxx
DD-WRT Novice


Joined: 10 Oct 2014
Posts: 4

PostPosted: Wed Oct 15, 2014 21:44    Post subject: Re: DIR320+Wan(Ethrnet)+3G резервный канал с Reply with quote
vasek00 wrote:

Все основано на маршрутах, и проверки их работоспособности хотя бы командой ping до:
-шлюза
-до первого www в интернете.

Если Aкорп поднимает интернет то лучше от него завести просто на LAN порт DIR320. Если DIR320 имеет локальный 192.168.1.1 то например Акорпу дайте 192.168.1.100 везде маска 255.255.255.0 в настройках dd-wrt можете указать в http://192.168.1.1/index.asp
в разделе Network Setup - Gateway - 192.168.1.100
тем самым добиваемся что любой клиент будет отправлен на маршрут через Акорп.

3G заводите как у вас и все запускаете, у вас появиться новый интерфейс что-то типа ppp.

Для определения на каком работать достаточно указать маршрут по default по умолчанию, т.е. отправлять пакеты по данному маршруту, в данном случае у вас это будет Акорп, и например раз в 15сек. проверять его доступность по ping, если он возвращает потерю пакетов, то вам просто необходимо переключить default маршрут на 3G.
Для переключения маршрутов достаточно команд:

Code:
route del default
ip route flush cache
route add default gw 192.168.1.100 dev br0
или
route add default gw [IP_3G] dev pppХ


Используем команды:
- ifconfig - список сетевых интерфейсов
- ip ro - список маршрутов
- route - редактирование маршрутов
- ping -c2 -I ppp0 194.186.Х.Х
где -с2 кол-во пакетов, ppp0 сетевой интерфейс

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


Приветствую! А можно ли реализовать автоматическое переключение обратно на основной канал, после появления на нем интернета?
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Thu Oct 16, 2014 5:37    Post subject: Re: DIR320+Wan(Ethrnet)+3G резервный канал с Reply with quote
crazyxxx
Если речь только о смене маршрута то все просто используя сервис "cron" для запуска скрипта 1 раз в 5мин.
Повторюсь про схему о которой шла речь.
Code:
Инет1----роутер1(LAN)----(LAN)роутер2----Инет2
                                                   |
Клиенты------------------------------+

роутер1 - 192.168.1.2 (ADSL модем в режиме роутера или просто роутер)
роутер2 - 192.168.1.1 (dd-wrt например на которое поднято pppoe интернет соединение)
Клиенты только на рутере2

Code:
#!/bin/sh
Count_ping=`ping -c2 -I ppp0 [IP_адрес_в_интернете] | awk '/packets received/ {print $4}'`
if [ "$Count_ping" = 0 ]; then
   route del default;
   ip ro add default via 192.168.1.2 dev br0;
   ip ro flush cache;
   exit;
fi
exit;


где
ppp0 это поднятый канал интернета на основном роутере, через любое ppp

Данный скрипт переключает канал с роутера2 на роутер1, когда на роутере2 не будет проходить "ping". Как только канал поднимется, то автоматом должно произойти смена маршрута по умолчанию defalt на роутера2 на Инет2. Смена в данном случае произойдет автоматом потому что в конф файлах для "ppp" соединений стоит переменная "defaultroute", т.е. нам нужно переключать только на резервный канал, а на основной будет автоматом переход.

Данный скрипт запускается на dd-wrt роутере.
crazyxxx
DD-WRT Novice


Joined: 10 Oct 2014
Posts: 4

PostPosted: Thu Oct 16, 2014 18:51    Post subject: Re: DIR320+Wan(Ethrnet)+3G резервный канал с Reply with quote
vasek00, привет! У меня схема другая, есть роутер c dd-wrt (к примеру 192.168.1.1), на нем запущен сервер dhcp, работает точка доступа wi-fi, соответственно все клиенты проводной и беспроводной сети получают настройки от него. И есть два шлюза с инетом в той же подсети 192.168.1.253 и 192.168.1.254 подключенные к LAN. Основной канал в инет через 192.168.1.253.
На текущий момент принцип работы такой: на роутере с dd-wrt (192.168.1.1) прописан шлюз 192.168.1.253. Когда инет падает на основном канале, вручную меняю шлюз на 192.168.1.254, потом когда появляется инет на основном, меняю обратно.
У меня очень мало опыта работы с linux, а хочется автоматизировать переключение на резервный канал и обратно для домашней сети Smile
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Fri Oct 17, 2014 8:27    Post subject: Re: DIR320+Wan(Ethrnet)+3G резервный канал с Reply with quote
тут не чего не меняеться, все так же
Code:
Инет1--шлюз1(LAN)--(LAN)dd-wrt(LAN)--(LAN)шлюз2--Инет2

шлюз1 - 192.168.1.253
Code:
ip ro add default via 192.168.1.253 dev br0

шлюз2 - 192.168.1.254
Code:
ip ro add default via 192.168.1.254 dev br0

т.е. в нужное время запускаете нужные команды на dd-wrt, нужное время определяется по "ping" на любой адрес в интернете, признак его не доступности говорит вам, что нужно сменить канал.
Code:
Count_ping=`ping -c2 [IP_адрес_в_интернете] | awk '/packets received/ {print $4}'`
if [ "$Count_ping" = 0 ]; then

при нормальном "ping" в данном случае на 2 пакета передачи должно быть 2 ответа приема (можно увеличить до 4 при необходимости), а если передача была, а ответ не получен то нужно заменить ip ro add default .... на другой.

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

#!/bin/sh
Count_ping=`ping -c2 [IP_адрес_в_интернете] | awk '/packets received/ {print $4}'`
IP_gateway=`ip ro | awk '/default via 192.168.1.253/ {print $3}'`
if [ "$Count_ping" = 0 ]; then
  if [ "$IP_gateway" = "192.168.1.253" ]; then
    route del default;
    ip ro add default via 192.168.1.254 dev br0;
    ip ro flush cache;
    exit;
  else
    route del default;
    ip ro add default via 192.168.1.253 dev br0;
    ip ro flush cache;
    exit;
  fi
else
exit;
fi

Как то так при первом приближении, так же в "cron" данный файл. Данный файл можно создать в http://192.168.1.1/Diagnostics.asp Command Shell-Commands и потом "Save Custom Script" будет создан файл "/tmp/custom.sh" на него как раз и нужно ссылаться в строчке для "cron".
Примечание только нужно проверить, что данный файл получился именно с такими строчками которые вы набрали, проверить можно через telnet имя root пароль как для WEB доступа, набрать команду: cat /tmp/custom.sh
crazyxxx
DD-WRT Novice


Joined: 10 Oct 2014
Posts: 4

PostPosted: Sat Oct 18, 2014 13:34    Post subject: Re: DIR320+Wan(Ethrnet)+3G резервный канал с Reply with quote
Спасибо за ответ!
Я так понимаю этот скрипт меняет шлюз, только при отсутствии пинга на внешний IP через текущий шлюз. Т.е. при отсутствии инета на 253, скрипт пропишет шлюз 254, а обратно на основной канал 192.168.1.253, только при условии отсутствия пинга на внешний IP через 192.168.1.254?

Инет на резервном 192.168.1.254 медленный и целесообразно было бы менять шлюз на 192.168.1.253 (основной канал), сразу как только на нем появится инет, даже если на резервном 192.168.1.254 инет работает.
vasek00
DD-WRT Guru


Joined: 06 Nov 2010
Posts: 3312

PostPosted: Sat Oct 18, 2014 16:00    Post subject: Re: DIR320+Wan(Ethrnet)+3G резервный канал с Reply with quote
crazyxxx wrote:
Спасибо за ответ!
Я так понимаю этот скрипт меняет шлюз, только при отсутствии пинга на внешний IP через текущий шлюз. Т.е. при отсутствии инета на 253, скрипт пропишет шлюз 254, а обратно на основной канал 192.168.1.253, только при условии отсутствия пинга на внешний IP через 192.168.1.254?

да

crazyxxx wrote:

Инет на резервном 192.168.1.254 медленный и целесообразно было бы менять шлюз на 192.168.1.253 (основной канал), сразу как только на нем появится инет, даже если на резервном 192.168.1.254 инет работает.

Так как данный скрипт запускается через "cron", то естественно и переключение на основной канал то же можно сделать, например нужно создать определенный стат маршрут на IP адрес интернета, т.е. берете адрес IP и его прописываете на 192.168.1.253, а в скрипте уже "ping" будет говорить, что если данный адрес доступен то на 253, если нет то на 254.

Code:
#!/bin/sh
Count_ping=`ping -c2 [IP_адрес_в_интернете] | awk '/packets received/ {print $4}'`
IP_gateway=`ip ro | awk '/default via 192.168.1.253/ {print $3}'`
if [ "$Count_ping" = 0 ]; then
    route del default;
    ip ro add default via 192.168.1.254 dev br0;
    ip ro flush cache;
    exit;
else
    if [ "$IP_gateway" = "192.168.1.253" ]; then
    exit;
    fi
fi   
route del default;
ip ro add default via 192.168.1.253 dev br0;
ip ro flush cache;
exit;

где IP_адрес_в_интернете жестко привязан к стат. маршруту через шлюз 192.168.1.253
crazyxxx
DD-WRT Novice


Joined: 10 Oct 2014
Posts: 4

PostPosted: Tue Nov 04, 2014 12:53    Post subject: Re: DIR320+Wan(Ethrnet)+3G резервный канал с Reply with quote
Наконец-то, дошли руки до реализации автопереключения на резервный канал.

Итак, прописал стат маршрут для пинга через основной шлюз 192.168.1.253.
далее, на основе скрипта vasek00 сделал и сохранил в "/tmp/custom.sh" такой скрипт:
Code:
#!/bin/sh
Count_ping=`ping -c2 8.8.4.4 | awk '/packets received/ {print $4}'`
IP_gateway=`ip ro | awk '/default via/ {print $3}'`
if [ "$Count_ping" = 0 ]; then
    if [ "$IP_gateway" = "192.168.1.253" ]; then
        route del default;
        ip ro add default via 192.168.1.254 dev br0;
        ip ro flush cache;
        exit;
    else
        exit;
    fi
else
    if [ "$IP_gateway" = "192.168.1.253" ]; then
        exit;
    else
        route del default;
        ip ro add default via 192.168.1.253 dev br0;
        ip ro flush cache;
        exit;
    fi
fi

далее, сделал запуск скрипта каждые 20сек добавив в cron такую строку:
Code:
*/1 * * * * root /tmp/custom.sh; /bin/sleep 20; /tmp/custom.sh; /bin/sleep 20; /tmp/custom.sh

Все четко отрабатывает, при отсутствии пинга на внешний ip через стат маршрут, происходит замена шлюза на резервный, а при появлении пинга, возвращается обратно на основной шлюз.
Единственное, на роутере Setup-Basic Setup в поле Network Setup-Local DNS был прописан 192.168.1.253, второй 192.168.1.254 туда не добавить.
Сделал так: нашел где прописан этот DNS /tmp/resolv.dnsmasq, а так как файл лежит в каталоге /tmp, то он пересоздается при перезагрузке роутера, соответственно в него нужно добавлять второй DNS когда роутер перезагрузится, для этого в Command Shell написал
Code:
echo nameserver 192.168.1.254 >> /tmp/resolv.dnsmasq
и сохранил SaveStartUp.

vasek00, благодарю за помощь! Smile
Goto page Previous  1, 2 Display posts from previous:    Page 2 of 2
Post new topic   Reply to topic    DD-WRT Forum Index -> Использование и установка DD-WRT All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum