Граматно настроить резервный канал интернет...

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Garry04
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-11-05 15:18:48

Граматно настроить резервный канал интернет...

Непрочитанное сообщение Garry04 » 2009-01-20 14:07:58

Доброго всем дня!
Дано: сервер FreeBSD выполняющий функцию шлюза (IPFW + NATD)(сейчас работает с одним интернет подключением)
Задача: будет еще одно интернет подключение. Необходимо чтоб часть офиса работала через старое соединение, а часть через новое. В тоже время та часть которая работает через новое интернет соединение, в случае чего(проблемы с провайдером), могла безболезненно "переключиться" на старый канал и наоборот. Внутренняя сеть одна 192.168.0/24.
Как лучьше это сделать, поделитесь опытом.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение paradox » 2009-01-20 14:13:10

В тоже время та часть которая работает через новое интернет соединение, в случае чего(проблемы с провайдером), могла безболезненно "переключиться" на старый канал и наоборот
а авторизации для юзеров никакой нет?
просто нат и все?

Аватара пользователя
Garry04
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-11-05 15:18:48

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение Garry04 » 2009-01-20 14:32:14

Авторизация на базе контроллера домена Novell E-Directory.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение schizoid » 2009-01-20 15:37:11

ipfw + table
в одну таблицу юзеров через один канал, во вторую - через второй
дальше 2 ната, соответственно для каждой из таблиц.
ну а затем скрипт, при потере одного из каналов, добавляешь юзеров из таблицы 1 в таблицу 2, ну и наоборот...
шось типа http://forum.lissyara.su/viewtopic.php? ... 25#p102566
ну и скрипт -в "скриптах на коленке поищи"
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
Garry04
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-11-05 15:18:48

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение Garry04 » 2009-01-20 16:13:27

schizoid писал(а):ну и скрипт -в "скриптах на коленке поищи"
это где?

Спасибо! Понял где копать.
взял поллитра, буду разбираться.

Аватара пользователя
Garry04
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-11-05 15:18:48

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение Garry04 » 2009-01-20 18:51:02

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

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение schizoid » 2009-01-20 18:58:59

Код: Выделить всё

ipfw table 1 add 192.168.0.253
ipfw table 3 add 192.168.0.0/24
ipfw table 1 list
...
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
Garry04
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-11-05 15:18:48

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение Garry04 » 2009-01-27 15:32:42

Не получается заставить работать второй гейт.
хочу заставить всех из table 1 ходить через 91.193.165.45-й гейт, остальных по умолчанию через 194.187.110.233.

Код: Выделить всё

netstat -rn
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            194.187.110.233    UGS         0  6725134    rl1
91.193.165/30      91.193.165.45      UGS         0        0    rl2
....

Код: Выделить всё

/home/garry/>ifconfig
rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet6 fe80::2e0:4cff:fe14:2711%rl0 prefixlen 64 scopeid 0x1
        inet 192.168.0.31 netmask 0xffffff00 broadcast 192.168.0.255
        ether 00:e0:4c:14:27:11
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet6 fe80::2e0:4cff:fe35:d123%rl1 prefixlen 64 scopeid 0x2
        inet 194.187.110.234 netmask 0xfffffffc broadcast 194.187.110.235
        ether 00:e0:4c:35:d1:23
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet6 fe80::2e0:4cff:fee9:eb11%rl2 prefixlen 64 scopeid 0x3
        inet 91.193.165.46 netmask 0xfffffffc broadcast 91.193.165.47
        ether 00:e0:4c:e9:eb:11
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active

Код: Выделить всё

>ps -ax | grep natd
 4691  ??  Is     0:00.25 /sbin/natd -p 8669 -n rl2 -P /var/run/natd2.pid
94340  ??  Ss    12:17.61 /sbin/natd -p 8668 -f /etc/natd.conf -n rl1 -P /var/run/natd.pid

Код: Выделить всё

ipfw table 1 list
192.168.0.19/32 0

Код: Выделить всё

ipfw list
00007 divert 8668 tcp from any to me dst-port 22 in via rl0
00008 divert 8668 tcp from any to me dst-port 21 in via rl0
00009 divert 8668 tcp from any to me dst-port 20 in via rl0
00010 divert 8668 tcp from any to me dst-port 25 in via rl0
00020 divert 8668 tcp from any to me dst-port 81,443,88,444,1677 in via rl0
00021 divert 8668 tcp from any to me dst-port 80,887,445 in via rl0
00022 divert 8668 tcp from any to me dst-port 3306 in via rl0
00023 divert 8668 tcp from any to me dst-port 40000-41000 in via rl0
00045 deny tcp from not 192.168.0.3 to any dst-port 25 in via rl0
00048 divert 8669 ip from table(1) to any via rl2
00050 divert 8668 ip from any to any via rl1
00100 allow ip from any to any via lo0
00101 allow log tcp from any to any dst-port 20,21 in via rl1 setup
00102 allow log tcp from any to 192.168.0.193 dst-port 20,21 in via rl1 setup
00103 allow log tcp from any to 192.168.0.193 dst-port 20,21 out via rl0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
65000 allow ip from any to any
65535 deny ip from any to any
traceroute с 19-й машины идет через 194.187.110.233 гейт, хотя в правлах(00048) четко написано ходить через 91.193.165.45. В чем дело? Что не так? :st:

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение schizoid » 2009-01-27 17:49:24

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

