Страница 1 из 1

IPSEC еманарот!

Добавлено: 2008-07-08 9:53:25
barsykoff
Приветствую :)
Нарисовалась такая проблема... Есть головной офис и филиал, в каждом есть шлюз на фряхе 7-ке.
Поднимаю между ними VPN с помощью IPSEC. И, короче, если фаерволл открытый, допустим, в головном офисе, то пинги идут нормально, сетку удаленную я вижу, в общем все ОК. Но если сделать фаер с таким конфигом (частичный вывод):

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

#!/bin/sh -
# Определим переменные файрвола
fwcmd="/sbin/ipfw"
oif="vr0"
iif="rl0"
vif="gif0"
oip="111.111.111.111"
iip="192.168.0.6"
lan="192.168.0.0/24"
oip_spb="222.222.222.222"

# Сбросим старые правила перед загрузкой новых
${fwcmd} -f flush

# Разрешаем VPN трафик между головным и филиалом
${fwcmd} 1 add allow all from any to any via ${vif}
${fwcmd} 2 add allow udp from ${oip_spb} to me 500
${fwcmd} 3 add allow esp from me to ${oip_spb}
${fwcmd} 4 add allow esp from ${oip_spb} to me
.
.
.
[skiped]
.
.
.

# Разрешаем пинги
#------------------------------------------------------------------------------
${fwcmd} 580 add allow icmp from any to any

# Запрещаем все остальное, что неописано правилами выше
#------------------------------------------------------------------------------
${fwcmd} 666 add deny log ip from any to any
то ниче не пингуется, сетка не видна, а в логе файрволла одна такая строчка и все....

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

Jul  8 10:35:27 bih-gateway kernel: ipfw: 666 Deny P:4 222.222.222.222 111.111.111.111 in via vr0
Jul  8 10:35:45 bih-gateway last message repeated 18 times
Что такое P:4 и как с ним бороться??

Re: IPSEC еманарот!

Добавлено: 2008-07-08 10:05:52
barsykoff
Ага, какие-то подвижки есть. Добавил в фаерволл такие строки (правила 2 и 3):

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

# Разрешаем VPN трафик между головным офисом и филиалом
#------------------------------------------------------------------------------
${fwcmd} 1 add allow all from any to any via ${vif}
${fwcmd} 2 add allow ip from ${oip_spb} to me
${fwcmd} 3 add allow ip from me to ${oip_spb}
${fwcmd} 4 add allow udp from ${oip_spb} to me 500
${fwcmd} 5 add allow esp from me to ${oip_spb}
${fwcmd} 6 add allow esp from ${oip_spb} to me
и пиниг пошли. Но ведь это не секурно - кто-то может подделать айпи мой или филиаловский....
Мысли есть какие-нибудь?

Re: IPSEC еманарот!

Добавлено: 2008-07-08 11:11:07
manefesto
а зачем

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

from any to any
не проще ли указать диапазон адресов в формате CIDR

Re: IPSEC еманарот!

Добавлено: 2008-07-08 11:27:38
barsykoff
Ну допустим. А как мне проверить, шифруется ли трафик в тоннеле? Просто запускаю пинг, и смотрю tpdump'ом, вот что получаю:

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

root@/home/vitaliy> tcpdump -i gif0 dst host 192.168.33.33
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on gif0, link-type NULL (BSD loopback), capture size 96 bytes
12:21:49.131324 IP gateway.domain.ru > 192.168.33.33: ICMP echo request, id 4125, seq 0, length 64
12:21:50.132942 IP gateway.domain.ru > 192.168.33.33: ICMP echo request, id 4125, seq 1, length 64
12:21:51.133782 IP gateway.domain.ru > 192.168.33.33: ICMP echo request, id 4125, seq 2, length 64
12:21:52.134655 IP gateway.domain.ru > 192.168.33.33: ICMP echo request, id 4125, seq 3, length 64
12:21:53.143492 IP gateway.domain.ru > 192.168.33.33: ICMP echo request, id 4125, seq 4, length 64
12:21:54.144345 IP gateway.domain.ru > 192.168.33.33: ICMP echo request, id 4125, seq 5, length 64
12:21:55.145176 IP gateway.domain.ru > 192.168.33.33: ICMP echo request, id 4125, seq 6, length 64
12:21:56.146026 IP gateway.domain.ru > 192.168.33.33: ICMP echo request, id 4125, seq 7, length 64
12:21:57.146881 IP gateway.domain.ru > 192.168.33.33: ICMP echo request, id 4125, seq 8, length 64
^C
9 packets captured
18 packets received by filter
0 packets dropped by kernel
root@/home/vitaliy>
Значит не шифруется?
Просто интересна такая картина:

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

