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

Исходное сообщение
"pf gif ipsec. Или лыжи не едут или я ничего не понимаю"

Отправлено Kvantos , 22-Мрт-07 15:49 
Есть gif тунель зашифрованный ipsec

ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet x.x.x.x netmask 0xffffffe0 broadcast x.x.x.x
        inet 192.168.4.111 netmask 0xffffff00 broadcast 192.168.4.255
        ether 00:30:4f:3b:7a:2e
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=9<RXCSUM,VLAN_MTU>
        inet 192.168.80.1 netmask 0xffffff00 broadcast 192.168.80.255
        ether 00:50:da:35:f3:3e
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        ether 00:c1:26:05:4c:25
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
pfsync0: flags=41<UP,RUNNING> mtu 1124
        pfsync: syncdev: gif0 maxupd: 128
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
        tunnel inet 192.168.80.1 --> 192.168.80.200
        inet 10.240.80.1 --> 10.240.80.200 netmask 0xffffffff
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 91.124.214.209 --> 195.5.5.19 netmask 0xffffffff
        Opened by PID 241
tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 10.240.80.1 --> 10.240.80.116 netmask 0xffffffff
        Opened by PID 3369
tun2: flags=8010<POINTOPOINT,MULTICAST> mtu 1500

/etc/pf.conf
---cut
pass out log on gif0 from 10.240.81.142 to any
pass in log on gif0 from any to 10.240.81.142
---cut

tcpdump -i gif0 host 10.240.81.142
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on gif0, link-type NULL (BSD loopback), capture size 96 bytes
14:38:19.840047 IP 10.240.81.142 > py-in-f99.google.com: ICMP echo request, id 512, seq 18693, length 40
14:38:20.007810 IP py-in-f99.google.com > 10.240.81.142: ICMP echo reply, id 512, seq 18693, length 40
14:38:26.318409 IP 10.240.81.142 > py-in-f99.google.com: ICMP echo request, id 512, seq 19205, length 40
14:38:26.486713 IP py-in-f99.google.com > 10.240.81.142: ICMP echo reply, id 512, seq 19205, length 40
14:38:32.817018 IP 10.240.81.142 > py-in-f99.google.com: ICMP echo request, id 512, seq 19717, length 40
14:38:32.984368 IP py-in-f99.google.com > 10.240.81.142: ICMP echo reply, id 512, seq 19717, length 40
14:38:39.317491 IP 10.240.81.142 > py-in-f99.google.com: ICMP echo request, id 512, seq 20229, length 40


tcpdump -i pflog0
tcpdump: WARNING: pflog0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pflog0, link-type PFLOG (OpenBSD pflog file), capture size 96 bytes

ПУСТО !!!!

Что я не так делаю?


Содержание

Сообщения в этом обсуждении
"pf gif ipsec. Или лыжи не едут или я ничего не понимаю"
Отправлено idle , 26-Мрт-07 11:47 
>---cut
>pass out log on gif0 from 10.240.81.142 to any
>pass in log on gif0 from any to 10.240.81.142
>---cut
Возможно пакеты не попадают в эти правила.
Попробуйте добавить опцию quick, или показывайте правила целиком.

"pf gif ipsec. Или лыжи не едут или я ничего не понимаю"
Отправлено Kvantos , 27-Мрт-07 02:12 
>>---cut
>>pass out log on gif0 from 10.240.81.142 to any
>>pass in log on gif0 from any to 10.240.81.142
>>---cut
>Возможно пакеты не попадают в эти правила.
>Попробуйте добавить опцию quick, или показывайте правила целиком.

Это ПОЛНЫЙ pf.conf для zeus

set block-policy drop
set skip on {lo0 rl0 xl0 rl1 pfsync0}
# Отлавливается
pass out log on gif0 from any to any
# Не отлавливается
pass in log on gif0 from any to any


Имеем

zeus# tcpdump -i pflog0 host 10.240.81.47
tcpdump: WARNING: pflog0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pflog0, link-type PFLOG (OpenBSD pflog file), capture size 96 bytes
01:03:42.072060 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 41992, length 40
01:03:43.091039 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 42248, length 40
01:03:44.116168 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 42504, length 40
01:03:45.123596 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 42760, length 40
01:03:46.138983 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 43016, length 40
01:03:47.151451 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 43272, length 40
01:03:48.166094 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 43528, length 40

