Yacudzer Posted July 16, 2017 Share Posted July 16, 2017 В качестве временного решения для своих собственных нужд собрал дома следующую схему: и был неприятно удивлен... На Зухеле, естесвенно, работает NAT. Циска шлет ISAKMP-пакеты для 1й фазы, а зухель их натит и преобразует исходящий порт (500) в рандомный порт в соответствии с его (зухеля) религией... Соответственно, на удаленной циске (1921) zone based firewall не распознает этот траффик как ISAKMP и отбраковывает... Пришлось прикручивать дополнительные ACL из-за капризов зухеля... Разве это правильно??? Тоже самое и с портом 4500, который при такой схеме обязательно включается в работу... P.S. если натить через циску, то она не изменяет исходящий порт ISAKMP-соединения... Quote Link to comment Share on other sites More sharing options...
gaaronk Posted July 16, 2017 Share Posted July 16, 2017 Используйте в cli команду ip nat udp-port-preserve Quote Link to comment Share on other sites More sharing options...
KorDen Posted July 16, 2017 Share 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 Link to comment Share on other sites More sharing options...
gaaronk Posted July 16, 2017 Share 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 Link to comment Share on other sites More sharing options...
Le ecureuil Posted July 17, 2017 Share Posted July 17, 2017 Keenetic (как и любой другой NAPT-роутер) волен менять порт при трансляции как ему захочется, и даже в RFC описано, что эта ситуация должна корректно восприниматься реализациями IKE: https://tools.ietf.org/html/rfc3947#page-3 Потому если у вас другая реализация IKE, полагающаяся на vendor-specific реализацию, то наверное стоит ее сменить или приспособиться к текущей. Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted July 17, 2017 Share 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 Link to comment Share on other sites More sharing options...
gaaronk Posted July 17, 2017 Share Posted July 17, 2017 7 minutes ago, Le ecureuil said: В 2.09 починено. В 2.09.B.0.0-1 так точно нет, а более новой не видать. Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted July 17, 2017 Share Posted July 17, 2017 2 минуты назад, gaaronk сказал: В 2.09.B.0.0-1 так точно нет, а более новой не видать. Ну так потерпите и увидите. Если я пишу починено, это означает что код написан и закоммичен, моя работа закончена. А когда он попадет к юзерам - уже немного не мое дело, а дело отдела QA или выпускающего draft-ы. Quote Link to comment Share on other sites More sharing options...
gaaronk Posted July 17, 2017 Share 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 Link to comment Share on other sites More sharing options...
Yacudzer Posted July 17, 2017 Author Share 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 Link to comment Share on other sites More sharing options...
gaaronk Posted July 17, 2017 Share 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 Link to comment Share on other sites More sharing options...
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.