Jump to content
Калькуляторы

ipsec между cisco asa и mikrotik сквозь nat

на приложенной картинке лаборатория eve-ng и сеть в ней построенная. мне надо сделать ipsec туннель между router__1_asa и router__2_mikrotik. mikrotik_as_internet эмулирует собой сеть интернет и работа через него протестирована и проблем не вызывает. роутер с именем mikrotik представляет собой эмуляцию роутера сотового провайдера на одном из наших филиалов т.е. один из концов туннеля будет стоять за егошним натом. без роутера mikrotik туннель без проблем поднимается и все работает хорошо. но мне надо с ним. на обоих концах туннеля включен нат траверсал но туннель не поднимается. инициатором туннеля является router__2_mikrotik. в качестве пиров на обоих концах указаны публичные адреса соседа т.е. 10.10.1.100 и 10.10.2.100. подскажите где я недоделал пожалуйста. все роутеры настроены с нуля в минимальной для работы туннеля конфигурации т.е. нет каких либо правил фаервола могущих помешать процессу работы.

ipsec_network.png

Share this post


Link to post
Share on other sites

28 минут назад, interface сказал:

на обоих концах туннеля включен нат траверсал

Дык, а с чего этот траверсал появится на роутере сотового оператора? Вам надо у сотовиков тогда публичный IP брать, чтобы не быть за их NAT

Share this post


Link to post
Share on other sites

3 hours ago, jffulcrum said:

Дык, а с чего этот траверсал появится на роутере сотового оператора? Вам надо у сотовиков тогда публичный IP брать, чтобы не быть за их NAT

у нас есть белый статик айпи. роутер сотового оператора это не тот роутер что главный и большой а тот который у нас в филиале стоит в который симка интернетная вставляется.

Share this post


Link to post
Share on other sites

Тогда уточняющие вопросы:

1. Какой тип туннеля?

2. Поднимается SA и не идут пакеты, или и SA не поднимается (show crypto ipsec sa на Cisco) в момент попытки

3. Как сделан NAT на роутере Mikrotik (который промежуточный)? Покажите кусок конфига. Сразу предупреждаю, что если через маскарад - надо будет переделывать.

Edited by jffulcrum

Share this post


Link to post
Share on other sites

5 часов назад, jffulcrum сказал:

Дык, а с чего этот траверсал появится на роутере сотового оператора? Вам надо у сотовиков тогда публичный IP брать, чтобы не быть за их NAT

надо пробовать.

gre nat alg ( и pptp )  есть в более 50% случаев у ОПСОС , к примеру

 

Share this post


Link to post
Share on other sites

7 hours ago, jffulcrum said:

Тогда уточняющие вопросы:

1. Какой тип туннеля?

2. Поднимается SA и не идут пакеты, или и SA не поднимается (show crypto ipsec sa на Cisco) в момент попытки

3. Как сделан NAT на роутере Mikrotik (который промежуточный)? Покажите кусок конфига. Сразу предупреждаю, что если через маскарад - надо будет переделывать.

 

это конфиг router__2_mikrotik

[admin@MikroTik] > /export
# nov/28/2018 23:42:18 by RouterOS 6.43.4
# software id =
#
#
#
/interface ethernet
set [ find default-name=ether1 ] comment=wan
set [ find default-name=ether2 ] comment=local
set [ find default-name=ether3 ] comment=mgmt
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip ipsec peer profile
set [ find default=yes ] nat-traversal=no
add dh-group=modp1024 enc-algorithm=aes-256,aes-128,3des name=profile2
/ip ipsec policy group
add name=group1
/ip ipsec proposal
add enc-algorithms=aes-256-cbc,aes-256-ctr,aes-256-gcm,3des name=proposal1
/snmp community
set [ find default=yes ] addresses=0.0.0.0/0
/ip address
add address=192.168.0.140/24 interface=ether3 network=192.168.0.0
add address=172.25.0.100/24 interface=ether1 network=172.25.0.0
add address=192.168.2.1/24 interface=ether2 network=192.168.2.0
/ip dhcp-client
add disabled=no interface=ether1
/ip dns
set servers=192.168.0.1
/ip firewall filter
add action=accept chain=forward
add action=accept chain=input
add action=accept chain=output
add action=accept chain=input dst-port=500 protocol=udp src-address=\
    10.10.1.100