zeus# tcpdump -i gif0 host 10.240.81.47
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on gif0, link-type NULL (BSD loopback), capture size 96 bytes
01:04:47.972196 IP 10.240.81.47 > ya.ru: ICMP echo request, id 512, seq 58632, length 40
01:04:48.098186 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 58632, length 40
01:04:48.998565 IP 10.240.81.47 > ya.ru: ICMP echo request, id 512, seq 58888, length 40
01:04:49.126072 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 58888, length 40
01:04:49.993366 IP 10.240.81.47 > ya.ru: ICMP echo request, id 512, seq 59144, length 40
01:04:50.118500 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 59144, length 40
01:04:51.009889 IP 10.240.81.47 > ya.ru: ICMP echo request, id 512, seq 59400, length 40
01:04:51.136739 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 59400, length 40

это на противоположном конце тунеля
astra#  tcpdump -i gif0 host 10.240.81.47
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on gif0, link-type NULL (BSD loopback), capture size 96 bytes
19:02:54.323254 IP 10.240.81.47 > ya.ru: ICMP echo request, id 512, seq 23048, length 40
19:02:54.453409 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 23048, length 40
19:02:55.341032 IP 10.240.81.47 > ya.ru: ICMP echo request, id 512, seq 23304, length 40
19:02:55.469907 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 23304, length 40
19:02:56.352879 IP 10.240.81.47 > ya.ru: ICMP echo request, id 512, seq 23560, length 40
19:02:56.482053 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 23560, length 40
19:02:57.370297 IP 10.240.81.47 > ya.ru: ICMP echo request, id 512, seq 23816, length 40
19:02:57.499830 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 23816, length 40
19:02:58.384618 IP 10.240.81.47 > ya.ru: ICMP echo request, id 512, seq 24072, length 40
19:02:58.516015 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 24072, length 40

P.S. 10.240.81.47 идет через шлюз astra по тунелю на zeus


Ребята помогайте сил уже нету !!! :(


"pf gif ipsec. Или лыжи не едут или я ничего не понимаю"
Отправлено Shaman , 12-Сен-07 18:35 
>[оверквотинг удален]
>19:02:56.482053 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 23560, length 40
>19:02:57.370297 IP 10.240.81.47 > ya.ru: ICMP echo request, id 512, seq 23816, length 40
>19:02:57.499830 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 23816, length 40
>19:02:58.384618 IP 10.240.81.47 > ya.ru: ICMP echo request, id 512, seq 24072, length 40
>19:02:58.516015 IP ya.ru > 10.240.81.47: ICMP echo reply, id 512, seq 24072, length 40
>
>P.S. 10.240.81.47 идет через шлюз astra по тунелю на zeus
>
>
>Ребята помогайте сил уже нету !!! :(

Столкнулся с тем-же...  :-(
Обнаружил что если отключить шифрование, т.е. оставить чистый туннель
пакеты на гифе отлавливаются



"pf gif ipsec. Или лыжи не едут или я ничего не понимаю"
Отправлено Shaman , 12-Сен-07 18:38 
>Столкнулся с тем-же...  :-(
>Обнаружил что если отключить шифрование, т.е. оставить чистый туннель
>пакеты на гифе отлавливаются

Кстати, как шифруешь? (транспорт или тунель?)
покажи правила IPSEC-а...


"pf gif ipsec. Или лыжи не едут или я ничего не понимаю"
Отправлено Shaman , 13-Сен-07 19:40 
>>Столкнулся с тем-же...  :-(
>>Обнаружил что если отключить шифрование, т.е. оставить чистый туннель
>>пакеты на гифе отлавливаются
>
>Кстати, как шифруешь? (транспорт или тунель?)
>покажи правила IPSEC-а...

УРРРА! Победил!!!!  :-)))

pf нормально перехватывает пакеты, если ipsec настроен в режиме транспорта
между адресами gif интерфейсов:

--------------------------------------------------------------------------------
хост-1

cat /etc/ipsec.conf
flush;
spdflush;

spdadd 10.107.7.138/32 10.107.7.137/32 any -P out ipsec esp/transport//require;
spdadd 10.107.7.137/32 10.107.7.138/32 any -P in  ipsec esp/transport//require;

ifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
        tunnel inet 10.107.6.26 --> 10.107.12.19
        inet 10.107.7.138 --> 10.107.7.137 netmask 0xfffffffc

cat /etc/pf.conf|grep gif0
rdr on gif0 proto tcp from any to any port 25 -> 10.107.6.26 port 25

--------------------------------------------------------------------------------

хост-2

cat /etc/ipsec.conf
flush;
spdflush;

spdadd 10.107.7.138/32  10.107.7.137/32 any -P in  ipsec esp/transport//require;
spdadd 10.107.7.137/32  10.107.7.138/32 any -P out ipsec esp/transport//require;

ifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
        tunnel inet 10.107.12.19 --> 10.107.6.26
        inet 10.107.7.137 --> 10.107.7.138 netmask 0xfffffffc

cat /etc/pf.conf|grep gif0
rdr pass on gif0 proto tcp from any to any port 25 -> 10.107.12.19 port 25

--------------------------------------------------------------------------------

[root@10.107.12.21]# telnet  10.17.40.65 25
Trying 10.17.40.65...
Connected to 10.17.40.65.
Escape character is '^]'.
220 10.107.7.138 ESMTP Sendmail 8.13.8/8.13.8; Thu, 13 Sep 2007 18:21:19 +0300 (EEST)
quit
221 2.0.0 10.107.7.138 closing connection

--------------------------------------------------------------------------------

Машинка 10.107.12.21 по цепочке находится до 10.107.7.137, а  10.17.40.65 за 10.107.7.138

где-то так 10.107.12.21 -> 10.107.7.137 (10.107.12.19) -> 10.107.7.138 (10.107.6.26) -> 10.17.40.65

Пошел на радостях пить пиво....  :-)))


