IPIP IPsec VPN Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Linux машиной ΠΈ Mikrotik Π·Π° NAT ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°

Linux: Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-91-generic x86_64)

  • Eth0 1.1.1.1/32 внСшний IP
  • ipip-ipsec0 192.168.0.1/30 Π±ΡƒΠ΄Π΅Ρ‚ наш Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ

Miktoik: CCR 1009, RouterOS 6.46.5

  • Eth0 10.0.0.2/30 Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ IP ΠΎΡ‚ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ IP NAT ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° динамичСский.
  • ipip-ipsec0 192.168.0.2/30 Π±ΡƒΠ΄Π΅Ρ‚ наш Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ

IPsec Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ Π½Π° Linux машинС Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ racoon. НС Π±ΡƒΠ΄Ρƒ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ подробности, Π΅ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ Ρƒ vvpoloskin.

УстанавливаСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹:

sudo install racoon ipsec-tools

НастраиваСм racoon, ΠΎΠ½ условно Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² Ρ€ΠΎΠ»ΠΈ ipsec сСрвСра. Π’Π°ΠΊ ΠΊΠ°ΠΊ mikrotik Π² main Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π° внСшний ip адрСс Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ коннСктится ΠΊ Linux динамичСский, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ preshared key (Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΏΠ°Ρ€ΠΎΠ»ΡŽ) Π½Π΅ получится, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ Π»ΠΈΠ±ΠΎ с ip адрСсом ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ хоста, Π»ΠΈΠ±ΠΎ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ.

Π‘ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠΎ RSA ΠΊΠ»ΡŽΡ‡Π°ΠΌ.

Π”Π΅ΠΌΠΎΠ½ racoon ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠ»ΡŽΡ‡ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ RSA, Π° mikrotik β€” Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PEM. Если Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ plainrsa-gen ΠΈΠ΄ΡƒΡ‰Π΅ΠΉ вмСстС с racoon, Ρ‚ΠΎ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ для Mikrotika Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ PEM с Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ получится β€” ΠΎΠ½Π° ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½Ρƒ сторону: PEM Π² RSA. Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ plainrsa-gen ΠΊΠ»ΡŽΡ‡ Π½Π΅ смогли ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½ΠΈ openssl, Π½ΠΈ ssh-keygen, поэтому с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ получится Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡŽ.

ΠœΡ‹ сгСнСрируСм PEM ΠΊΠ»ΡŽΡ‡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ openssl, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ для racoon с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ plainrsa-gen:

#  Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡
openssl genrsa -out server-name.pem 1024
# ИзвлСкаСм ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡
openssl rsa -in server-name.pem -pubout > server-name.pub.pem
# ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ
plainrsa-gen -i server-name.pem -f server-name.privet.key
plainrsa-gen -i server-name.pub.pem -f server-name.pub.key

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡƒ: /etc/racoon/certs/server. НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΡ‚ Ρ‡ΡŒΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ запускаСтся Π΄Π΅ΠΌΠΎΠ½ racoon (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ root), ΠΏΡ€Π°Π²Π° 600.

Настройку mikrotik ΠΎΠΏΠΈΡˆΡƒ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· WinBox.

ΠšΠ»ΡŽΡ‡ server-name.pub.pem Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ Π² mikrotik: МСню Β«FilesΒ» β€” Β«UploadΒ».

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π» Β«IPΒ» β€” Β«IP secΒ» β€” Π²ΠΊΠ»Π°Π΄ΠΊΠ° Β«KeysΒ». Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡ΠΈ β€” ΠΊΠ½ΠΎΠΏΠΊΠ° Β«Generate KeyΒ», Π·Π°Ρ‚Π΅ΠΌ экспортируСм ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ mikrotika Β«Expor Pub. KeyΒ», ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° Β«FilesΒ», ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ Ρ„Π°ΠΉΠ»Ρƒ β€” Β«DownloadΒ».

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ racoon, Β«ImportΒ», Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС поля Β«File nameΒ» ΠΈΡ‰Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅ Π½Π°ΠΌΠΈ server-name.pub.pem.

ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ mikrotik Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