add action=accept chain=input protocol=ipsec-esp src-address=10.10.1.100
add action=accept chain=input dst-port=4500 protocol=udp src-address=\
    10.10.1.100
add action=accept chain=output dst-address=10.10.1.100 protocol=udp src-port=\
    4500
/ip firewall nat
add action=accept chain=srcnat dst-address=192.168.1.0/24 src-address=\
    192.168.2.0/24
/ip ipsec peer
add address=10.10.1.100/32 exchange-mode=ike2 generate-policy=port-strict \
    policy-template-group=group1 profile=profile2 secret=123456
/ip ipsec policy
add dst-address=192.168.1.0/24 proposal=proposal1 sa-dst-address=10.10.1.100 \
    sa-src-address=10.10.2.100 src-address=192.168.2.0/24 tunnel=yes
/ip route
add distance=1 gateway=172.25.0.1
/routing rip interface
add receive=v2
/routing rip network
add network=192.168.2.0/24
add network=172.25.0.0/24
/system logging
add topics=ipsec

это конфиг роутера mikrotik эмулирующего модем-роутер сотового провайдера

[admin@MikroTik] > /export
# nov/28/2018 23:45:10 by RouterOS 6.39rc68
# software id =
#
/interface ethernet
set [ find default-name=ether1 ] comment=wan
set [ find default-name=ether2 ] comment=local
set [ find default-name=ether3 ] comment=mgmt
/ip address
add address=192.168.0.92/24 interface=ether3 network=192.168.0.0
add address=10.10.2.100/24 interface=ether1 network=10.10.2.0
add address=172.25.0.1/24 interface=ether2 network=172.25.0.0
/ip dhcp-client
add disabled=no interface=ether1
/ip firewall filter
add action=accept chain=forward
/ip firewall nat
add action=dst-nat chain=dstnat disabled=yes dst-port=500 in-interface=ether1 \
    protocol=udp to-addresses=172.25.0.100 to-ports=500
add action=dst-nat chain=dstnat disabled=yes dst-port=4500 in-interface=\
    ether1 protocol=udp to-addresses=172.25.0.100 to-ports=4500
add action=masquerade chain=srcnat out-interface=ether1
/ip route
add distance=1 gateway=10.10.2.1
/routing rip interface
add receive=v2
/routing rip network
add network=10.10.2.0/24
add network=172.25.0.0/24
/tool sniffer
set filter-interface=ether2

это вывод запрошенной команды на сиське

 

Result of the command: "show crypto ipsec sa"

There are no ipsec sas

 

в логе на ней же периодически появляются сообщения вида

7Nov 28 201823:52:4210.10.2.100450010.10.1.1004500NAT-T keepalive received from 10.10.2.100/4500 to wan:10.10.1.100/4500

 

туннель обычный ipsec голый. SA не поднимаются вообще. я пробовал на router__2_mikrotik выставить в политике SA source адрес 172.25.0.100 и тогда туннель ноднимался но пакеты не ходили через него.

Share this post


Link to post
Share on other sites

В вашей модели "голый" IPSec работать не будет. Вам надо между ASA и Mikrotik2 поднимать туннель L2TP, и уже в туннеле шифровать IPSec применительно к внутренним адресам в туннеле (именно они будут фигурировать в peer и policy). Потому как роутер Mikrotik (сотовый) по зашифрованному трафику не поймет, что трафик идет в адрес Mikrotik_2, ведь в голом IpSec у него будет виден только заголовок L3. IpSec надо упаковать во что-то еще.

