Jump to content

IPSEC туннель ЧЕРЕЗ keenetic


Recommended Posts

В качестве временного решения для своих собственных нужд собрал дома следующую схему:

596bcb1e5b096_-1.jpg.a8a983788fad490d78ca4bb8f9210eef.jpg

и был неприятно удивлен...

На Зухеле, естесвенно, работает NAT. Циска шлет ISAKMP-пакеты для 1й фазы, а зухель их натит и преобразует исходящий порт (500) в рандомный порт в соответствии с его (зухеля) религией...

Соответственно, на удаленной циске (1921) zone based firewall не распознает этот траффик как ISAKMP и отбраковывает... Пришлось прикручивать дополнительные ACL из-за капризов зухеля... Разве это правильно??? Тоже самое и с портом 4500, который при такой схеме обязательно включается в работу...

P.S. если натить через циску, то она не изменяет исходящий порт ISAKMP-соединения...

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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 на кинетике полная беда. Жестко заточено для домашнего пользователя. Мелкий бизнес уже мимо.

Link to comment
Share on other sites

Keenetic (как и любой другой NAPT-роутер) волен менять порт при трансляции как ему захочется, и даже в RFC описано, что эта ситуация должна корректно восприниматься реализациями IKE: https://tools.ietf.org/html/rfc3947#page-3

Потому если у вас другая реализация IKE, полагающаяся на vendor-specific реализацию, то наверное стоит ее сменить или приспособиться к текущей.

Link to comment
Share on other sites

9 часов назад, KorDen сказал:

В совокупности с советом в соседней теме про переход на 2.09 и отрепорченным вами же багом кажется получается ой - в 2.08 работает udp-port-preserve, но нет ip statis in out / DHCP-опций; а в текущей бете 2.09 получается поломан udp-port-preserve (не уверен, т.к. проверить сейчас негде, везде 2.10)

В 2.09 починено.

Link to comment
Share on other sites

2 минуты назад, gaaronk сказал:

В 2.09.B.0.0-1 так точно нет, а более новой не видать.

Ну так потерпите и увидите. Если я пишу починено, это означает что код написан и закоммичен, моя работа закончена.

А когда он попадет к юзерам - уже немного не мое дело, а дело отдела QA или выпускающего draft-ы.

Link to comment
Share on other sites

11 hours ago, Yacudzer said:

В качестве временного решения для своих собственных нужд собрал дома следующую схему:

596bcb1e5b096_-1.jpg.a8a983788fad490d78ca4bb8f9210eef.jpg

и был неприятно удивлен...

На Зухеле, естесвенно, работает 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

Link to comment
Share on other sites

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"...

Link to comment
Share on other sites

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-го порта.

 

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...