Аватара пользователя
Garry04
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-11-05 15:18:48

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение Garry04 » 2009-01-27 19:07:10

Код: Выделить всё

/home/garry/>ipfw show
00007   14064    1044464 divert 8668 tcp from any to me dst-port 22 in via rl0
00007       0          0 divert 8668 tcp from any to me dst-port 22 in via rl0
00008       0          0 divert 8668 tcp from any to me dst-port 21 in via rl0
00009      42       2688 divert 8668 tcp from any to me dst-port 20 in via rl0
00010       0          0 divert 8668 tcp from any to me dst-port 25 in via rl0
00020      11        440 divert 8668 tcp from any to me dst-port 81,443,88,444,1677 in via rl0
00021     255      11391 divert 8668 tcp from any to me dst-port 80,887,445 in via rl0
00022       0          0 divert 8668 tcp from any to me dst-port 3306 in via rl0
00023       0          0 divert 8668 tcp from any to me dst-port 40000-41000 in via rl0
00045   15908     954480 deny tcp from not 192.168.0.3 to any dst-port 25 in via rl0
00050       0          0 divert 8669 ip from table(1) to any via rl2
00051 2476888  927040038 divert 8668 ip from any to any via rl1
00100    1630     259656 allow ip from any to any via lo0
00101       7        328 allow log tcp from any to any dst-port 20,21 in via rl1 setup
00102       0          0 allow log tcp from any to 192.168.0.193 dst-port 20,21 in via rl1 setup
00103      32       1344 allow log tcp from any to 192.168.0.193 dst-port 20,21 out via rl0
00200       0          0 deny ip from any to 127.0.0.0/8
00300       0          0 deny ip from 127.0.0.0/8 to any
65000 3267913 1236163827 allow ip from any to any
65535   13736    1153264 deny ip from any to any

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение paradox » 2009-01-27 19:24:55

а зачем там стоко дивертов??

Аватара пользователя
Garry04
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-11-05 15:18:48

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение Garry04 » 2009-01-27 19:36:51

за фаерволом находится сервер на котором подняты за ftp, http/https, smtp и т.д. + ssh туда напрямую бредет.


Аватара пользователя
Garry04
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-11-05 15:18:48

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение Garry04 » 2009-01-28 11:04:16

schizoid_ писал(а):так это не так описывается.
у меня так + в natd.conf следующее

Код: Выделить всё

interface rl1
redirect_port tcp 192.168.0.3:25 25
redirect_port tcp 192.168.0.193:81 81
redirect_port tcp 192.168.0.193:443 443
redirect_port tcp 192.168.0.5:88 88
redirect_port tcp 192.168.0.5:444 444
redirect_port tcp 192.168.0.3:1677 1677
redirect_port tcp 192.168.0.193:80 80
redirect_port tcp 192.168.0.193:445 445
redirect_port tcp 192.168.0.193:887 887
redirect_port tcp 192.168.0.2:3306 3306
redirect_port tcp 192.168.0.193:20-21 20-21
redirect_port tcp 192.168.0.193:40000-41000 40000-41000
redirect_port tcp 192.168.0.193:22 22
но тема не о пробросе портов, а как заставить работать второй гейт.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение schizoid » 2009-01-28 12:11:20

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

Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение RusBiT » 2009-01-28 19:30:23

Тоже долго бадался с ipfw и двумя каналами, пока один хороший человек с форума не помог.
Попробуй с моими правилами, где default route wan

Код: Выделить всё

#adsl
#ловим пакеты на wan интерфейсе
${fwcmd} add 5101 divert 8669 ip from ${adsl_nat} to any out xmit ${wan_if}
#перепраляем на adsl
${fwcmd} add 5201 fwd ${adsl_gw} ip from ${adsl_ip} to any out xmit ${wan_if}
${fwcmd} add 5301 divert 8669 ip from any to ${adsl_ip} in via ${adsl_if}
#wan
${fwcmd} add 5401 divert 8668 ip from ${wan_nat} to any out via ${wan_if}
${fwcmd} add 5501 fwd ${wan_gw} ip from ${wan_ip} to any via ${wan_if}
${fwcmd} add 5601 divert 8668 ip from any to ${wan_ip} in via ${wan_if}
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

Аватара пользователя
Garry04
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-11-05 15:18:48

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение Garry04 » 2009-01-30 16:00:55

schizoid писал(а):включить логирование в фаерволе, во всех правилах. и посмотреть трассу, станет ясно как идет пакет и на каком правиле дропается.
Включил логирование подставил перед каждым правилом, дабы посмотреть как формируется и куда направляются пакеты и что с ним происходит. Решил поэкспериментировать с ping-ом. Вот что получилось.

Код: Выделить всё

