IPIP IPsec VPN tunnel αžšαžœαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž›αžΈαž“αž»αž… αž“αž·αž„ Mikrotik αž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆ NAT

αž›αžΈαž“αž»αž…: αž’αŸŠαžΌαž”αŸŠαž»αž“αž‘αžΌ 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 αž“αžΉαž„αž€αŸ’αž›αžΆαž™αž‡αžΆαž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„

αž˜αžΈαž€αžαžΌαž€αŸ– CCR 1009, RouterOS 6.46.5

  • Eth0 10.0.0.2/30 IP αžαžΆαž„αž€αŸ’αž“αž»αž„αž–αžΈαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαŸ” NAT IP αžαžΆαž„αž€αŸ’αžšαŸ…αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαž‚αžΊαžαžΆαž˜αžœαž“αŸ’αžαŸ”
  • ipip-ipsec0 192.168.0.2/30 αž“αžΉαž„αž€αŸ’αž›αžΆαž™αž‡αžΆαž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„

αž™αžΎαž„αž“αžΉαž„αž”αž„αŸ’αž€αžΎαžαž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈ IPsec αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž›αžΈαž“αž»αž…αžŠαŸ„αž™αž”αŸ’αžšαžΎ racoon αŸ” αžαŸ’αž‰αž»αŸ†β€‹αž“αžΉαž„β€‹αž˜αž·αž“β€‹αžšαŸ€αž”αžšαžΆαž”αŸ‹β€‹αž›αž˜αŸ’αž’αž·αžβ€‹αž‘αŸβ€‹αž‚αžΊβ€‹αž›αŸ’αž’β€‹αž˜αž½αž™β€‹ αž’αžαŸ’αžαž”αž‘ Ρƒ vvpoloskin.

αžŠαŸ†αž‘αžΎαž„αž€αž‰αŸ’αž…αž”αŸ‹αž…αžΆαŸ†αž”αžΆαž…αŸ‹αŸ–

sudo install racoon ipsec-tools

αž™αžΎαž„αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ racoon αžœαžΆαž“αžΉαž„αžŠαžΎαžšαžαž½αž‡αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ ipsec αžαžΆαž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒαŸ” αžŠαŸ„αž™αžŸαžΆαžš mikrotik αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž˜αŸαž˜αž·αž“αž’αžΆαž…αž”αž‰αŸ’αž‡αžΌαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž’αžαž·αžαž·αž‡αž“αž”αž“αŸ’αžαŸ‚αž˜αž”αžΆαž“αž‘αŸ αž αžΎαž™αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αžαžΆαž„αž€αŸ’αžšαŸ…αžŠαŸ‚αž›αžœαžΆαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž›αžΈαž“αž»αž…αž‚αžΊαžαžΆαž˜αžœαž“αŸ’αž αž€αžΆαžšαž”αŸ’αžšαžΎαžŸαŸ„αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž‡αžΆαž˜αž»αž“ (αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹) αž“αžΉαž„αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ αž–αŸ’αžšαŸ„αŸ‡αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αžšαž”αžŸαŸ‹ αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžαž—αŸ’αž‡αžΆαž”αŸ‹ αž¬αž‡αžΆαž˜αž½αž™αž§αž”αž€αžšαžŽαŸαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαŸ”

αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžšαžΎαž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαžŠαŸ„αž™αž”αŸ’αžšαžΎαž‚αŸ’αžšαžΆαž”αŸ‹αž…αž»αž… RSA αŸ”

αžŠαŸαž˜αž·αž“ racoon αž”αŸ’αžšαžΎαž‚αŸ’αžšαžΆαž”αŸ‹αž…αž»αž…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹ RSA αž αžΎαž™ mikrotik αž”αŸ’αžšαžΎαž‘αž˜αŸ’αžšαž„αŸ‹ PEM αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαžŸαŸ„αžŠαŸ„αž™αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž˜αŸ’αž˜αžαžΆαžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™ racoon αž“αŸ„αŸ‡αž’αŸ’αž“αž€αž“αžΉαž„αž˜αž·αž“αž’αžΆαž…αž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαŸ„αžŸαžΆαž’αžΆαžšαžŽαŸˆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Mikrotika αž‘αŸ…αž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹ PEM αžŠαŸ„αž™αž˜αžΆαž“αž‡αŸ†αž“αž½αž™αžšαž”αžŸαŸ‹αžœαžΆαž‘αŸ - αžœαžΆαž”αŸ†αž”αŸ’αž›αŸ‚αž„αžαŸ‚αž€αŸ’αž“αž»αž„αž‘αž·αžŸαžŠαŸ…αž˜αž½αž™αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ– PEM αž‘αŸ… RSA αŸ” αž‘αžΆαŸ†αž„ openssl ឬ ssh-keygen αž˜αž·αž“αž’αžΆαž…αž’αžΆαž“αžŸαŸ„αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŠαŸ„αž™ plainrsa-gen αž”αžΆαž“αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αž“αžΉαž„αž˜αž·αž“αž’αžΆαž…αž”αŸ’αžšαžΎαž–αž½αž€αžœαžΆαž”αžΆαž“αž‘αŸαŸ”

