LINUX.ORG.RU
ФорумAdmin

IPSec(racon): Linux <->Cisco


0

0

Приветствую всех. Помогите разобраться, а то уже весь моск съел. Стоял себе сервак уменя на слаке 13. Работал как прокси да почтовик. Пару компов выпускал в инет через нат. Все нормально. Тут начальству приспичило один из наших компов соединить с другой конторой и именно по ipsec. Установил я ipsec-tools. Его настроил. Пускаешь трасеровку или пинги - в логах ракуна видно, что мой линукс с циской общаются радостно, но дальше моего прокси пинги не уходят. Куда копать? route всетаки iptabls?

Пробовал

-A INPUT -s $CISCO -d $LINUX -p udp -m udp --sport 500 --dport 500 -j ACCEPT
-A OUTPUT -d $CISCO -s $LINUX -p udp -m udp --sport 500 --dport 500 -j ACCEPT

-A INPUT -s $CISCO -d $LINUX -p esp -j ACCEPT
-A OUTPUT -d $CISCO -s $LINUX -p esp -j ACCEPT
-A INPUT -d $CISCO -s $LINUX -p esp -j ACCEPT
-A OUTPUT -s $CISCO -d $LINUX -p esp -j ACCEPT

-A FORWARD -s 10.128.131.19 -d 10.20.5.0/24 -j ACCEPT
-A FORWARD -s 10.20.5.0/24 -d 10.128.131.19 -j ACCEPT

где
$CISCO - удаленная циска
$LINUX - мой линукс
10.128.131.19 - комп в моей сети, к которому нужен доступ
10.20.5.0/24 - удаленная подсеть за циской, с которой нужен доступ

еще одно дополнение, из-за которого я мог запутаться совсем

10.128.131.19 (комп в моей сети) <-> 192.168.5.2 (внутренний адрес прокси) <-> $LINUX (внешний интерфейс на прокси) <<-интернет->> $CISCO (удаленная циска) <-> 10.20.5.0/24 (удаленная подсеть)

Возможно какие-то из правил iptabls лишние, но по ним были отбитые пакеты изначально. Правила форварда не знаю нужны или нет, но во время эксперимента их дописывал. Но по протоколу esp и по 500му порту отбивало изначально. Потом еще вопрос по поводу nat или dnat - надо или нет?

★★★

Re: IPSec(racon): Linux <->Cisco

По поводу iptables: вот кусок рабочей конфигурации сервера отвечающей
за IPSEC туннель.

$IPTABLES -A INPUT -p UDP -s $FILIAL_IP --dport 500 -j ACCEPT
$IPTABLES -A INPUT -p 50 -s $FILIAL_IP -j ACCEPT

$IPTABLES -A FORWARD -s $OFFICE_NET -d $FILIAL_NET -j ACCEPT
$IPTABLES -A FORWARD -s $FILIAL_NET -d $OFFICE_NET -j ACCEPT

#first rule in nat table
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -p 50 -j ACCEPT


capricorn20 ()
Ответ на: Re: IPSec(racon): Linux <->Cisco от capricorn20

Re: IPSec(racon): Linux <->Cisco

всетаки дело наверное с маршрутами. у меня два внешних айпишника (на одной сетевухе, второй алиасом сделан). Все, включая дефаулт гатевей зарулено на другой, не на который настроен ракун. Либо прийдется разобраться с маршрутами, либо перенастроить все на другой (который дефолтный). Но там ток в понедельник удастся созвониться с человеком на той стороне, чтоб у себя настройки изменил на другой мой айпишник.

traceroute -n 10.20.5.71
traceroute to 10.20.5.71 (10.20.5.71), 30 hops max, 60 byte packets
1 10.128.131.2 0.637 ms 0.611 ms 0.600 ms
2 10.0.0.46 0.795 ms 0.990 ms 1.185 ms
3 192.168.5.2 0.357 ms 0.349 ms 0.339 ms
4 * * *

заканчивается на внутренней сетевухе. В логе ракуна (не с дебаг, а с нотифи скину, а то с дебагом сильно уж много букав)