Share this post


Link to post
Share on other sites

23 minutes ago, jffulcrum said:

В вашей модели "голый" IPSec работать не будет. Вам надо между ASA и Mikrotik2 поднимать туннель L2TP, и уже в туннеле шифровать IPSec применительно к внутренним адресам в туннеле (именно они будут фигурировать в peer и policy). Потому как роутер Mikrotik (сотовый) по зашифрованному трафику не поймет, что трафик идет в адрес Mikrotik_2, ведь в голом IpSec у него будет виден только заголовок L3. IpSec надо упаковать во что-то еще.

а разве нат траверсал не должен решать эту проблему? как я понял из его описания он как раз и занимается тем что упаковывает шифрованные пакеты ipsec в другие пакеты которые уже нормально роутятся через инет.

Share this post


Link to post
Share on other sites

NAT-траверсал решает проблему для протокола ESP, притом в особой конфигурации. Тогда у вас и политика должна быть настроена на туннельный, а не транспортный режим, то есть в policy должно быть tunnel=yes , должен быть NAT bypass (https://wiki.mikrotik.com/wiki/Manual:IP/IPsec#NAT_and_Fasttrack_Bypass ), но и это ничего не гарантирует, особенно когда на сторонах оборудование разных вендоров. Проще уж сразу использовать L2TP

Share this post


Link to post
Share on other sites

Построить есп-туннель между двумя железяками - вообще не вопрос. Никакой особой конфигурации нету, просто esp работает с фиксированными реальными или серыми ип на- ура и сразу. Придумывать новые сущности - ни к чему. Подняли ипсек-туннель меж железяками, ип на концах сетей разные, просто маршрутизацию стандартную сделайте. Затем мокротик засуньте в анус :) Если войдёт конечно.

Share this post


Link to post
Share on other sites

разобрался. заработало и без л2тп. вот конфиги:

делалось это на немного другой карте сети и пир туннеля микротик имеет теперь адрес 10.10.3.100.

конфиг роутера router__2_mik

/interface ethernet
set [ find default-name=ether1 ] comment=wan
set [ find default-name=ether2 ] comment=local
set [ find default-name=ether3 ] comment=mgmt
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip ipsec peer profile
set [ find default=yes ] nat-traversal=no
add dh-group=modp1024 enc-algorithm=aes-256 name=profile2
/ip ipsec policy group
add name=group1
/ip ipsec proposal
add enc-algorithms=aes-256-cbc lifetime=0s name=proposal1
/snmp community
set [ find default=yes ] addresses=0.0.0.0/0
/ip address
add address=172.25.0.100/24 interface=ether1 network=172.25.0.0
add address=192.168.3.1/24 interface=ether2 network=192.168.3.0
add address=192.168.0.142/24 interface=ether3 network=192.168.0.0
/ip dhcp-client
add disabled=no interface=ether1
/ip dns
set servers=192.168.0.1
/ip firewall filter
add action=accept chain=forward
add action=accept chain=input
add action=accept chain=output
add action=accept chain=input dst-port=500 protocol=udp src-address=10.10.1.100
add action=accept chain=input protocol=ipsec-esp src-address=10.10.1.100
add action=accept chain=input dst-port=4500 protocol=udp src-address=\
    10.10.1.100
add action=accept chain=output dst-address=10.10.1.100 protocol=udp src-port=\
    4500
/ip firewall nat
add action=accept chain=srcnat dst-address=192.168.1.0/24 src-address=\
    192.168.3.0/24
add action=masquerade chain=srcnat out-interface=ether1
/ip ipsec peer
add address=10.10.1.100/32 policy-template-group=group1 profile=profile2 \
    secret=123456
/ip ipsec policy
add dst-address=192.168.1.0/24 proposal=proposal1 sa-dst-address=10.10.1.100 \
    sa-src-address=172.25.0.100 src-address=192.168.3.0/24 tunnel=yes