root@/home/vitaliy> ipfw show
00001 11673  7614884 allow ip from any to any via gif0
00002  8700  7734868 allow ip from 222.222.222.722 to me
00003  2970   490896 allow ip from me to 222.222.222.222
00004     0        0 allow udp from 222.222.222.222 to me dst-port 500
00005     0        0 allow esp from me to 222.222.222.222
00006     0        0 allow esp from 222.222.222.222 to me
нафига тогда правила №№4-6, если по ним ниче не ходит, а пролезает по правилам №№1-3. Однако, без правил №№2,3 соединение глохнет...что за фигня?

Re: IPSEC еманарот!

Добавлено: 2008-07-08 21:23:22
zingel
приведите пример пакета (-xxx -vv -ttt)

Re: IPSEC еманарот!

Добавлено: 2008-07-09 9:23:00
barsykoff
Привожу :)

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

root@/home/vitaliy> tcpdump -xxx -vv -ttt -i gif0 dst host 192.168.33.33
tcpdump: listening on gif0, link-type NULL (BSD loopback), capture size 96 bytes
000000 IP (tos 0x0, ttl 64, id 4127, offset 0, flags [none], proto ICMP (1), length 84) gateway.domain.ru > 192.168.33.33: ICMP echo request, id 22335, seq 0, length 64
        0x0000:  0200 0000 4500 0054 101f 0000 4001 c812
        0x0010:  c0a8 0006 c0a8 2121 0800 509d 573f 0000
        0x0020:  4874 5893 000b c40d 0809 0a0b 0c0d 0e0f
        0x0030:  1011 1213 1415 1617 1819 1a1b 1c1d 1e1f
        0x0040:  2021 2223 2425 2627 2829 2a2b 2c2d 2e2f
        0x0050:  3031 3233 3435 3637
1. 000485 IP (tos 0x0, ttl 64, id 4137, offset 0, flags [none], proto ICMP (1), length 84) gateway.domain.ru > 192.168.33.33: ICMP echo request, id 22335, seq 1, length 64
        0x0000:  0200 0000 4500 0054 1029 0000 4001 c808
        0x0010:  c0a8 0006 c0a8 2121 0800 4ead 573f 0001
        0x0020:  4874 5894 000b c5fb 0809 0a0b 0c0d 0e0f
        0x0030:  1011 1213 1415 1617 1819 1a1b 1c1d 1e1f
        0x0040:  2021 2223 2425 2627 2829 2a2b 2c2d 2e2f
        0x0050:  3031 3233 3435 3637
1. 000851 IP (tos 0x0, ttl 64, id 4142, offset 0, flags [none], proto ICMP (1), length 84) gateway.domain.ru > 192.168.33.33: ICMP echo request, id 22335, seq 2, length 64
        0x0000:  0200 0000 4500 0054 102e 0000 4001 c803
        0x0010:  c0a8 0006 c0a8 2121 0800 4b5c 573f 0002
        0x0020:  4874 5895 000b c94a 0809 0a0b 0c0d 0e0f
        0x0030:  1011 1213 1415 1617 1819 1a1b 1c1d 1e1f
        0x0040:  2021 2223 2425 2627 2829 2a2b 2c2d 2e2f
        0x0050:  3031 3233 3435 3637
1. 000844 IP (tos 0x0, ttl 64, id 4147, offset 0, flags [none], proto ICMP (1), length 84) gateway.domain.ru > 192.168.33.33: ICMP echo request, id 22335, seq 3, length 64
        0x0000:  0200 0000 4500 0054 1033 0000 4001 c7fe
        0x0010:  c0a8 0006 c0a8 2121 0800 480b 573f 0003
        0x0020:  4874 5896 000b cc99 0809 0a0b 0c0d 0e0f
        0x0030:  1011 1213 1415 1617 1819 1a1b 1c1d 1e1f
        0x0040:  2021 2223 2425 2627 2829 2a2b 2c2d 2e2f
        0x0050:  3031 3233 3435 3637
1. 000851 IP (tos 0x0, ttl 64, id 4152, offset 0, flags [none], proto ICMP (1), length 84) gateway.domain.ru > 192.168.33.33: ICMP echo request, id 22335, seq 4, length 64
        0x0000:  0200 0000 4500 0054 1038 0000 4001 c7f9
        0x0010:  c0a8 0006 c0a8 2121 0800 44b6 573f 0004
        0x0020:  4874 5897 000b cfec 0809 0a0b 0c0d 0e0f
        0x0030:  1011 1213 1415 1617 1819 1a1b 1c1d 1e1f
        0x0040:  2021 2223 2425 2627 2829 2a2b 2c2d 2e2f
        0x0050:  3031 3233 3435 3637
