LINUX.ORG.RU
ФорумAdmin

Ipsec = Mikrotik+Racoon

 , ,


1

1

Дано:
Racoon (Главный 1)

  • внешний IP 1.1.1.1
  • внутренняя сеть 11.11.11.11

Mikrotik

  • внешний IP 2.2.2.2
  • внутренняя сеть 22.22.22.22

Задача:
Объеденить сети 11.11.11.11 и 22.22.22.22 IpSec

Решение:
Конфигурация Mikrotik

[admin@MikroTik] /ip ipsec policy> print
 1     src-address=22.22.22.0/24
       src-port=any
       dst-address=11.11.11.0/24 
       dst-port=any
       protocol=ipsec-esp
       action=encrypt 
       level=require
       ipsec-protocols=esp
       tunnel=yes 
       sa-src-address=2.2.2.2
       sa-dst-address=1.1.1.1
       proposal=racoon
       priority=0

[admin@MikroTik] /ip ipsec proposal> print
 1    name="racoon"
      auth-algorithms=sha1
      enc-algorithms=blowfish
      lifetime=1d
      pfs-group=modp614
[admin@MikroTik] /ip ipsec peer> print
 0    address=1.1.1.1/32
      local-address=2.2.2.2
      passive=no
      port=500
      auth-method=pre-shared-key
      secret="pass123"
      generate-policy=port-override 
      policy-template-group=default
      exchange-mode=main
      send-initial-contact=yes
      nat-traversal=yes
      proposal-check=obey
      hash-algorithm=sha1
      enc-algorithm=blowfish
      dh-group=modp6144 
      lifetime=1d
      lifebytes=0
      dpd-interval=2m
      dpd-maximum-failures=5 
[admin@MikroTik] /ip firewall filter> print
Flags: X - disabled, I - invalid, D - dynamic 
 0  D ;;; special dummy rule to show fasttrack counters
      chain=forward action=passthrough 

 1    chain=input action=accept src-address=1.1.1.1 log=no 

 2    chain=output action=accept dst-address=1.1.1.1 log=no 
....

Конфигурация Racoon

# cat /etc/racoon/mikrotik.conf
remote 2.2.2.2 {
        #my_identifier address 1.1.1.1;
        exchange_mode main;
        lifetime time 86400 sec;
        proposal_check obey;
        initial_contact on;
        proposal {
                encryption_algorithm blowfish;
                hash_algorithm sha1;
                authentication_method pre_shared_key;
                dh_group modp6144;
        }
        generate_policy on;
        nat_traversal on;
        dpd_delay 120;
        dpd_maxfail 5;

}

sainfo address 11.11.11.0/24 any address 22.22.22.0/24 any {
        pfs_group modp6144;
        encryption_algorithm blowfish;
        authentication_algorithm hmac_sha1;
        compression_algorithm deflate;
        lifetime time 86400 sec;
}

#cat /etc/ipsec-tools.d/microtik.conf
flush;
spdflush;

spdadd 11.11.11.0/24 22.22.22.0/24 any -P out ipsec esp/tunnel/1.1.1.-2.2.2.2/require;
spdadd 22.22.22.0/24 11.11.11.0/24 any -P in ipsec esp/tunnel/2.2.2.2-1.1.1.1/require;
# cat /etc/racoon/psk/txt
# mikrotik
2.2.2.2 pass123
# iptables-save |grep 2.2.2.2
-A INPUT -s 2.2.2.2/32 -i ppp0 -p udp -m udp -j ACCEPT

Проблема

Ошибка в Racoon

...
Oct  1 12:51:43 racoon racoon: WARNING: the packet retransmitted in a short time from 2.2.2.2[500]
...
Oct  1 12:51:43 racoon racoon: NOTIFY: the packet is retransmitted by 2.2.2.2[500] (1).
...
Ошибки в Mikrotik нет. В фаерволе что-то конкретно открыть надо?

★★★★★

тебе сначала нужно настроить маршрутизацию между подсетями внешний IP 1.1.1.1 внешний IP 2.2.2.2 также нужно поднять тунель например GRE а потом уже шифровать трафик

rootmaster ()
Ответ на: комментарий от rootmaster

тебе сначала нужно настроить маршрутизацию между подсетями внешний IP 1.1.1.1 внешний IP 2.2.2.2

Это как?

также нужно поднять тунель например GRE а потом уже шифровать трафик

Это обязательно?

petav ★★★★★ ()
Последнее исправление: petav (всего исправлений: 1)
/ip firewall nat
add action=accept chain=srcnat comment="Skip SNAT for IPsec-out" ipsec-policy=out,ipsec

/ip firewall filter
add action=accept chain=input comment="accept from IPsec VPN" ipsec-policy=in,ipsec
add action=accept chain=forward comment="forward to IPsec VPN (must be before fasttrack)" ipsec-policy=out,ipsec
add action=accept chain=forward comment="forward from IPsec VPN (must be before fasttrack)" ipsec-policy=in,ipsec
intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Вроде ни чего вредного. Если копи-паст..., там далеко на микротике интернет не упадет (опыта с ним нет, как оно на что реагирует)?

petav ★★★★★ ()
Ответ на: комментарий от pekmop1024

Народная примета: удаленная настройка файрвола - к поездке.

там anydesk трудится, но все же да!

А если по сабжу, почему именно ipsec?