/ip route
add distance=1 gateway=172.25.0.1
/routing rip interface
add disabled=yes receive=v2
/routing rip network
add network=172.25.0.0/24
add network=192.168.3.0/24
/system logging
add topics=ipsec

вот конфиг натящего роутера mikrotik

/interface ethernet
set [ find default-name=ether1 ] comment=wan
set [ find default-name=ether2 ] comment=local
set [ find default-name=ether3 ] comment=mgmt
/ip address
add address=192.168.0.92/24 interface=ether3 network=192.168.0.0
add address=10.10.3.100/24 interface=ether1 network=10.10.3.0
add address=172.25.0.1/24 interface=ether2 network=172.25.0.0
/ip dhcp-client
add disabled=no interface=ether1
/ip firewall filter
add action=accept chain=forward
/ip firewall nat
add action=dst-nat chain=dstnat dst-port=500 in-interface=ether1 protocol=udp to-addresses=172.25.0.100 to-ports=500
add action=dst-nat chain=dstnat dst-port=4500 in-interface=ether1 protocol=udp to-addresses=172.25.0.100 to-ports=4500
add action=masquerade chain=srcnat out-interface=ether1
/ip route
add distance=1 gateway=10.10.3.1
/routing rip interface
add receive=v2
/routing rip network
add network=10.10.2.0/24
add network=172.25.0.0/24
/tool sniffer
set filter-interface=ether2

вот конфиг циско аса она же router__1_asa. при полной загрузке этого конфига пароли везде 123. 

Result of the command: "show running-config"

: Saved
:
ASA Version 8.4(2) 
!
hostname ciscoasa
domain-name my.loc
enable password PLBb27eKLE1o9FTB encrypted
passwd 2KFQnbNIdI.2KYOU encrypted
names
!
interface Ethernet0
 nameif wan
 security-level 0
 ip address 10.10.1.100 255.255.255.0 
!
interface Ethernet1
 nameif local
 security-level 0
 ip address 192.168.1.1 255.255.255.0 
!
interface Ethernet2
 shutdown
 no nameif
 no security-level
 no ip address
!
interface Ethernet3
 shutdown
 no nameif
 no security-level
 no ip address
!
interface Ethernet4
 shutdown
 no nameif
 no security-level
 no ip address
!
interface Ethernet5
 shutdown
 no nameif
 no security-level
 no ip address
!
interface Ethernet6
 shutdown
 no nameif
 no security-level
 no ip address
!
interface Ethernet7
 nameif mgmt
 security-level 0
 ip address 192.168.0.140 255.255.255.0 
!
ftp mode passive
dns server-group DefaultDNS
 domain-name my.loc
same-security-traffic permit inter-interface
same-security-traffic permit intra-interface
object network NETWORK_OBJ_192.168.1.0_24
 subnet 192.168.1.0 255.255.255.0
object network remote-net
 subnet 192.168.2.0 255.255.255.0
object network remote-net-mik
 subnet 192.168.3.0 255.255.255.0
access-list wan_cryptomap extended permit ip 192.168.1.0 255.255.255.0 object remote-net 
access-list global_access extended permit ip any any log debugging 
access-list wan_access_in extended permit ip any any log debugging 
access-list wan_cryptomap_1 extended permit ip 192.168.1.0 255.255.255.0 object remote-net-mik 
pager lines 24
logging enable
logging asdm debugging
mtu wan 1500
mtu local 1500
mtu mgmt 1500
no failover
icmp unreachable rate-limit 1 burst-size 1
no asdm history enable
arp timeout 14400
nat (local,wan) source static NETWORK_OBJ_192.168.1.0_24 NETWORK_OBJ_192.168.1.0_24 destination static remote-net remote-net no-proxy-arp route-lookup
nat (local,wan) source static NETWORK_OBJ_192.168.1.0_24 NETWORK_OBJ_192.168.1.0_24 destination static remote-net-mik remote-net-mik no-proxy-arp route-lookup
access-group wan_access_in in interface wan
access-group global_access global
!
router rip
 network 192.168.1.0
 version 2
 no auto-summary