2009-10-09 15:26:17: INFO: @(#)ipsec-tools 0.6.6 (http://ipsec-tools.sourceforge.net)
2009-10-09 15:26:17: INFO: @(#)This product linked OpenSSL 0.9.8k 25 Mar 2009 (http://www.openssl.org/)
2009-10-09 15:26:17: INFO: $LINUX_IP[500] used as isakmp port (fd=5)
2009-10-09 15:26:20: INFO: IPsec-SA request for $CISCO_IP queued due to no phase1 found.
2009-10-09 15:26:20: INFO: initiate new phase 1 negotiation: $LINUX_IP[500]<=>$CISCO_IP[500]
2009-10-09 15:26:20: INFO: begin Identity Protection mode.
2009-10-09 15:26:20: INFO: received broken Microsoft ID: FRAGMENTATION
2009-10-09 15:26:20: INFO: received Vendor ID: CISCO-UNITY
2009-10-09 15:26:20: INFO: received Vendor ID: draft-ietf-ipsra-isakmp-xauth-06.txt
2009-10-09 15:26:20: INFO: received Vendor ID: DPD
2009-10-09 15:26:20: INFO: ISAKMP-SA established $LINUX_IP[500]-$CISCO_IP[500] spi:91f79ddddfdc4956:d151883ad6eba4ee
2009-10-09 15:26:21: INFO: initiate new phase 2 negotiation: $LINUX_IP[0]<=>$CISCO_IP[0]
2009-10-09 15:26:22: INFO: IPsec-SA established: ESP/Tunnel $CISCO_IP[0]->$LINUX_IP[0] spi=149941780(0x8efee14)
2009-10-09 15:26:22: INFO: IPsec-SA established: ESP/Tunnel $LINUX_IP[0]->$CISCO_IP[0] spi=1830919037(0x6d219b7d)

deys ★★★ ()
Ответ на: Re: IPSec(racon): Linux <->Cisco от deys

Re: IPSec(racon): Linux <->Cisco

# setkey -DP
(per-socket policy)
Policy:[Invalid direciton]
created: Oct 9 15:26:17 2009 lastused: Oct 9 15:26:22 2009
lifetime: 0(s) validtime: 0(s)
spid=4044 seq=1 pid=10692
refcnt=1
(per-socket policy)
Policy:[Invalid direciton]
created: Oct 9 15:26:17 2009 lastused: Oct 9 15:26:22 2009
lifetime: 0(s) validtime: 0(s)
spid=4035 seq=2 pid=10692
refcnt=1
10.20.5.0/24[any] 10.128.131.19[any] any
fwd prio def ipsec
esp/tunnel/$CISCO-$LINUX/require
created: Oct 9 08:30:49 2009 lastused:
lifetime: 0(s) validtime: 0(s)
spid=3930 seq=3 pid=10692
refcnt=1
10.20.5.0/24[any] 10.128.131.19[any] any
in prio def ipsec
esp/tunnel/$CISCO-$LINUX/require
created: Oct 9 08:30:49 2009 lastused:
lifetime: 0(s) validtime: 0(s)
spid=3920 seq=4 pid=10692
refcnt=1
10.128.131.19[any] 10.20.5.0/24[any] any
out prio def ipsec
esp/tunnel/$LINUX-$CISCO/require
created: Oct 9 08:30:49 2009 lastused: Oct 9 15:27:08 2009
lifetime: 0(s) validtime: 0(s)
spid=3913 seq=0 pid=10692
refcnt=1

deys ★★★ ()
Ответ на: Re: IPSec(racon): Linux <->Cisco от deys

Re: IPSec(racon): Linux <->Cisco

2009-10-09 15:26:22: INFO: IPsec-SA established: ESP/Tunnel $CISCO_IP[0]->$LINUX_IP[0] spi=149941780(0x8efee14)
2009-10-09 15:26:22: INFO: IPsec-SA established: ESP/Tunnel $LINUX_IP[0]->$CISCO_IP[0] spi=1830919037(0x6d219b7d)

После этого вообще-то IPSEC траффик должен начать ходить если ESP пакеты
нигде не теряются (у нас такое было на модеме от Голдентелекома).

Если несколько интерфейсов нужно только добавить маршрут типа
ip route add CISCO_IP via GATEWAY_N

Если IPSEC сервер является также шлюзом, маршруты мужду туннельными
сетями добавлять не надо, пакеты сразу попадают в kernel ipsec rules.

Ну и проверять на сервере так
ping -I LOCAL_IP REMOTE_LOCAL_IP

capricorn20 ()
Ответ на: Re: IPSec(racon): Linux <->Cisco от capricorn20

Re: IPSec(racon): Linux <->Cisco

В качестве последнего средства диагностики на Linux - tcpdump,
на Cisco
debug crypto ipsec
debug crypto isakmp
debug crypt engine
и смотреть хождение ESP пакетов.

capricorn20 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.