αž™αžΎαž„αž“αžΉαž„αž”αž„αŸ’αž€αžΎαžαž€αžΌαž“αžŸαŸ„ PEM αžŠαŸ„αž™αž”αŸ’αžšαžΎ openssl αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αž˜αŸ’αž›αŸ‚αž„αžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ racoon αžŠαŸ„αž™αž”αŸ’αžšαžΎ plinrsa-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αŸ– αž˜αŸ‰αžΊαž“αž»αž™ "αž―αž€αžŸαžΆαžš" - "αž•αŸ’αž‘αž»αž€αž‘αžΎαž„" αŸ”

αž”αžΎαž€αž•αŸ’αž“αŸ‚αž€ "IP" - "IP sec" - αž•αŸ’αž‘αžΆαŸ†αž„ "αž‚αŸ’αžšαžΆαž”αŸ‹αž…αž»αž…" αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαžŸαŸ„ - αž”αŸŠαžΌαžαž»αž„ "αž”αž„αŸ’αž€αžΎαžαžŸαŸ„" αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž“αžΆαŸ†αž…αŸαž‰αžŸαŸ„αžŸαžΆαž’αžΆαžšαžŽαŸˆ mikrotika "Expor Pub αŸ” αž‚αž“αŸ’αž›αžΉαŸ‡" αž’αŸ’αž“αž€αž’αžΆαž…αž‘αžΆαž‰αž™αž€αžœαžΆαž–αžΈαž•αŸ’αž“αŸ‚αž€ "αž―αž€αžŸαžΆαžš" αž…αž»αž…αžαžΆαž„αžŸαŸ’αžαžΆαŸ†αž›αžΎαž―αž€αžŸαžΆαžš - "αž‘αžΆαž‰αž™αž€" αŸ”

αž™αžΎαž„αž“αžΆαŸ†αž…αžΌαž›αž€αžΌαž“αžŸαŸ„αžŸαžΆαž’αžΆαžšαžŽαŸˆαžšαž”αžŸαŸ‹ racoon "αž“αžΆαŸ†αž…αžΌαž›" αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαž‘αž˜αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡αž“αŸƒαžœαžΆαž› "αžˆαŸ’αž˜αŸ„αŸ‡αž―αž€αžŸαžΆαžš" αž™αžΎαž„αžšαž€αž˜αžΎαž› 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"

αž•αŸ’αž‘αžΆαŸ†αž„ "αž”αŸ’αžšαžœαžαŸ’αžαž·αžšαžΌαž”"
αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš
αžαž˜αŸ’αž›αŸƒ

αžˆαŸ’αž˜αŸ„αŸ‡
αžαžΆαž˜αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ (αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜)

αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ Hash
sha512

αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”
aes-128

DH-αž€αŸ’αžšαž»αž˜
modp2048

Proposhal_check
αž€αžΆαžšαž‘αžΆαž˜αž‘αžΆαžš

αž‡αžΈαžœαž·αž
1d 00:00:00

NAT αž†αŸ’αž›αž„αž€αžΆαžαŸ‹
αž–αž·αž (αž’αžΈαž€αž”αŸ’αžšαž’αž”αŸ‹)

DPD
120

DPD αž”αžšαžΆαž‡αŸαž™αž’αžαž·αž”αžšαž˜αžΆ
5

αž•αŸ’αž‘αžΆαŸ†αž„αž˜αž·αžαŸ’αžαž—αž€αŸ’αžαž·
αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš
αžαž˜αŸ’αž›αŸƒ