Широко поддерживается. Поэтому на центральном коммутаторе ovpn, racoon, ppp.

petav ★★★★★ ()
Последнее исправление: petav (всего исправлений: 1)
Ответ на: комментарий от petav

Широко поддерживается. Поэтому на центральном коммутаторе ovpn, racoon, ppp.

Он просто достаточно проблемный в настройке и нежный к качеству канала, в том числе пропускании провайдерами протоколов как нужно, чего не все провайдеры делают. Если нужна надежность - это только openvpn, если нужна производительность - можно посмотреть на wireguard. А пиписек в современных реалиях не имеет никаких преимуществ и кучу недостатков.

Только вот микротики не подходят ни для опенвпн, ни для ваергарда, ибо кривые изнутри.

pekmop1024 ★★★★★ ()
Ответ на: комментарий от pekmop1024

ни для опенвпн, ни для ваергарда, ибо кривые изнутри

Поэтому ipsec

petav ★★★★★ ()
Ответ на: комментарий от pekmop1024

Народная примета: удаленная настройка файрвола - к поездке.

+1 :)

intelfx ★★★★★ ()
Ответ на: комментарий от petav

Ну, если прямо так копипастить, то вообще ничего не изменится, потому что эти правила нужно в начало ставить. Это просто кусок моего конфига.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Сегодня проверим. Логика есть, сообщение «retransmitted» в сторону микротик может указывать на то, что он не хочет принимать пакеты даже несмотря на то, что весь трафик от IP второго плеча разрешен.

petav ★★★★★ ()
Ответ на: комментарий от petav

Тогда не знаю.

Впрочем... 2.2.2.2 — это тик? Тогда «by 2.2.2.2» значит обратное, что тик не может достучаться до raccoon (видимо?). Проверь, что у тебя включено заворачивание IPsec в UDP.

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

В микротике правила

 3    ;;; Allow UDP
      chain=input protocol=udp 

 4    ;;; Allow IKE
      chain=input action=accept protocol=udp dst-port=500 log=no 

 5    ;;; Allow IKE
      chain=input protocol=udp dst-port=4500 

 6    chain=input action=accept protocol=ipsec-ah log=no 

 7    chain=input action=accept protocol=ipsec-esp log=no

Счечтик бегает только на 3,4. Перезапустил сервер с racoon заработало вроде

# setkey -D
2.2.2.2 1.1.1.1 
        esp mode=tunnel spi=92444112(0x058295d0) reqid=0(0x00000000)
        E: blowfish-cbc  bdc9cb97 5a2d3845 2d92f492 a4890a70
        A: hmac-sha1  c8f931c1 73a08f2e 6cc18edc 42e2ca82 49621768
        seq=0x00000000 replay=4 flags=0x00000000 state=mature 
        created: Oct 11 13:26:10 2017   current: Oct 11 18:47:54 2017
        diff: 19304(s)  hard: 86400(s)  soft: 69120(s)
        last: Oct 11 18:27:36 2017      hard: 0(s)      soft: 0(s)
        current: 696(bytes)     hard: 0(bytes)  soft: 0(bytes)
        allocated: 8    hard: 0 soft: 0
        sadb_seq=4 pid=13567 refcnt=0
1.1.1.1 2.2..2
        esp mode=tunnel spi=238261119(0x0e33937f) reqid=0(0x00000000)
        E: blowfish-cbc  d4dd0061 afe4aefe d4515492 06264381
        A: hmac-sha1  76572afb 06baaf65 778aae2f 2c091eb7 e514fd1f
        seq=0x00000000 replay=4 flags=0x00000000 state=mature 
        created: Oct 11 13:25:49 2017   current: Oct 11 18:47:54 2017
        diff: 19325(s)  hard: 86400(s)  soft: 69120(s)
        last:                           hard: 0(s)      soft: 0(s)
        current: 0(bytes)       hard: 0(bytes)  soft: 0(bytes)
        allocated: 0    hard: 0 soft: 0
        sadb_seq=5 pid=13567 refcnt=0

  • Даже из сети racoon mikrotik пингую, но только за микротикорм уже ни чего не пингуется.
  • За микротиком tracert показывает как микротик отправляет пакет локальной сети racoon в интеренет.
[admin@MikroTik] /ip firewall nat> print
Flags: X - disabled, I - invalid, D - dynamic 
 0    ;;; defconf: masquerade
      chain=srcnat action=masquerade out-interface=ether1 

 1    chain=srcnat action=accept src-address=192.168.235.0/24 dst-address=192.168.206.0/24 

0 и 1 надо поменять местами?

tcpdump вижу как оттуда не отвечают уже если пигвовать что-то кроме микротика.

petav ★★★★★ ()
Последнее исправление: petav (всего исправлений: 1)
Ответ на: комментарий от petav

Перезапустил сервер с racoon заработало вроде

Хм. После чего в итоге заработало-то?

0 и 1 надо поменять местами?

Да. Но, как я уже писал, можно проще (чтобы не хардкодить подсети повторно):

/ip firewall nat
add action=accept chain=srcnat comment="Skip SNAT for IPsec-out" ipsec-policy=out,ipsec

Это правило нужно запихнуть в начало, перед masquerade, вместо твоего текущего 1-го.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Хм. После чего в итоге заработало-то?

Оказывается, после поднятия работать начинает только после первого пинга из сети микротика в сеть racoon

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