URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 71081
[ Назад ]

Исходное сообщение
"Как организовать PBR на FreeBSD?"

Отправлено DiMUS , 20-Дек-06 11:26 
Eсть 2 прова:
IPS1: 89.xxx.xxx.1
ISP2: 87.xxx.xxx.1

На шлюзе:
rl0 - 89.xxx.xxx.2
rl1 - 87.xxx.xxx.2
vr0 - 192.168.34.1
vr1 - 192.168.33.1

Запущен НАТ:
725  ??  Ss     9:05,03 /sbin/natd -p 8668 -f /usr/local/etc/natd.rl0
727  ??  Is     0:00,39 /sbin/natd -p 8669 -f /usr/local/etc/natd.rl1

Маршрут по умолчанию через ISP1

Клиенты подключаются по vpn(mpd):
ng2: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1394
        inet 10.0.1.1 --> 10.0.1.2 netmask 0xffffffff

Пробовал так:
ipfw add 65042 divert 8669 ip from 10.0.1.2 to any via rl1
ipfw add 65043 fwd 87.xxx.xxx.1 ip from 87.xxx.xxx.2 to any
ipfw add 65044 divert 8669 ip from any to 87.xxx.xxx.2 via rl1
Не работает.
Как заставить 10.0.1.2 ходить через ISP2?


Содержание

Сообщения в этом обсуждении
"Как организовать PBR на FreeBSD?"
Отправлено binladin , 20-Дек-06 13:19 
>Пробовал так:
>ipfw add 65042 divert 8669 ip from 10.0.1.2 to any via rl1
>ipfw add 65043 fwd 87.xxx.xxx.1 ip from 87.xxx.xxx.2 to any
>ipfw add 65044 divert 8669 ip from any to 87.xxx.xxx.2 via rl1
>Не работает.
>Как заставить 10.0.1.2 ходить через ISP2?

А подскажите ка мне, как трафик 10.0.1.2 попадет на rl1, если дефолтовый маршрут направляет пакеты на первого провайдера ?
Попробуйте без via rl1:
ipfw add 65042 divert 8669 ip from 10.0.1.0/24 to any
ipfw add 65043 fwd 87.xxx.xxx.1 ip from 87.xxx.xxx.2 to any
ipfw add 65044 divert 8669 ip from any to 87.xxx.xxx.2



"Как организовать PBR на FreeBSD?"
Отправлено DiMUS , 20-Дек-06 13:40 
>А подскажите ка мне, как трафик 10.0.1.2 попадет на rl1, если дефолтовый
>маршрут направляет пакеты на первого провайдера ?
>Попробуйте без via rl1:
>ipfw add 65042 divert 8669 ip from 10.0.1.0/24 to any
>ipfw add 65043 fwd 87.xxx.xxx.1 ip from 87.xxx.xxx.2 to any
>ipfw add 65044 divert 8669 ip from any to 87.xxx.xxx.2

Бесполезно, не работает


"Как организовать PBR на FreeBSD?"
Отправлено binladin , 20-Дек-06 14:11 
>>А подскажите ка мне, как трафик 10.0.1.2 попадет на rl1, если дефолтовый
>>маршрут направляет пакеты на первого провайдера ?
>>Попробуйте без via rl1:
>>ipfw add 65042 divert 8669 ip from 10.0.1.0/24 to any
>>ipfw add 65043 fwd 87.xxx.xxx.1 ip from 87.xxx.xxx.2 to any
>>ipfw add 65044 divert 8669 ip from any to 87.xxx.xxx.2
>
>Бесполезно, не работает
а при поднятии клиента mpd - маршруты какие прописываются ?
кусок ipfw побольше покажите
tcpdump что говорит ?


"Как организовать PBR на FreeBSD?"
Отправлено DiMUS , 21-Дек-06 05:54 
>>Бесполезно, не работает
>а при поднятии клиента mpd - маршруты какие прописываются ?
>кусок ipfw побольше покажите
>tcpdump что говорит ?