αžˆαŸ’αž˜αŸ„αŸ‡
αžαžΆαž˜αž†αž“αŸ’αž‘αžΆαž“αž»αžŸαž·αž‘αŸ’αž’αž·αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ (αžαž‘αŸ…αž“αŸαŸ‡αž αŸ…αžαžΆ MyPeer)

αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“
1.1.1.1 (αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ IP αž›αžΈαž“αž»αž…)

αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€
10.0.0.2 (αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ IP WAN mikrotik)

αž”αŸ’αžšαžœαžαŸ’αžαž·αžšαžΌαž”
αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜

αžšαž”αŸ€αž”αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš
αžŸαŸ†αžαžΆαž“αŸ‹

αž’αž€αž˜αŸ’αž˜
αž˜αž·αž“αž–αž·αž

αž•αŸ’αž‰αžΎ INITIAL_CONTACT
αž‡αžΆαž€αžΆαžšαž–αž·αž

αž•αŸ’αž‘αžΆαŸ†αž„αžŸαŸ†αžŽαžΎ
αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš
αžαž˜αŸ’αž›αŸƒ

αžˆαŸ’αž˜αŸ„αŸ‡
αžαžΆαž˜αž†αž“αŸ’αž‘αžΆαž“αž»αžŸαž·αž‘αŸ’αž’αž·αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ (αžαž‘αŸ…αž“αŸαŸ‡αž αŸ…αžαžΆ MyPeerProposal)

αžŸαž·αž‘αŸ’αž’αž·αŸ” αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™
sha512

Encr. αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™
aes-128-cbc

αž‡αžΈαžœαž·αž
08:00:00

αž€αŸ’αžšαž»αž˜ PFS
modp2048

αž•αŸ’αž‘αžΆαŸ†αž„ "αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽ"
αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš
αžαž˜αŸ’αž›αŸƒ

αž˜αž·αžαŸ’αžαž—αŸαž€αŸ’αžαŸ’αžš
MyPeer

αž’αžΆαžαŸ” αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž
αžŸαŸ„ rsa

αž‚αž“αŸ’αž›αžΉαŸ‡
mikrotik.privet.key

αžŸαŸ„αž–αžΈαž…αž˜αŸ’αž„αžΆαž™
server-name.pub.pem

αž€αŸ’αžšαž»αž˜αž‚αŸ†αžšαžΌαž‚αŸ„αž›αž“αž™αŸ„αž”αžΆαž™
αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜

αžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹ Notrack
αž‘αž‘αŸ

αž”αŸ’αžšαž—αŸαž‘αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†
αžšαžαž™αž“αŸ’αž

αž”αŸ’αžšαž—αŸαž‘αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž–αžΈαž…αž˜αŸ’αž„αžΆαž™
αžšαžαž™αž“αŸ’αž

αž”αŸ’αžšαž€αž½αžαžŠαŸ„αž™
αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž–αžΈαž…αž˜αŸ’αž„αžΆαž™

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž”αŸ€αž”
αž‘αž‘αŸ

αž”αž„αŸ’αž€αžΎαžαž‚αŸ„αž›αž€αžΆαžšαžŽαŸ
αž‘αŸ

αž•αŸ’αž‘αžΆαŸ†αž„ "αž‚αŸ„αž›αž€αžΆαžšαžŽαŸ - αž‘αžΌαž‘αŸ…"
αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš
αžαž˜αŸ’αž›αŸƒ

αž˜αž·αžαŸ’αžαž—αŸαž€αŸ’αžαŸ’αžš
MyPeer

αž•αŸ’αž›αžΌαžœαž€αŸ’αžšαŸ„αž˜αžŠαžΈ
αž‡αžΆαž€αžΆαžšαž–αž·αž

Src. αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“
192.168.0.0/30

αžŠαŸαžŸαŸ” αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“
192.168.0.0/30

αž–αž·αž’αžΈαž€αžΆαžš
255 (αž‘αžΆαŸ†αž„αž’αžŸαŸ‹)

αž‘αŸ†αž–αŸαžšαž‚αŸ†αžšαžΌ
αž˜αž·αž“αž–αž·αž

αž•αŸ’αž‘αžΆαŸ†αž„ "αž‚αŸ„αž›αž€αžΆαžšαžŽαŸ - αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–"
αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš
αžαž˜αŸ’αž›αŸƒ

αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–
αž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”

αž€αž˜αŸ’αžšαž·αž
αž‘αžΆαž˜αž‘αžΆαžš