plainrsa-gen -i mikrotik.pub.pem -f mikrotik.pub.key

ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΡƒ /etc/racoon/certs Π½Π΅ Π·Π°Π±Ρ‹Π² ΠΏΡ€ΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° ΠΈ ΠΏΡ€Π°Π²Π°.

ΠšΠΎΠ½Ρ„ΠΈΠ³ racoon с коммСнтариями: /etc/racoon/racoon.conf

log info; # Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ логирования, ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Debug ΠΈΠ»ΠΈ Debug2.

listen {

    isakmp 1.1.1.1 [500]; # АдрСс ΠΈ ΠΏΠΎΡ€Ρ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ Π΄Π΅ΠΌΠΎΠ½.
    isakmp_natt 1.1.1.1 [4500]; # АдрСс ΠΈ ΠΏΠΎΡ€Ρ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ Π΄Π΅ΠΌΠΎΠ½ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π·Π° NAT.
    strict_address; # Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ привязки ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅ IP.
}

path certificate "/etc/racoon/certs"; # ΠŸΡƒΡ‚ΡŒ Π΄ΠΎ ΠΏΠ°ΠΏΠΊΠΈ с сСртификатами.

remote anonymous { # БСкция, Π·Π°Π΄Π°ΡŽΡ‰Π°Ρ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π΅ΠΌΠΎΠ½Π° с ISAKMP ΠΈ согласования Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ хостами. Π’Π°ΠΊ ΠΊΠ°ΠΊ IP, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Mikrotik, динамичСский, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ anonymous, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ с любого адрСса. Если IP Ρƒ хостов статичСский, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ адрСс ΠΈ ΠΏΠΎΡ€Ρ‚.

    passive on; # Π—Π°Π΄Π°Π΅Ρ‚ "сСрвСрный" Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π΅ΠΌΠΎΠ½Π°, ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
    nat_traversal on; # Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ использованиС Ρ€Π΅ΠΆΠΈΠΌΠ° NAT-T для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Ссли ΠΎΠ½ΠΈ Π·Π° NAT. 
    exchange_mode main; # Π Π΅ΠΆΠΈΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ---согласованиС.
    my_identifier address 1.1.1.1; # Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌ наш linux хост ΠΏΠΎ Π΅Π³ΠΎ ip адрСсу.
    certificate_type plain_rsa "server/server-name.priv.key"; # ΠŸΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ сСрвСра.
    peers_certfile plain_rsa "mikrotik.pub.key"; # ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Mikrotik.

    proposal_check claim; # Π Π΅ΠΆΠΈΠΌ согласования ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ISAKMP туннСля. Racoon Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ значСния ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ хоста (ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΎΡ€Π°) для срока дСйствия сСссии                   ΠΈ Π΄Π»ΠΈΠ½Ρ‹ ΠΊΠ»ΡŽΡ‡Π°, Ссли Π΅Π³ΠΎ срок дСйствия сСссии большС, ΠΈΠ»ΠΈ Π΄Π»ΠΈΠ½Π° Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΊΠΎΡ€ΠΎΡ‡Π΅, Ρ‡Π΅ΠΌ Ρƒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΎΡ€Π°. Если срок дСйствия сСссии ΠΊΠΎΡ€ΠΎΡ‡Π΅, Ρ‡Π΅ΠΌ Ρƒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΎΡ€Π°, racoon ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ собствСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ срока дСйствия сСссии ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сообщСниС RESPONDER-LIFETIME.
    proposal { # ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ISAKMP туннСля.

        encryption_algorithm aes; # ΠœΠ΅Ρ‚ΠΎΠ΄ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ISAKMP туннСля.
        hash_algorithm sha512; # Алгоритм Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для ISAKMP туннСля.
        authentication_method rsasig; # Π Π΅ΠΆΠΈΠΌ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ для ISAKMP туннСля - ΠΏΠΎ RSA ΠΊΠ»ΡŽΡ‡Π°ΠΌ.
        dh_group modp2048; # Π”Π»ΠΈΠ½Π° ΠΊΠ»ΡŽΡ‡Π° для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π”ΠΈΡ„Ρ„ΠΈ-Π₯Π΅Π»Π»ΠΌΠ°Π½Π° ΠΏΡ€ΠΈ согласовании ISAKMP туннСля.
        lifetime time 86400 sec; ВрСмя дСйствия сСссии.
    }

    generate_policy on; # АвтоматичСскоС созданиС ESP Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ ΠΈΠ· запроса, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ ΠΎΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ хоста.
}