!
route wan 0.0.0.0 0.0.0.0 10.10.1.1 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
timeout floating-conn 0:00:00
dynamic-access-policy-record DfltAccessPolicy
user-identity default-domain LOCAL
aaa authentication http console LOCAL 
http server enable
http 192.168.0.0 255.255.255.0 mgmt
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart warmstart
crypto ipsec ikev1 transform-set ESP-AES-128-SHA esp-aes esp-sha-hmac 
crypto ipsec ikev1 transform-set ESP-AES-128-MD5 esp-aes esp-md5-hmac 
crypto ipsec ikev1 transform-set ESP-AES-192-SHA esp-aes-192 esp-sha-hmac 
crypto ipsec ikev1 transform-set ESP-AES-192-MD5 esp-aes-192 esp-md5-hmac 
crypto ipsec ikev1 transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac 
crypto ipsec ikev1 transform-set ESP-AES-256-MD5 esp-aes-256 esp-md5-hmac 
crypto ipsec ikev1 transform-set ESP-3DES-SHA esp-3des esp-sha-hmac 
crypto ipsec ikev1 transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac 
crypto ipsec ikev1 transform-set ESP-DES-SHA esp-des esp-sha-hmac 
crypto ipsec ikev1 transform-set ESP-DES-MD5 esp-des esp-md5-hmac 
crypto ipsec ikev2 ipsec-proposal DES
 protocol esp encryption des
 protocol esp integrity sha-1 md5
crypto ipsec ikev2 ipsec-proposal 3DES
 protocol esp encryption 3des
 protocol esp integrity sha-1 md5
crypto ipsec ikev2 ipsec-proposal AES
 protocol esp encryption aes
 protocol esp integrity sha-1 md5
crypto ipsec ikev2 ipsec-proposal AES192
 protocol esp encryption aes-192
 protocol esp integrity sha-1 md5
crypto ipsec ikev2 ipsec-proposal AES256
 protocol esp encryption aes-256
 protocol esp integrity sha-1 md5
crypto map wan_map 1 match address wan_cryptomap
crypto map wan_map 1 set peer 10.10.2.100 
crypto map wan_map 1 set ikev1 transform-set ESP-AES-128-SHA ESP-AES-128-MD5 ESP-AES-192-SHA ESP-AES-192-MD5 ESP-AES-256-SHA ESP-AES-256-MD5 ESP-3DES-SHA ESP-3DES-MD5 ESP-DES-SHA ESP-DES-MD5
crypto map wan_map 1 set ikev2 ipsec-proposal AES256 AES192 AES 3DES DES
crypto map wan_map 2 match address wan_cryptomap_1
crypto map wan_map 2 set pfs 
crypto map wan_map 2 set peer 10.10.3.100 
crypto map wan_map 2 set ikev1 transform-set ESP-AES-128-SHA ESP-AES-128-MD5 ESP-AES-192-SHA ESP-AES-192-MD5 ESP-AES-256-SHA ESP-AES-256-MD5 ESP-3DES-SHA ESP-3DES-MD5 ESP-DES-SHA ESP-DES-MD5
crypto map wan_map 2 set ikev2 ipsec-proposal DES 3DES AES AES192 AES256
crypto map wan_map 2 set ikev2 pre-shared-key *****
crypto map wan_map interface wan
crypto ikev2 policy 1
 encryption aes-256
 integrity sha
 group 5 2
 prf sha
 lifetime seconds none
crypto ikev2 policy 10
 encryption aes-192
 integrity sha
 group 5 2
 prf sha
 lifetime seconds 86400
crypto ikev2 policy 20
 encryption aes
 integrity sha
 group 5 2
 prf sha
 lifetime seconds 86400