αž–αž·αž’αžΈαž€αžΆαžš IPsec
αž–αž·αžŸαŸαžŸ

αžŸαŸ†αžŽαžΎ
MyPeerProposal

αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αžŠαžΌαž…αžαŸ’αž‰αž»αŸ†αžŠαŸ‚αžš αž’αŸ’αž“αž€αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ snat/masquerade αž“αŸ…αž›αžΎαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ WAN αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž…αŸ’αž”αžΆαž”αŸ‹αž“αŸαŸ‡αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“ ipsec αž…αŸαž‰αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„αŸ–
αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αž•αŸ’αž“αŸ‚αž€ "IP" - "αž‡αž‰αŸ’αž‡αžΆαŸ†αž„αž—αŸ’αž›αžΎαž„" αŸ”
αž•αŸ’αž‘αžΆαŸ†αž„ "NAT" αž”αžΎαž€αž…αŸ’αž”αžΆαž”αŸ‹ snat/masquerade αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ”

αž•αŸ’αž‘αžΆαŸ†αž„αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹
αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš
αžαž˜αŸ’αž›αŸƒ

αž‚αŸ„αž›αž€αžΆαžšαžŽαŸ IPsec
αž…αŸαž‰αŸ– αž‚αŸ’αž˜αžΆαž“

αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αž·αžŸαžΆαž… racoon αž‘αžΎαž„αžœαž·αž‰

sudo systemctl restart racoon

αž”αŸ’αžšαžŸαž·αž“αž”αžΎ racoon αž˜αž·αž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸ…αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰ αž“αŸ„αŸ‡αž˜αžΆαž“αž€αŸ†αž αž»αžŸαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„ syslog racoon αž”αž„αŸ’αž αžΆαž‰αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž›αŸαžαž”αž“αŸ’αž‘αžΆαžαŸ‹αžŠαŸ‚αž›αž€αŸ†αž αž»αžŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αžƒαžΎαž‰αŸ”

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› OS αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜ αžŠαŸαž˜αž·αž“ racoon αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž˜αž»αž“αž–αŸαž›αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž”αžŽαŸ’αžαžΆαž‰αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΎαž€αž‘αžΎαž„ αž αžΎαž™αž™αžΎαž„αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž‡αž˜αŸ’αžšαžΎαžŸ strict_address αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αžŸαŸ’αžαžΆαž”αŸ‹ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αž“αŸ’αžαŸ‚αž˜αž―αž€αžαžΆ racoon αž‘αŸ…αž―αž€αžŸαžΆαžš systemd
/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 αž“αž·αž„αžŠαžΆαž€αŸ‹ fwmarks αž›αžΎαž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“ αžŠαŸ„αž™αž–αž½αž€αžœαžΆαž’αžΆαž…αžαŸ’αžšαž„αž€αŸ’αž“αž»αž„ iptables αž“αž·αž„ iproute2 (αž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αžαžΆαž˜αž‚αŸ„αž›αž€αžΆαžšαžŽαŸ)αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαž˜αž»αžαž„αžΆαžšαž’αžαž·αž”αžšαž˜αžΆ αž“αŸ„αŸ‡αž§αž‘αžΆαž αžšαžŽαŸ GRE αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αž»αŸ†αž—αŸ’αž›αŸαž…αžαžΆαž™αžΎαž„αž…αŸ†αžŽαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αŸ’αž”αžΆαž›αž’αŸ†αŸ”

αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αž€αžΆαžšαž”αž€αž”αŸ’αžšαŸ‚αž“αŸƒαž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αžŠαŸαž›αŸ’αž’αž“αŸƒαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈ αž“αŸ…αž‘αžΈαž“αŸαŸ‡.

αž“αŸ…αž›αžΎαž›αžΈαž“αž»αž…αŸ–

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ интСрфСйс
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 αž αžΎαž™αž”αž“αŸ’αžαŸ‚αž˜αž•αŸ’αž›αžΌαžœαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αž‘αžΎαž„ αž¬αžŸαžšαžŸαŸαžšαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž˜αž½αž™ αž§αž‘αžΆαž αžšαžŽαŸ /etc/ ipip-ipsec0.conf αž αžΎαž™αž‘αžΆαž‰αžœαžΆαžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αž‘αžΎαž„ αž€αž»αŸ†αž—αŸ’αž›αŸαž…αž’αŸ†αž–αžΈαž˜αŸ’αž…αžΆαžŸαŸ‹αž―αž€αžŸαžΆαžš αžŸαž·αž‘αŸ’αž’αž· αž“αž·αž„αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αžΆαž“αŸ”

αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αž‡αžΆαž―αž€αžŸαžΆαžšαž§αž‘αžΆαž αžšαžŽαŸ

#!/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:

αž•αŸ’αž“αŸ‚αž€ "αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹" αž”αž“αŸ’αžαŸ‚αž˜αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αžαŸ’αž˜αžΈ "αž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈ IP"αŸ–

αž•αŸ’αž‘αžΆαŸ†αž„ "αž•αŸ’αž›αžΌαžœαžšαžΌαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΈ IP" - "αž‘αžΌαž‘αŸ…"
αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš
αžαž˜αŸ’αž›αŸƒ

αžˆαŸ’αž˜αŸ„αŸ‡
αžαžΆαž˜αž†αž“αŸ’αž‘αžΆαž“αž»αžŸαž·αž‘αŸ’αž’αž·αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ (αžαž‘αŸ…αž“αŸαŸ‡αž αŸ…αžαžΆ IPIP-IPsec0)

αž”αž»αž‚αŸ’αž‚αž›
1480 (αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž·αž“αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹ mikrotik αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΆαžαŸ‹ mtu αžŠαž›αŸ‹ 68)

αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“αž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€
192.168.0.2

αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž–αžΈαž…αž˜αŸ’αž„αžΆαž™
192.168.0.1

αžŸαž˜αŸ’αž„αžΆαžαŸ‹ IPsec
αž”αž·αž‘αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžœαžΆαž› (αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸ Peer αžαŸ’αž˜αžΈαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαž)

αžšαž€αŸ’αžŸαžΆβ€‹αž‡αžΈαžœαž·αž
αž’αžŸαž€αž˜αŸ’αž˜αžœαžΆαž› (αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‘αŸ αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž“αžΉαž„αž”αž·αž‘αž‡αžΆαž“αž·αž…αŸ’αž… αžŠαŸ„αž™αžŸαžΆαžš mikrotika αž˜αžΆαž“αž‘αž˜αŸ’αžšαž„αŸ‹αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž‰αŸ’αž…αž”αŸ‹αž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž αžΎαž™αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž›αžΈαž“αž»αž…)

αžŒαžΈαŸ” αžŸαŸŠαžΈαŸ” αžŸαŸŠαžΈαŸ” αž—αžΈ
αž˜αžšαžαž€

αž€αž»αŸ†αž”αŸ†αž”αŸ‚αž€
αž‘αŸ

αžαŸ„αž„ TCP MSS
αž‡αžΆαž€αžΆαžšαž–αž·αž

αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž•αŸ’αž›αžΌαžœαž›αžΏαž“
αž‡αžΆαž€αžΆαžšαž–αž·αž

αž•αŸ’αž“αŸ‚αž€ "IP" - "αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“" αž”αž“αŸ’αžαŸ‚αž˜αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“:

αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš
αžαž˜αŸ’αž›αŸƒ

αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“
192.168.0.2/30

αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹
IPIP-IPsec0

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž”αž“αŸ’αžαŸ‚αž˜αž•αŸ’αž›αžΌαžœαž‘αŸ…αž€αžΆαž“αŸ‹αž”αžŽαŸ’αžαžΆαž‰αž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž›αžΈαž“αž»αž… αž“αŸ…αž–αŸαž›αž”αž“αŸ’αžαŸ‚αž˜αž•αŸ’αž›αžΌαžœ αž…αŸ’αžšαž€αž•αŸ’αž›αžΌαžœαž“αžΉαž„αž‡αžΆαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ IPIP-IPsec0 αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ”

PS

αžŠαŸ„αž™αžŸαžΆαžšαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž›αžΈαž“αž»αž…αžšαž”αžŸαŸ‹αž™αžΎαž„αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαž’αž“αŸ’αžαžšαž€αžΆαž› αžœαžΆαžŸαž˜αž αŸαžαž»αž•αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš 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

αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“ nginx αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž›αžΎαž”αžŽαŸ’αžαžΆαž‰αž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™ mikrotik (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 αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αžΆαž“αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš packet filtersαŸ”

αž”αŸ’αžšαž‘αžΆαž“αž–αžšαž’αŸ’αž“αž€!

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