Yacudzer Posted July 16, 2017 Posted July 16, 2017 В качестве временного решения для своих собственных нужд собрал дома следующую схему: и был неприятно удивлен... На Зухеле, естесвенно, работает NAT. Циска шлет ISAKMP-пакеты для 1й фазы, а зухель их натит и преобразует исходящий порт (500) в рандомный порт в соответствии с его (зухеля) религией... Соответственно, на удаленной циске (1921) zone based firewall не распознает этот траффик как ISAKMP и отбраковывает... Пришлось прикручивать дополнительные ACL из-за капризов зухеля... Разве это правильно??? Тоже самое и с портом 4500, который при такой схеме обязательно включается в работу... P.S. если натить через циску, то она не изменяет исходящий порт ISAKMP-соединения... Quote
gaaronk Posted July 16, 2017 Posted July 16, 2017 Используйте в cli команду ip nat udp-port-preserve Quote
KorDen Posted July 16, 2017 Posted July 16, 2017 1 час назад, gaaronk сказал: p nat udp-port-preserve В совокупности с советом в соседней теме про переход на 2.09 и отрепорченным вами же багом кажется получается ой - в 2.08 работает udp-port-preserve, но нет ip statis in out / DHCP-опций; а в текущей бете 2.09 получается поломан udp-port-preserve (не уверен, т.к. проверить сейчас негде, везде 2.10) Quote
gaaronk Posted July 16, 2017 Posted July 16, 2017 13 minutes ago, KorDen said: В совокупности с советом в соседней теме про переход на 2.09 и отрепорченным вами же багом кажется получается ой - в 2.08 работает udp-port-preserve, но нет ip statis in out / DHCP-опций; а в текущей бете 2.09 получается поломан udp-port-preserve (не уверен, т.к. проверить сейчас негде, везде 2.10) Ну что делать коли с тонкой настройкой NAT на кинетике полная беда. Жестко заточено для домашнего пользователя. Мелкий бизнес уже мимо. Quote
Le ecureuil Posted July 17, 2017 Posted July 17, 2017 Keenetic (как и любой другой NAPT-роутер) волен менять порт при трансляции как ему захочется, и даже в RFC описано, что эта ситуация должна корректно восприниматься реализациями IKE: https://tools.ietf.org/html/rfc3947#page-3 Потому если у вас другая реализация IKE, полагающаяся на vendor-specific реализацию, то наверное стоит ее сменить или приспособиться к текущей. Quote
Le ecureuil Posted July 17, 2017 Posted July 17, 2017 9 часов назад, KorDen сказал: В совокупности с советом в соседней теме про переход на 2.09 и отрепорченным вами же багом кажется получается ой - в 2.08 работает udp-port-preserve, но нет ip statis in out / DHCP-опций; а в текущей бете 2.09 получается поломан udp-port-preserve (не уверен, т.к. проверить сейчас негде, везде 2.10) В 2.09 починено. Quote
gaaronk Posted July 17, 2017 Posted July 17, 2017 7 minutes ago, Le ecureuil said: В 2.09 починено. В 2.09.B.0.0-1 так точно нет, а более новой не видать. Quote
Le ecureuil Posted July 17, 2017 Posted July 17, 2017 2 минуты назад, gaaronk сказал: В 2.09.B.0.0-1 так точно нет, а более новой не видать. Ну так потерпите и увидите. Если я пишу починено, это означает что код написан и закоммичен, моя работа закончена. А когда он попадет к юзерам - уже немного не мое дело, а дело отдела QA или выпускающего draft-ы. Quote
gaaronk Posted July 17, 2017 Posted July 17, 2017 11 hours ago, Yacudzer said: В качестве временного решения для своих собственных нужд собрал дома следующую схему: и был неприятно удивлен... На Зухеле, естесвенно, работает NAT. Циска шлет ISAKMP-пакеты для 1й фазы, а зухель их натит и преобразует исходящий порт (500) в рандомный порт в соответствии с его (зухеля) религией... Соответственно, на удаленной циске (1921) zone based firewall не распознает этот траффик как ISAKMP и отбраковывает... Пришлось прикручивать дополнительные ACL из-за капризов зухеля... Разве это правильно??? Тоже самое и с портом 4500, который при такой схеме обязательно включается в работу... P.S. если натить через циску, то она не изменяет исходящий порт ISAKMP-соединения... Для ZBFW Self-Zone вам надо разрешать порты Isakmp UDP 500 и NAT-T UDP 4500 как destination а не как source и destination Quote
Yacudzer Posted July 17, 2017 Author Posted July 17, 2017 5 часов назад, gaaronk сказал: Для ZBFW Self-Zone вам надо разрешать порты Isakmp UDP 500 и NAT-T UDP 4500 как destination а не как source и destination Умно блин... Как я сам не догадался??? А вообще для этого там предусмотрены match protocol в class-map: class-map type inspect match-any IPSEC-class match protocol isakmp match protocol ipsec-msft Поэтому я и написал "что бы не городить дополнительных acl"... Quote
gaaronk Posted July 17, 2017 Posted July 17, 2017 6 minutes ago, Yacudzer said: Умно блин... Как я сам не догадался??? А вообще для этого там предусмотрены match protocol в class-map: class-map type inspect match-any IPSEC-class match protocol isakmp match protocol ipsec-msft Поэтому я и написал "что бы не городить дополнительных acl"... Тогда должно все работать. Вот пример живого конфига class-map type inspect match-any cls-gw-ipsec match protocol isakmp match protocol ipsec-msft policy-map type inspect pmap-wan-to-gw class type inspect cls-gw-ipsec inspect class class-default drop zone-pair security wan-to-gw source wan destination self service-policy type inspect pmap-wan-to-gw Включаем дебаг и смотрим Jul 17 14:31:04.972: ISAKMP-PAK: (0):received packet from 1.1.1.1 dport 500 sport 56149 Global (N) NEW SA Jul 17 14:31:04.972: ISAKMP: (0):Created a peer struct for 1.1.1.1, peer port 56149 Jul 17 14:31:04.972: ISAKMP: (0):New peer created peer = 0x7FB9E230D038 peer_handle = 0x80000232 Jul 17 14:31:04.972: ISAKMP: (0):Locking peer struct 0x7FB9E230D038, refcount 1 for crypto_isakmp_process_block Jul 17 14:31:04.972: ISAKMP: (0):local port 500, remote port 56149 Jul 17 14:31:04.972: ISAKMP: (0):Find a dup sa in the avl tree during calling isadb_insert sa = 7FB9E230F300 Jul 17 14:31:04.972: ISAKMP: (0):processing SA payload. message ID = 0 Jul 17 14:31:04.972: ISAKMP: (0):processing ID payload. message ID = 0 Jul 17 14:31:04.972: ISAKMP: (0):ID payload Все заработало, при том что соединение пришло НЕ с 500-го порта. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.