Accept ICMP 192.168.0.19 213.180.204.8 in via rl0
Accept ICMP 192.168.0.19 213.180.204.8 out via rl1

divert 8669 icmp from 192.168.0.19 to any out xmit rl1

Accept ICMP 192.168.0.19 213.180.204.8 in via rl0
Accept ICMP 91.193.165.46 213.18.204.8 in via rl1
Accept ICMP 213.180.204.8 91.193.165.46 in via rl2

fwd 91.193.165.45 icmp from 91.193.165.46 to any out xmit rl1

Accept ICMP 192.168.0.19 213.180.204.8 in via rl0
Accept ICMP 213.18.204.8 91.193.165.46 in via rl2

divert 8669 icmp from any to 91.193.165.46 in via rl2

Accept ICMP 192.168.0.19 213.180.204.8 in via rl0
Accept ICMP 213.180.204.8 192.168.0.19 out via rl2
Вроде бы все нормально. Вроде пакет отходит с нужного интерфейса и нужного ip. Как только заменил icmp на ip и проверил командой tracert оказалось что пакеты все равно(как это у них выходит :unknown: ) идут не через 91.193.165.45, а через шлюз поумолчанию.
RusBiT писал(а):Тоже долго бадался с ipfw и двумя каналами, пока один хороший человек с форума не помог.
Попробуй с моими правилами, где default route wan
Спасибо, но чот не помогло, может что-то не так делаю?

Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение RusBiT » 2009-01-30 16:12:53

Скинь ipfw show
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

Аватара пользователя
Garry04
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-11-05 15:18:48

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение Garry04 » 2009-01-30 16:21:41

RusBiT писал(а):Скинь ipfw show

Код: Выделить всё

/var/log/>ipfw show
00007   14585   1079440 divert 8668 tcp from any to me dst-port 22 in via rl0
00008       0         0 divert 8668 tcp from any to me dst-port 21 in via rl0
00009       0         0 divert 8668 tcp from any to me dst-port 20 in via rl0
00010       0         0 divert 8668 tcp from any to me dst-port 25 in via rl0
00020       0         0 divert 8668 tcp from any to me dst-port 81,443,88,444,1677 in via rl0
00021       6       607 divert 8668 tcp from any to me dst-port 80,887,445 in via rl0
00022       0         0 divert 8668 tcp from any to me dst-port 3306 in via rl0
00023       0         0 divert 8668 tcp from any to me dst-port 40000-41000 in via rl0
00024    1004     60240 deny tcp from not 192.168.0.3 to any dst-port 25 in via rl0
00041     873    236386 divert 8669 ip from 192.168.0.19 to any out xmit rl1
00043    1549    272776 fwd 91.193.165.45 ip from 91.193.165.46 to any out xmit rl1
00045     265    274941 divert 8669 ip from any to 91.193.165.46 in via rl2
00050  609826 262620856 divert 8668 ip4 from any to any via rl1
00100    4082    398988 allow ip from any to any via lo0
00101       0         0 allow log logamount 10 tcp from any to any dst-port 20,21 in via rl1 setup
00102       0         0 allow log logamount 10 tcp from any to 192.168.0.193 dst-port 20,21 in via rl1 setup
00103       0         0 allow log logamount 10 tcp from any to 192.168.0.193 dst-port 20,21 out via rl0
00200       0         0 deny ip from any to 127.0.0.0/8
00300       0         0 deny ip from 127.0.0.0/8 to any
65000 1266121 530926229 allow ip from any to any
65535       2       128 deny ip from any to any

Аватара пользователя
RusBiT
лейтенант
Сообщения: 635
Зарегистрирован: 2007-08-03 11:43:53
Откуда: Красноярск
Контактная информация:

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение RusBiT » 2009-01-30 16:35:28

у тебя

Код: Выделить всё

00045     265    274941 divert 8669 ip from any to 91.193.165.46 in via rl2
а надо

Код: Выделить всё

00045     265    274941 divert 8669 ip from any to 192.168.0.19 in via rl2
Попробуй второй канал тоже через fwd настроить
Чем больше я познаю FreeBSD, тем больше я считаю себя ламером :)

Аватара пользователя
Garry04
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-11-05 15:18:48

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение Garry04 » 2009-01-30 16:53:56

RusBiT писал(а):у тебя

Код: Выделить всё

00045     265    274941 divert 8669 ip from any to 91.193.165.46 in via rl2
а надо

Код: Выделить всё

00045     265    274941 divert 8669 ip from any to 192.168.0.19 in via rl2
так не работает, перед этим правилом в логах формируется пакет вида

Код: Выделить всё

Accept ICMP 213.18.204.8 91.193.165.46 in via rl2
т. е. перенаправлять можем только с 91.193.165.46.

Аватара пользователя
Garry04
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-11-05 15:18:48

Re: Граматно настроить резервный канал интернет...

Непрочитанное сообщение Garry04 » 2009-02-03 13:43:43

2 RusBiT

Можете написать, что у Вас в ядре по поводу ipfw и natd собрано. Заранее спасибо!