su-2.05b# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            89.xxx.xxx.1       UGS         0   534331    rl0
10.0.1.1           lo0                UHS         0        0    lo0
10.0.1.2           10.0.1.1           UH          0     1231   ng14
10.0.1.3           10.0.1.1           UH          0      960    ng5
10.0.1.4           10.0.1.1           UH          0     1214    ng7
10.0.1.6           10.0.1.1           UH          0    23803    ng3
10.0.1.7           10.0.1.1           UH          0     6858   ng11
10.0.2.3           10.0.1.1           UH          0      442    ng8
10.0.2.6           10.0.1.1           UH          0    21170    ng2
10.0.2.9           10.0.1.1           UH          0     1406   ng12
10.0.2.10          10.0.1.1           UH          0     1169   ng10
10.0.2.12          10.0.1.1           UH          0      666   ng13
10.0.2.13          10.0.1.1           UH          0     1721    ng6
10.0.2.16          10.0.1.1           UH          0      923    ng9
87.xxx.xxx.1/30    link#3             UC          0        0    rl1
87.xxx.xxx.1       link#3             UHLW        1        4    rl1
89.xxx.xxx.1/25    link#2             UC          0        0    rl0
89.xxx.xxx.1       00:30:4f:2c:c6:b4  UHLW        2     2157    rl0   1197
89.xxx.xxx.3       10.0.1.1           UH          0   453322    ng1
89.xxx.xxx.4       10.0.1.1           UH          0   104456    ng0
127.0.0.1          127.0.0.1          UH          0   158199    lo0
192.168.1/30       link#1             UC          0        0    vr0
192.168.1.3        ff:ff:ff:ff:ff:ff  UHLWb       1        5    vr0
192.168.2/30       link#1             UC          0        0    vr0
192.168.2.3        ff:ff:ff:ff:ff:ff  UHLWb       1        5    vr0
192.168.33         link#4             UC          0        0    vr1
192.168.33.21      00:c0:26:28:94:76  UHLW        1   101213    vr1    999
192.168.33.40      00:13:46:53:1e:aa  UHLW        1   116600    vr1    946
192.168.33.55      00:01:6c:f3:db:f9  UHLW        1    13813    vr1   1188
192.168.33.61      00:02:44:6f:ab:81  UHLW        1        4    vr1    204
192.168.33.65      00:13:46:99:bf:02  UHLW        1     1106    vr1   1091
192.168.33.68      00:14:85:31:1a:b6  UHLW        1     2322    vr1    602
192.168.33.69      00:50:22:b5:a6:06  UHLW        1     2073    vr1   1113
192.168.33.72      00:17:31:30:e2:ba  UHLW        1     1144    vr1    693
192.168.33.73      00:e0:4c:af:5d:84  UHLW        1     6941    vr1    902
192.168.33.74      00:50:04:54:d2:ac  UHLW        1   121964    vr1   1017
192.168.33.137     00:80:48:38:18:24  UHLW        1   451927    vr1    863
192.168.34         link#1             UC          0        0    vr0
192.168.34.3       00:50:22:39:16:12  UHLW        1     7605    vr0   1028
192.168.34.7       00:04:61:56:ed:fa  UHLW        1        0    vr0    574
192.168.34.8       00:50:22:d3:86:fd  UHLW        1       12    vr0   1099
192.168.34.10      00:e0:18:8f:f8:5b  UHLW        1    37116    vr0   1042
192.168.34.13      00:0a:e6:38:53:e4  UHLW        1    14261    vr0    595
192.168.34.134     00:04:61:56:ff:bf  UHLW        1     2346    vr0    898
192.168.34.250     00:50:22:e1:c6:50  UHLW        1   234931    vr0   1021
---------------------------------------------------------------------------
ipfw add 01023 skipto 51000 ip from any to 10.0.1.2
ipfw add 01023 skipto 51000 ip from 10.0.1.2 to any

ipfw add 51000 divert 8669 ip from 10.0.1.0/24 to any
ipfw add 51001 fwd 87.xxx.xxx.1 ip from 87.xxx.xxx.2 to any
ipfw add 51002 divert 8669 ip from any to 87.xxx.xxx.2

ipfw add 65535 allow ip from any to any
----------------------------------------------------------------------------
su-2.05b# tcpdump -ni ng14
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ng14, link-type NULL (BSD loopback), capture size 96 bytes
09:45:43.145231 IP 10.0.1.2 > 213.180.204.8: ICMP echo request, id 768, seq 2304, length 40
09:45:44.627733 IP 10.0.1.2.2903 > 87.xxx.xxx.2.161:  C=superpublic GetRequest(27)  .1.3.6.1.2.1.1.3.0
09:45:45.129555 IP 10.0.1.2.2904 > 89.xxx.xxx.2.161:  C=superpublic GetRequest(27)  .1.3.6.1.2.1.1.3.0
09:45:48.151156 IP 10.0.1.2 > 213.180.204.8: ICMP echo request, id 768, seq 2560, length 40
09:45:48.152866 IP 10.0.1.2.137 > 192.168.1.1.137: NBT UDP PACKET(137): REFRESH(8); REQUEST; UNICAST
09:45:49.640520 IP 10.0.1.2.2905 > 87.xxx.xxx.2.161:  C=superpublic GetRequest(29)  .1.3.6.1.2.1.2.2.1.10.3
09:45:49.653346 IP 10.0.1.2.137 > 192.168.1.1.137: NBT UDP PACKET(137): REFRESH(8); REQUEST; UNICAST
09:45:50.147204 IP 10.0.1.2.2906 > 89.xxx.xxx.2.161:  C=superpublic GetRequest(29)  .1.3.6.1.2.1.2.2.1.10.2
09:45:51.154180 IP 10.0.1.2.137 > 192.168.1.1.137: NBT UDP PACKET(137): REFRESH(8); REQUEST; UNICAST
09:45:53.156752 IP 10.0.1.2 > 213.180.204.8: ICMP echo request, id 768, seq 2816, length 40
09:45:55.643736 IP 10.0.1.2.2907 > 87.xxx.xxx.2.161:  C=superpublic GetRequest(27)  .1.3.6.1.2.1.1.3.0

