Страница 1 из 1
Граматно настроить резервный канал интернет...
Добавлено: 2009-01-20 14:07:58
Garry04
Доброго всем дня!
Дано: сервер FreeBSD выполняющий функцию шлюза (IPFW + NATD)(сейчас работает с одним интернет подключением)
Задача: будет еще одно интернет подключение. Необходимо чтоб часть офиса работала через старое соединение, а часть через новое. В тоже время та часть которая работает через новое интернет соединение, в случае чего(проблемы с провайдером), могла безболезненно "переключиться" на старый канал и наоборот. Внутренняя сеть одна 192.168.0/24.
Как лучьше это сделать, поделитесь опытом.
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-20 14:13:10
paradox
В тоже время та часть которая работает через новое интернет соединение, в случае чего(проблемы с провайдером), могла безболезненно "переключиться" на старый канал и наоборот
а авторизации для юзеров никакой нет?
просто нат и все?
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-20 14:32:14
Garry04
Авторизация на базе контроллера домена Novell E-Directory.
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-20 15:37:11
schizoid
ipfw + table
в одну таблицу юзеров через один канал, во вторую - через второй
дальше 2 ната, соответственно для каждой из таблиц.
ну а затем скрипт, при потере одного из каналов, добавляешь юзеров из таблицы 1 в таблицу 2, ну и наоборот...
шось типа
http://forum.lissyara.su/viewtopic.php? ... 25#p102566
ну и скрипт -в "скриптах на коленке поищи"
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-20 16:13:27
Garry04
schizoid писал(а):ну и скрипт -в "скриптах на коленке поищи"
это где?
Спасибо! Понял где копать.
взял поллитра, буду разбираться.
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-20 18:51:02
Garry04
еще один вопрос, как строить таблицы пользователей, можно поподробней, или ссылочку где можно посмотреть!
буду очень признателен.
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-20 18:58:59
schizoid
Код: Выделить всё
ipfw table 1 add 192.168.0.253
ipfw table 3 add 192.168.0.0/24
ipfw table 1 list
...
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-27 15:32:42
Garry04
Не получается заставить работать второй гейт.
хочу заставить всех из 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 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. В чем дело? Что не так?
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-27 17:49:24
schizoid
вообще то для каждого правила можно поставить log...
ну и лучше покажи ipfw show
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-27 19:07:10
Garry04
Код: Выделить всё
/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
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-27 19:24:55
paradox
а зачем там стоко дивертов??
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-27 19:36:51
Garry04
за фаерволом находится сервер на котором подняты за ftp, http/https, smtp и т.д. + ssh туда напрямую бредет.
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-27 22:39:31
schizoid_
так это не так описывается.
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-28 11:04:16
Garry04
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
но тема не о пробросе портов, а как заставить работать второй гейт.
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-28 12:11:20
schizoid
включить логирование в фаерволе, во всех правилах. и посмотреть трассу, станет ясно как идет пакет и на каком правиле дропается.
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-28 19:30:23
RusBiT
Тоже долго бадался с 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}
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-30 16:00:55
Garry04
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 оказалось что пакеты все равно(как это у них выходит
) идут не через 91.193.165.45, а через шлюз поумолчанию.
RusBiT писал(а):Тоже долго бадался с ipfw и двумя каналами, пока один хороший человек с форума не помог.
Попробуй с моими правилами, где default route wan
Спасибо, но чот не помогло, может что-то не так делаю?
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-30 16:12:53
RusBiT
Скинь ipfw show
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-30 16:21:41
Garry04
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
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-30 16:35:28
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
Попробуй второй канал тоже через fwd настроить
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-01-30 16:53:56
Garry04
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.
Re: Граматно настроить резервный канал интернет...
Добавлено: 2009-02-03 13:43:43
Garry04
2 RusBiT
Можете написать, что у Вас в ядре по поводу ipfw и natd собрано. Заранее спасибо!