sainfo anonymous { # ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ESP Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ, anonymous - ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΏΠΎΡ€Ρ‚ΠΎΠ², ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ              Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, сопоставлСниС происходит ΠΏΠΎ ip адрСсам, ΠΏΠΎΡ€Ρ‚Π°ΠΌ, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ.

    pfs_group modp2048; # Π”Π»ΠΈΠ½Π° ΠΊΠ»ΡŽΡ‡Π° для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π”ΠΈΡ„Ρ„ΠΈ-Π₯Π΅Π»Π»ΠΌΠ°Π½Π° для ESP Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ.
    lifetime time 28800 sec; # Π‘Ρ€ΠΎΠΊ дСйствия ESP Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ.
    encryption_algorithm aes; # ΠœΠ΅Ρ‚ΠΎΠ΄ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ESP Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ.
    authentication_algorithm hmac_sha512; # Алгоритм Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ESP Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ.
    compression_algorithm deflate; # Π‘ΠΆΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сТатия прСдлагаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½.
}

ΠšΠΎΠ½Ρ„ΠΈΠ³ mikrotik

ВозвращаСмся Π² Ρ€Π°Π·Π΄Π΅Π» "IP" β€” "IPsec"

Π’ΠΊΠ»Π°Π΄ΠΊΠ° "Profiles"
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Name
На вашС усмотрСниС (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ default)

Hash Algorithm
sha512

Encryption Algorithm
aes-128

DH-Group
modp2048

Proposhal_check
claim

Lifetime
1d 00:00:00

NAT Traversal
true (ставим Π³Π°Π»ΠΎΡ‡ΠΊΡƒ)

DPD
120

DPD Maximum failure
5

Π’ΠΊΠ»Π°Π΄ΠΊΠ° "Peers"
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Name
На вашС усмотрСниС (Π΄Π°Π»Π΅Π΅ MyPeer)

Address
1.1.1.1 (IP linux ΠΌΠ°ΡˆΠΈΠ½Ρ‹)

Local Address
10.0.0.2 (IP WAN интСрфСйса mikrotik)

Profile
default

Exchange Mode
main

Passive
false

Send INITIAL_CONTACT
true

Π’ΠΊΠ»Π°Π΄ΠΊΠ° "Proposal"
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Name
На вашС усмотрСниС (Π΄Π°Π»Π΅Π΅ MyPeerProposal)

Auth. Algorithms
sha512

Encr. Algorithms
aes-128-cbc

Lifetime
08:00:00

PFS Group
modp2048

Π’ΠΊΠ»Π°Π΄ΠΊΠ° "Identities"
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Peer
MyPeer

Atuh. Method
rsa key

Key
mikrotik.privet.key

Remote Key
server-name.pub.pem

Policy Tamplate Group
default

Notrack Chain
пусто

My ID Type
auto

Remote ID Type
auto

Match By
remote id

Mode Configuration
пусто

Generate Policy
no

Π’ΠΊΠ»Π°Π΄ΠΊΠ° "Policies β€” General"
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Peer
MyPeer

Tunnel
true

Src. Address
192.168.0.0/30

Dest. Address
192.168.0.0/30

Protocol
255 (all)

Template
false

Π’ΠΊΠ»Π°Π΄ΠΊΠ° "Policies β€” Action"
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Action
encrypt

Level
requier

IPsec Protocols
esp