11 packets captured
12 packets received by filter
0 packets dropped by kernel
-----------------------------------------------------------------------------------------
su-2.05b# tcpdump -ni rl1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on rl1, link-type EN10MB (Ethernet), capture size 96 bytes
09:47:20.873209
09:47:30.881727
09:47:36.005047 arp who-has 87.xxx.xxx.1 tell 87.xxx.xxx.2
09:47:39.277691 arp who-has 87.xxx.xxx.1 tell 87.xxx.xxx.2
09:47:40.880425

5 packets captured
5 packets received by filter
0 packets dropped by kernel


"Как организовать PBR на FreeBSD?"
Отправлено binladin , 21-Дек-06 09:14 
Да, кстати, а Фря какая ?
IPFIREWALL_FORWARD_EXTENDED включен ?

ipfw add 01023 skipto 51000 ip from any to 10.0.1.2
ipfw add 01023 skipto 51000 ip from 10.0.1.2 to any
одинаковые номера правил - это описка ? или  так и есть ?


"Как организовать PBR на FreeBSD?"
Отправлено DiMUS , 21-Дек-06 10:34 
>Да, кстати, а Фря какая ?
>IPFIREWALL_FORWARD_EXTENDED включен ?
>
>ipfw add 01023 skipto 51000 ip from any to 10.0.1.2
>ipfw add 01023 skipto 51000 ip from 10.0.1.2 to any
>одинаковые номера правил - это описка ? или  так и есть
>?

FreeBSD 6.0, IPFIREWALL_FORWARD_EXTENDED включен
номера правил одинаковые



"Как организовать PBR на FreeBSD?"
Отправлено binladin , 21-Дек-06 11:16 
>FreeBSD 6.0, IPFIREWALL_FORWARD_EXTENDED включен
>номера правил одинаковые
а теперь посмотри ipfw list - у тебя в рабочих списках будет только одно из двух правил !



"Как организовать PBR на FreeBSD?"
Отправлено DiMUS , 21-Дек-06 13:17 
>>FreeBSD 6.0, IPFIREWALL_FORWARD_EXTENDED включен
>>номера правил одинаковые
>а теперь посмотри ipfw list - у тебя в рабочих списках будет
>только одно из двух правил !

Вы ошибаетесь, правила будет два

su-2.05b# ipfw list
01023 skipto 51000 ip from any to 10.0.1.2
01023 skipto 51000 ip from 10.0.1.2 to any



"Как организовать PBR на FreeBSD?"
Отправлено pijon , 21-Дек-06 13:18 
>>FreeBSD 6.0, IPFIREWALL_FORWARD_EXTENDED включен
>>номера правил одинаковые
>а теперь посмотри ipfw list - у тебя в рабочих списках будет
>только одно из двух правил !

Сказки не надо рассказывать.


"Как организовать PBR на FreeBSD?"
Отправлено DiMUS , 21-Дек-06 13:40 
>>>FreeBSD 6.0, IPFIREWALL_FORWARD_EXTENDED включен
>>>номера правил одинаковые
>>а теперь посмотри ipfw list - у тебя в рабочих списках будет
>>только одно из двух правил !
>
>Сказки не надо рассказывать.

Так, ладно правила эти вставляет UTM4
Правило для включения:
/sbin/ipfw add RULE_ID skipto 51000 ip from any to UIP
/sbin/ipfw add RULE_ID skipto 51000 ip from UIP to any

Правило для выключения:
/sbin/ipfw delete RULE_ID

RULE_ID соответственно привязано к ID юзера, в данном случае ID=23

Посему будет 2 правила с одинаковым номером