1. 000845 IP (tos 0x0, ttl 64, id 4157, offset 0, flags [none], proto ICMP (1), length 84) gateway.domain.ru > 192.168.33.33: ICMP echo request, id 22335, seq 5, length 64
        0x0000:  0200 0000 4500 0054 103d 0000 4001 c7f4
        0x0010:  c0a8 0006 c0a8 2121 0800 4167 573f 0005
        0x0020:  4874 5898 000b d339 0809 0a0b 0c0d 0e0f
        0x0030:  1011 1213 1415 1617 1819 1a1b 1c1d 1e1f
        0x0040:  2021 2223 2425 2627 2829 2a2b 2c2d 2e2f
        0x0050:  3031 3233 3435 3637
1. 008852 IP (tos 0x0, ttl 64, id 4162, offset 0, flags [none], proto ICMP (1), length 84) gateway.domain.ru > 192.168.33.33: ICMP echo request, id 22335, seq 6, length 64
        0x0000:  0200 0000 4500 0054 1042 0000 4001 c7ef
        0x0010:  c0a8 0006 c0a8 2121 0800 1ed0 573f 0006
        0x0020:  4874 5899 000b f5ce 0809 0a0b 0c0d 0e0f
        0x0030:  1011 1213 1415 1617 1819 1a1b 1c1d 1e1f
        0x0040:  2021 2223 2425 2627 2829 2a2b 2c2d 2e2f
        0x0050:  3031 3233 3435 3637
1. 001846 IP (tos 0x0, ttl 64, id 4167, offset 0, flags [none], proto ICMP (1), length 84) gateway.domain.ru > 192.168.33.33: ICMP echo request, id 22335, seq 7, length 64
        0x0000:  0200 0000 4500 0054 1047 0000 4001 c7ea
        0x0010:  c0a8 0006 c0a8 2121 0800 179c 573f 0007
        0x0020:  4874 589a 000b fd00 0809 0a0b 0c0d 0e0f
        0x0030:  1011 1213 1415 1617 1819 1a1b 1c1d 1e1f
        0x0040:  2021 2223 2425 2627 2829 2a2b 2c2d 2e2f
        0x0050:  3031 3233 3435 3637
^C
8 packets captured
15 packets received by filter
0 packets dropped by kernel
root@/home/vitaliy>

Re: IPSEC еманарот!

Добавлено: 2008-07-09 14:01:48
krilya
ну если вам все секьюрно нужно, может тогда использовать сертификаты?

Re: IPSEC еманарот!

Добавлено: 2008-07-09 14:33:33
barsykoff
Дык генерил я сертификаты, как в статье. В racoon.conf их вписал, демон работает, а вот трафик как-то странно идет и по ходу не шифруется.
Где можно еще почитать про IPSEC? Только действительно стоящие статьи...

Re: IPSEC еманарот!

Добавлено: 2008-07-09 14:34:41
manefesto
man ipsec ?

Re: IPSEC еманарот!

Добавлено: 2008-07-09 14:54:27
barsykoff
:-D о нееееет, опять английский!

Re: IPSEC еманарот!

Добавлено: 2008-07-09 14:59:40
manefesto
да хоть албанский. Берешь и загоняешь в гугловский переводчик. Смысл для себя уяснить сможешь

Re: IPSEC еманарот!

Добавлено: 2008-07-09 15:03:49
krilya
может я чего-то недопонимаю, но вы сделали вывод о том что траффик не шифруется только потому что пингуется хост?

p.s. ну и зачем переживать что кто-то подделает ай-пи если ему еще нужно сертификат подделать будет..

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

setkey -D
помоему оно показывает что-то про шифрование

Re: IPSEC еманарот!

Добавлено: 2008-07-09 15:35:12
barsykoff
Нет, я не по пингам сделал вывод, а по tcpdump. По идее tcpdump должен показывать что-то вроде

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

XXX tcpdump output
это по хандбуку. Как в реале, не знаю, первый раз настраиваю. Поэтому у вас и спрашиваю :smile:
А setkey да, показывает что-то, только то ли? Не знаю :unknown:

Re: IPSEC еманарот!

Добавлено: 2008-07-09 15:59:22
krilya
а вы попробуйте посмотреть какие пакеты идут с хоста 111.111.111.111 на хост 222.222.222.222 через внешний интерфейс, а не на те что в нутри тунеля

Re: IPSEC еманарот!

Добавлено: 2008-07-09 16:44:07
barsykoff
Хм...с этого шлюза и из сетки за шлюзом внешний ип 222.222.222.222 не пингуется, говорит

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

Destination Host Unreachable
но сетку локальную удаленную видит и на компы заходит.
Зато с другого внешнего сервака все нормально пингуется. Это так и должно быть? :smile:

Re: IPSEC еманарот!

Добавлено: 2008-07-09 19:17:30
Alex Keda
тцпдамп ловит до шифрования