Proposal
MyPeerProposal

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго Ρƒ вас, ΠΊΠ°ΠΊ ΠΈ Ρƒ мСня, Π½Π° WAN интСрфСйсС настроСн snat/masquerade, это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π°Π΄ΠΎ ΡΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ исходящиС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ipsec ΡƒΡ…ΠΎΠ΄ΠΈΠ»ΠΈ Π² наш Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ:
ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π°Π·Π΄Π΅Π» "IP" β€” "Firewall".
Π’ΠΊΠ»Π°Π΄ΠΊΠ° "NAT", ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ нашС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ snat/masquerade.

Π’ΠΊΠ»Π°Π΄ΠΊΠ° "Advanced"
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

IPsec Policy
out: none

РСстартуСм Π΄Π΅ΠΌΠΎΠ½Π° racoon

sudo systemctl restart racoon

Если ΠΏΡ€ΠΈ рСстартС racoon Π½Π΅ запускаСтся, Π·Π½Π°Ρ‡ΠΈΡ‚ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ имССтся ошибка, Π² syslog racoon Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π΅ строки, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° ошибка.

Π”Π΅ΠΌΠΎΠ½ racoon ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ОБ стартуСт Ρ€Π°Π½ΡŒΡˆΠ΅ поднятия сСтСвых интСрфСйсов, Π° ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Π² сСкции listen ΠΎΠΏΡ†ΠΈΡŽ strict_address, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ» systemd ΡŽΠ½ΠΈΡ‚Π° racoon
/lib/systemd/system/racoon.service, Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ [Unit], строку After=network.target.

БСйчас наши ipsec Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒΡΡ, смотрим Π²Ρ‹Π²ΠΎΠ΄:

sudo ip xfrm policy

src 192.168.255.0/30 dst 192.168.255.0/30 
    dir out priority 2147483648 
    tmpl src 1.1.1.1 dst "IP NAT Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ mikrotik"
        proto esp reqid 0 mode tunnel
src 192.168.255.0/30 dst 192.168.255.0/30 
    dir fwd priority 2147483648 
    tmpl src "IP NAT Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ mikrotik" dst 1.1.1.1
        proto esp reqid 0 mode tunnel
src 192.168.255.0/30 dst 192.168.255.0/30 
    dir in priority 2147483648 
    tmpl src "IP NAT Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ mikrotik" dst 1.1.1.1
        proto esp reqid 0 mode tunnel

Если Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈ Π½Π΅ поднялись, смотритС syslog, Π»ΠΈΠ±ΠΎ journalctl -u racoon.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ L3 интСрфСйсы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Π•ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ IPIP, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅Π³ΠΎ mikrotik ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚, я Π±Ρ‹ использовал vti, Π½ΠΎ, ΠΊ соТалСнию, Π² mikrotik Π΅Π³ΠΎ Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ. ΠžΡ‚ IPIP ΠΎΠ½ отличаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ multicast ΠΈ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠΈ (fwmark) Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π² iptables ΠΈ iproute2 (policy-based routing). Если Π½ΡƒΠΆΠ½Π° максимальная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” Ρ‚ΠΎΠ³Π΄Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, GRE. Но Π½Π΅ стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚ΠΈΠΌ большим ΠΎΠ²Π΅Ρ€Ρ…Π΅Π΄ΠΎΠΌ.

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ ΠΎΠ±Π·ΠΎΡ€Π° Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒΠ½Ρ‹Ρ… интСрфСйсов ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚ΡƒΡ‚.

На Linux:

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ интСрфСйс
sudo ip tunnel add ipip-ipsec0 local 192.168.255.1 remote 192.168.255.2 mode ipip
# АктивируСм
sudo ip link set ipip-ipsec0 up
# НазначаСм адрСс
sudo ip addr add 192.168.255.1/30 dev ipip-ipsec0

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ для сСтСй Π·Π° mikrotik

sudo ip route add A.B.C.D/Prefix via 192.168.255.2