crypto ikev2 policy 30
 encryption 3des
 integrity sha
 group 5 2
 prf sha
 lifetime seconds 86400
crypto ikev2 policy 40
 encryption des
 integrity sha
 group 5 2
 prf sha
 lifetime seconds 86400
crypto ikev2 enable wan
crypto ikev1 enable wan
crypto ikev1 policy 10
 authentication crack
 encryption aes-256
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 20
 authentication rsa-sig
 encryption aes-256
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 30
 authentication pre-share
 encryption aes-256
 hash sha
 group 2
 lifetime none
crypto ikev1 policy 40
 authentication crack
 encryption aes-192
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 50
 authentication rsa-sig
 encryption aes-192
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 60
 authentication pre-share
 encryption aes-192
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 70
 authentication crack
 encryption aes
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 80
 authentication rsa-sig
 encryption aes
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 90
 authentication pre-share
 encryption aes
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 100
 authentication crack
 encryption 3des
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 110
 authentication rsa-sig
 encryption 3des
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 120
 authentication pre-share
 encryption 3des
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 130
 authentication crack
 encryption des
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 140
 authentication rsa-sig
 encryption des
 hash sha
 group 2
 lifetime 86400
crypto ikev1 policy 150
 authentication pre-share
 encryption des
 hash sha
 group 2
 lifetime 86400
telnet timeout 5
ssh timeout 5
console timeout 0
threat-detection basic-threat
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
webvpn
 anyconnect-essentials
group-policy GroupPolicy_10.10.2.100 internal
group-policy GroupPolicy_10.10.2.100 attributes
 vpn-tunnel-protocol ikev1 ikev2 
group-policy GroupPolicy_10.10.3.100 internal
group-policy GroupPolicy_10.10.3.100 attributes
 vpn-tunnel-protocol ikev1 ikev2 
username admin password 791XqL8HufZPJwon encrypted privilege 15
tunnel-group 10.10.2.100 type ipsec-l2l
tunnel-group 10.10.2.100 general-attributes
 default-group-policy GroupPolicy_10.10.2.100
tunnel-group 10.10.2.100 ipsec-attributes
 ikev1 pre-shared-key *****
 ikev2 remote-authentication pre-shared-key *****
 ikev2 local-authentication pre-shared-key *****
tunnel-group 10.10.3.100 type ipsec-l2l
tunnel-group 10.10.3.100 general-attributes
 default-group-policy GroupPolicy_10.10.3.100
tunnel-group 10.10.3.100 ipsec-attributes
 ikev1 pre-shared-key *****
 ikev2 remote-authentication pre-shared-key *****
 ikev2 local-authentication pre-shared-key *****
!
class-map inspection_default
 match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
 parameters
  message-length maximum client auto
  message-length maximum 512
policy-map global_policy
 class inspection_default
  inspect dns preset_dns_map 
  inspect ftp 
  inspect h323 h225 
  inspect h323 ras 
  inspect ip-options 
  inspect netbios 
  inspect rsh 
  inspect rtsp 
  inspect skinny  
  inspect esmtp 
  inspect sqlnet 
  inspect sunrpc 
  inspect tftp 
  inspect sip  
  inspect xdmcp 
!
service-policy global_policy global
prompt hostname context 
no call-home reporting anonymous
call-home
 profile CiscoTAC-1
  no active
  destination address http https://tools.cisco.com/its/service/oddce/services/DDCEService
  destination address email callhome@cisco.com
  destination transport-method http
  subscribe-to-alert-group diagnostic
  subscribe-to-alert-group environment
  subscribe-to-alert-group inventory periodic monthly
  subscribe-to-alert-group configuration periodic monthly
  subscribe-to-alert-group telemetry periodic daily
crashinfo save disable
Cryptochecksum:594980ef1d8096c4d69a5bc299b53653
: end

 

Edited by interface

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now