"pf gif ipsec. Или лыжи не едут или я ничего не понимаю"
Отправлено Shaman , 19-Фев-08 11:50 
>>>Столкнулся с тем-же...  :-(
>>>Обнаружил что если отключить шифрование, т.е. оставить чистый туннель
>>>пакеты на гифе отлавливаются
>>
>>Кстати, как шифруешь? (транспорт или тунель?)
>>покажи правила IPSEC-а...
>
>УРРРА! Победил!!!!  :-)))
>

Сорри, но радость была преждевременной....

как оказалось с ipsec-ом перехвать нормально работает только на tun-интерфейсах...
еще одно приятность, на tun-интерфейсах MTU 1500....

на "гифах":

09:22:24.913368 rule 0/0(match): pass in on lnc0: 10.107.1.252 > 10.107.12.19: ESP(spi=0x003dba06,seq=0xb), length 140
09:22:24.913544 rule 3/0(match): pass out on gif0: 10.107.254.1 > 10.107.254.2: ICMP echo reply, id 48386, seq 0, length 64
09:22:24.913601 rule 1/0(match): pass out on lnc0: 10.107.12.19 > 10.107.1.252: ESP(spi=0x021d81a9,seq=0xb), length 140
09:22:25.903873 rule 0/0(match): pass in on lnc0: 10.107.1.252 > 10.107.12.19: ESP(spi=0x003dba06,seq=0xc), length 140
09:22:25.904003 rule 3/0(match): pass out on gif0: 10.107.254.1 > 10.107.254.2: ICMP echo reply, id 48386, seq 1, length 64
09:22:25.904072 rule 1/0(match): pass out on lnc0: 10.107.12.19 > 10.107.1.252: ESP(spi=0x021d81a9,seq=0xc), length 140

на tun-интерфейсах:
000000 rule 0/0(match): pass in on lnc0: 10.107.1.252 > 10.107.12.19: ESP(spi=0x06b56bdd,seq=0x5), length 116
000704 rule 0/0(match): pass in on tun0: 10.107.254.2 > 10.107.254.1: ICMP echo request, id 16386, seq 0, length 64
000036 rule 0/0(match): pass out on tun0: 10.107.254.1 > 10.107.254.2: ICMP echo reply, id 16386, seq 0, length 64
000214 rule 0/0(match): pass out on lnc0: 10.107.12.19 > 10.107.1.252: ESP(spi=0x08ee6713,seq=0x5), length 116
980301 rule 0/0(match): pass in on lnc0: 10.107.1.252 > 10.107.12.19: ESP(spi=0x06b56bdd,seq=0x6), length 116
000651 rule 0/0(match): pass in on tun0: 10.107.254.2 > 10.107.254.1: ICMP echo request, id 16386, seq 1, length 64
000025 rule 0/0(match): pass out on tun0: 10.107.254.1 > 10.107.254.2: ICMP echo reply, id 16386, seq 1, length 64
000221 rule 0/0(match): pass out on lnc0: 10.107.12.19 > 10.107.1.252: ESP(spi=0x08ee6713,seq=0x6), length 116


"pf gif ipsec. Или лыжи не едут или я ничего не понимаю"
Отправлено angra , 19-Фев-08 16:14 
>Сообщение от Shaman (??) on 13-Сен-07, 19:40
>УРРРА! Победил!!!!  :-)))
>Пошел на радостях пить пиво....  :-)))
>Сообщение от Shaman (??) on 19-Фев-08, 11:50
>Сорри, но радость была преждевременной....

Хренасе вы пиво пьете. Полгода отмечания это сурово :)


"pf gif ipsec. Или лыжи не едут или я ничего не понимаю"
Отправлено Billy , 26-Фев-08 17:55 
у меня подобная ситуация, на зашифрованном туннеле не работает tcpdum gif0б выдает 0 пакетов, на незашифрованном выдает пакеты, т.е. тут само устройство туннеля не позволяет таким образом перехватывать траффик, надо как то по другому