Π§Ρ‚ΠΎΠ±Ρ‹ наш интСрфСйс ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ поднимались послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ интСрфСйс Π² /etc/network/interfaces ΠΈ Ρ‚Π°ΠΌ ΠΆΠ΅ Π² post-up Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹, Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ всС Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, /etc/ipip-ipsec0.conf ΠΈ Π΄Π΅Ρ€Π³Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· post-up, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€ΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Ρ„Π°ΠΉΠ»Π°, ΠΏΡ€Π°Π²Π° ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ исполняСмым.

Под ΠΊΠ°Ρ‚ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°

#!/bin/bash
ip tunnel add ipip-ipsec0 local 192.168.255.1 remote 192.168.255.2 mode ipip
ip link set ipip-ipsec0 up
ip addr add 192.168.255.1/30 dev ipip-ipsec0

ip route add A.B.C.D/Prefix via 192.168.255.2

На Mikrotik:

Π Π°Π·Π΄Π΅Π» Β«InterfacesΒ», добавляСм Π½ΠΎΠ²Ρ‹ΠΉ интСрфСйс Β«IP tunnelΒ»:

Π’ΠΊΠ°Π»Π°Π΄ΠΊΠ° Β«IP tunnelΒ» β€” Β«GeneralΒ»
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Name
На вашС усмотрСниС (Π΄Π°Π»Π΅Π΅ IPIP-IPsec0)

MTU
1480 (Ссли Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‚ΠΎ mikrotik Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π΅Π·Π°Ρ‚ΡŒ mtu Π΄ΠΎ 68)

Local Address
192.168.0.2

Remote Address
192.168.0.1

Ipsec Secret
Π”Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠ»Π΅ (ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создан Π½ΠΎΠ²Ρ‹ΠΉ Peer)

Keepalive
Π”Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠ»Π΅ (ΠΈΠ½Π°Ρ‡Π΅ интСрфСйс Π±ΡƒΠ΄Π΅Ρ‚ постоянно Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ mikrotika ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ свой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ этих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ с linux Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚)

DSCP
inherit

Dont Fragment
no

Clamp TCP MSS
true

Allow Fast Path
true

Π Π°Π·Π΄Π΅Π» Β«IPΒ» β€” Β«AddressesΒ», добавляСм адрСс:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Address
192.168.0.2/30

Interface
IPIP-IPsec0

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ Π² сСти Π·Π° linux машиной, ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°, gateway Π±ΡƒΠ΄Π΅Ρ‚ наш интСрфСйс IPIP-IPsec0.

PS

Π’Π°ΠΊ ΠΊΠ°ΠΊ наш сСрвСр linux являСтся Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½Ρ‹ΠΌ, Ρ‚ΠΎ Π½Π° Π½Π΅ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Clamp TCP MSS для ipip интСрфСйсов:

создаСм Ρ„Π°ΠΉΠ» /etc/iptables.conf со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТимым:

*mangle
-A POSTROUTING -o ipip+ -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT

ΠΈ Π² /etc/network/interfaces
post-up iptables-restore < /etc/iptables.conf

Π’ сСти Π·Π° mikrotik Ρƒ мСня Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ nginx (ip 10.10.10.1), Π΄Π΅Π»Π°Π΅ΠΌ доступным Π΅Π³ΠΎ ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² /etc/iptables.conf:

*nat
-A PREROUTING -d 1.1.1.1/32 -p tcp -m multiport --dports 80,443 -j DNAT --to-destination 10.10.10.1
#На mikrotik, Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ mangle, Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ route с Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 192.168.0.1 для ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с адрСсом источника 10.10.10.1 ΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ² 80, 443.

# Π’Π°ΠΊ ΠΆΠ΅ Π½Π° linux Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ OpenVPN сСрвСр 172.16.0.1/24, для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΌΡƒ Π² качСствС шлюза Π΄Π°Π΅ΠΌ доступ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚
-A POSTROUTING -s 172.16.0.0/24 -o eth0 -j SNAT --to-source 1.1.1.1
COMMIT 

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² iptables, Ссли Ρƒ вас Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π·Π΄ΠΎΡ€ΠΎΠ²Ρ‹!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com