IPIP IPsec VPN tunnel เบฅเบฐเบซเบงเปˆเบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡ 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 เบžเบฒเบเปƒเบ™เบˆเบฒเบเบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™. NAT IP เบžเบฒเบเบ™เบญเบเบ‚เบญเบ‡เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เปเบกเปˆเบ™เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง.
  • ipip-ipsec0 192.168.0.2/30 เบˆเบฐเป€เบ›เบฑเบ™เบญเบธเป‚เบกเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ

เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเป‰เบฒเบ‡เบญเบธเป‚เบกเบ‡ IPsec เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ Linux เป‚เบ”เบเปƒเบŠเป‰ racoon. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบšเปเปˆเบญเบฐเบ—เบดเบšเบฒเบเบฅเบฒเบเบฅเบฐเบญเบฝเบ”, เบกเบตเบญเบฑเบ™เบ—เบตเปˆเบ”เบต เบšเบปเบ”เบ„เบงเบฒเบก ัƒ vvpoloskin.

เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹เบŠเบธเบ”โ€‹เบ—เบตเปˆโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹:

sudo install racoon ipsec-tools

เบžเบงเบเป€เบฎเบปเบฒ configure racoon, เบกเบฑเบ™เบˆเบฐเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ ipsec. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ mikrotik เปƒเบ™เป‚เบซเบกเบ”เบ•เบปเป‰เบ™เบ•เปเบšเปเปˆเบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบ•เบปเบงเบฅเบฐเบšเบธเบฅเบนเบเบ„เป‰เบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป„เบ”เป‰, เปเบฅเบฐเบ—เบตเปˆเบขเบนเปˆ IP เบžเบฒเบเบ™เบญเบเบ—เบตเปˆเบกเบฑเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš Linux เปเบกเปˆเบ™เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง, เบเบฒเบ™เปƒเบŠเป‰เบฅเบฐเบซเบฑเบ” preshared (เบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™) เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ, เป€เบžเบฒเบฐเบงเปˆเบฒเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ•เป‰เบญเบ‡เบ–เบทเบเบˆเบฑเบšเบ„เบนเปˆเบเบฑเบšเบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡. เป€เบˆเบปเป‰เบฒเบžเบฒเบšเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เบซเบผเบทเบเบฑเบšเบ•เบปเบงเบฅเบฐเบšเบธ.

เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปƒเบŠเป‰เบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เป‚เบ”เบเปƒเบŠเป‰เบเบฐเปเบˆ RSA.

racoon daemon เปƒเบŠเป‰เบเบฐเปเบˆเปƒเบ™เบฎเบนเบšเปเบšเบš RSA, เปเบฅเบฐ mikrotik เปƒเบŠเป‰เบฎเบนเบšเปเบšเบš PEM. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เบเบฐเปเบˆเป‚เบ”เบเปƒเบŠเป‰ utility plainrsa-gen เบ—เบตเปˆเบกเบฒเบžเป‰เบญเบกเบเบฑเบš racoon, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบชเปเบฒเบฅเบฑเบš Mikrotika เป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบš PEM เบ”เป‰เบงเบเบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบกเบฑเบ™ - เบกเบฑเบ™เบ›เปˆเบฝเบ™เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เบ—เบดเบ”เบ—เบฒเบ‡เบ”เบฝเบง: PEM เป€เบ›เบฑเบ™ RSA. เบ—เบฑเบ‡ openssl เบซเบผเบท ssh-keygen เบšเปเปˆเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบ plainrsa-gen เป„เบ”เป‰, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฒเบ™เปเบ›เบ‡เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เป„เบ”เป‰.

เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ” 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. เบขเปˆเบฒเบฅเบทเบกเบ•เบฑเป‰เบ‡เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบžเบฒเบเปƒเบ•เป‰เบŠเบทเปˆเบ‚เบญเบ‡ Daemon racoon เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบง (เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบฎเบฒเบ) เป€เบ›เบฑเบ™ 600 เบชเบดเบ”.

เบ‚เป‰เบญเบเบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ mikrotik เป€เบกเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบœเปˆเบฒเบ™ WinBox.

เบญเบฑเบšเป‚เบซเบฅเบ”เบ›เบธเปˆเบก server-name.pub.pem เป„เบ›เปƒเบชเปˆ mikrotik: เป€เบกเบ™เบน โ€œFilesโ€ - โ€œUploadโ€.

เป€เบ›เบตเบ”เบžเบฒเบ "IP" - "IP sec" - เปเบ–เบš "เบ„เบต". เบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ” - เบ›เบธเปˆเบก "เบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”", เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบปเปˆเบ‡เบญเบญเบเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ mikrotika "Expor Pub. เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹, เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ”เบฒเบงโ€‹เบ™โ€‹เปŒโ€‹เป‚เบซเบฅเบ”โ€‹เป„เบ”เป‰โ€‹เบˆเบฒเบโ€‹เบžเบฒเบ "Filesโ€‹"โ€‹, เบชเบดเบ”โ€‹เบ„เบฅเบดเบโ€‹เปƒเบชเปˆโ€‹เป„เบŸเบฅโ€‹เปŒ - "เบ”เบฒเบงโ€‹เป‚เบซเบฅเบ”โ€‹"โ€‹.

เบžเบงเบเป€เบฎเบปเบฒเบ™เปเบฒเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ racoon, "เบ™เปเบฒเป€เบ‚เบปเป‰เบฒ", เปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเป€เบฅเบทเปˆเบญเบ™เบฅเบปเบ‡เบ‚เบญเบ‡ "เบŠเบทเปˆเป„เบŸเบฅเปŒ" เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบŠเบญเบเบซเบฒ server-name.pub.pem เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ”เบฒเบงเป‚เบซเบฅเบ”เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰.

เบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ mikrotik เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™

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

เปเบฅเบฐเป€เบญเบปเบฒเปƒเบชเปˆเปƒเบ™เป‚เบŸเบ™เป€เบ”เบต /etc/racoon/certs, เบขเปˆเบฒเบฅเบทเบกเบเปˆเบฝเบงเบเบฑเบšเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เปเบฅเบฐเบชเบดเบ”เบ—เบด.

racoon config เบเบฑเบšเบ„เปเบฒเป€เบซเบฑเบ™: /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"

เปเบ–เบš "เป‚เบ›เบฃเป„เบŸเบฅเปŒ".
Parameter
เบกเบนเบ™เบ„เปˆเบฒ

เบŠเบทเปˆ
เบ•เบฒเบกเบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™ (เบ•เบฒเบกเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™)

Hash Algorithm
sha512

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”
aes-128

DH-เบเบธเปˆเบก
modp2048

Proposhal_check
เบฎเป‰เบญเบ‡เบ‚เป

เบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ”
1d 00:00:00

เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบœเปˆเบฒเบ™ NAT
เบ–เบทเบโ€‹เบ•เป‰เบญเบ‡ (เปเบฒเบโ€‹เบ•เบดเบโ€‹เปƒเบ™โ€‹เบ›เปˆเบญเบ‡)

DPD
120

DPD เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบชเบนเบ‡เบชเบธเบ”
5

เปเบ–เบšเบกเบดเบ”เบชเบฐเบซเบฒเบ
Parameter
เบกเบนเบ™เบ„เปˆเบฒ

เบŠเบทเปˆ
เบ•เบฒเบกเบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ (เบ•เปเปˆเป„เบ›เบ™เบตเป‰เป€เบญเบตเป‰เบ™เบงเปˆเบฒ MyPeer)

เบ—เบตเปˆเบขเบนเปˆ
1.1.1.1 (เป€เบ„เบทเปˆเบญเบ‡ Linux IP)

เบ—เบตเปˆเบขเบนเปˆเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™
10.0.0.2 (IP WAN interface mikrotik)

เบ›เบฐเบซเบงเบฑเบ”เบซเบเปเป‰
Default

เปเบšเบšเปเบฅเบเบ›เปˆเบฝเบ™
เบ•เบปเป‰เบ™เบ•เป

Passive
เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡

เบชเบปเปˆเบ‡ INITIAL_CONTACT
เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡

เปเบ–เบšเบ‚เปเป‰เบชเบฐเป€เปœเบต
Parameter
เบกเบนเบ™เบ„เปˆเบฒ

เบŠเบทเปˆ
เบ•เบฒเบกเบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ (เบ•เปเปˆเป„เบ›เบ™เบตเป‰เป€เบญเบตเป‰เบ™เบงเปˆเบฒ MyPeerProposal)

เบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡. เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ
sha512

Encr. เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ
aes-128-cbc

เบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ”
08:00:00

เบเบธเปˆเบก PFS
modp2048

เปเบ–เบš "เบ•เบปเบงเบ•เบปเบ™".
Parameter
เบกเบนเบ™เบ„เปˆเบฒ

เบกเบดเบ”เบชเบฐเบซเบฒเบ
MyPeer

เบญเบถ. เบงเบดเบ—เบตเบเบฒเบ™
เบฅเบฐเบซเบฑเบ” rsa

เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™
mikrotik.privet.key

เบ„เบตเป„เบฅเบเบฐเป„เบ
server-name.pub.pem

เบเบธเปˆเบกเปเบกเปˆเปเบšเบšเบ™เบฐเป‚เบเบšเบฒเบ
Default

Notrack Chain
เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ

เบ›เบฐเป€เบžเบ” ID เบ‚เบญเบ‡เบ‚เป‰เบญเบ
เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”

เบ›เบฐเป€เบžเบ” ID เป„เบฅเบเบฐเป„เบ
เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”

เบˆเบฑเบšเบ„เบนเปˆเป‚เบ”เบ
ID เป„เบฅเบเบฐเป„เบ

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เปเบ”
เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ

เบชเป‰เบฒเบ‡เบ™เบฐเป‚เบเบšเบฒเบ
no

เปเบ–เบš "เบ™เบฐเป‚เบเบšเบฒเบ - เบ—เบปเปˆเบงเป„เบ›"
Parameter
เบกเบนเบ™เบ„เปˆเบฒ

เบกเบดเบ”เบชเบฐเบซเบฒเบ
MyPeer

Tunnel
เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡

Src. เบ—เบตเปˆเบขเบนเปˆ
192.168.0.0/30

เบ›เบฒเบเบ—เบฒเบ‡. เบ—เบตเปˆเบขเบนเปˆ
192.168.0.0/30

เบญเบฐเบ™เบธเบชเบฑเบ™เบเบฒ
255 (เบ—เบฑเบ‡เปเบปเบ”)

เปเบกเปˆเปเบšเบš
เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡

เปเบ–เบš "เบ™เบฐเป‚เบเบšเบฒเบ - เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”"
Parameter
เบกเบนเบ™เบ„เปˆเบฒ

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”
เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”

เบฅเบฐเบ”เบฑเบš
เบ•เป‰เบญเบ‡เบเบฒเบ™

เบญเบฐเบ™เบธเบชเบฑเบ™เบเบฒ IPsec
esp

เบ‚เปเป‰เบชเบฐเป€เบซเบ™เบต
MyPeerProposal

เบชเปˆเบงเบ™เบซเบผเบฒเบเบญเบฒเบ”เบˆเบฐ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบšเบ‚เป‰เบญเบ, เบ—เปˆเบฒเบ™เบกเบต snat / masquerade เบเปเบฒเบซเบ™เบปเบ”เบ„เปˆเบฒเปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš WAN เบ‚เบญเบ‡เบ—เปˆเบฒเบ™; เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ™เบตเป‰เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเป€เบžเบทเปˆเบญเปƒเบซเป‰เปเบžเบฑเบเป€เบเบฑเบ” ipsec เบ‚เบฒเบญเบญเบเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบญเบธเป‚เบกเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:
เป„เบ›เบ—เบตเปˆเบžเบฒเบ "IP" - "Firewall".
เปเบ–เบš "NAT", เป€เบ›เบตเบ”เบเบปเบ”เบฅเบฐเบšเบฝเบš snat / masquerade เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.

เปเบ–เบšเบ‚เบฑเป‰เบ™เบชเบนเบ‡
Parameter
เบกเบนเบ™เบ„เปˆเบฒ

เบ™เบฐเป‚เบเบšเบฒเบ IPsec
เบญเบญเบ: none

เบฃเบตเบชเบฐเบ•เบฒเบ”เบœเบตเบ›เบตเบชเบฒเบ” racoon

sudo systemctl restart racoon

เบ–เป‰เบฒ racoon เบšเปเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบกเบทเปˆเบญ restart, เบกเบฑเบ™เบˆเบฐเบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ; เปƒเบ™ syslog, racoon เบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบเบงเบ”เบžเบปเบšเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”.

เป€เบกเบทเปˆเบญ OS boots, racoon daemon เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเปˆเบญเบ™เบ—เบตเปˆเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบˆเบฐเบ–เบทเบเบ™เปเบฒเบกเบฒ, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฅเบฐเบšเบธเบ—เบฒเบ‡เป€เบฅเบทเบญเบ strict_address เปƒเบ™เบžเบฒเบเบŸเบฑเบ‡; เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบžเบตเปˆเบกเบซเบ™เปˆเบงเบ racoon เบเบฑเบšเป„เบŸเบฅเปŒ systemd.
/lib/systemd/system/racoon.service, เปƒเบ™เบžเบฒเบ [Unit], line 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 เบ—เบตเปˆเบกเบฑเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ” encapsulate multicast เปเบฅเบฐเปƒเบชเปˆ fwmarks เปƒเบ™เบŠเบญเบ‡, เป‚เบ”เบเบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบฑเปˆเบ™เบ•เบญเบ‡เปƒเบ™ iptables เปเบฅเบฐ iproute2 (เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆเบ™เบฐเป‚เบเบšเบฒเบ). เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบŸเบฑเบ‡เบŠเบฑเบ™เบชเบนเบ‡เบชเบธเบ”, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, GRE. เปเบ•เปˆเบขเปˆเบฒเบฅเบทเบกเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเปˆเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ—เบตเปˆเบกเบตเบซเบปเบง overhead เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ.

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบเบฒเบ™เปเบ›เบžเบฒเบชเบฒเบ‚เบญเบ‡เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบ—เบตเปˆเบ”เบตเบ‚เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš tunnel เบ—เบตเปˆเบ™เบตเป‰.

เปƒเบ™ 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 เปเบฅเบฐเบ”เบถเบ‡เบกเบฑเบ™เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบ•เบญเบšเบ‚เบถเป‰เบ™, เบขเปˆเบฒเบฅเบทเบกเบเปˆเบฝเบงเบเบฑเบšเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เป„เบŸเบฅเปŒ, เบชเบดเบ”เบ—เบดเปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰.

เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เปเบกเปˆเบ™เป„เบŸเบฅเปŒเบ•เบปเบงเบขเปˆเบฒเบ‡

#!/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" - "เบ—เบปเปˆเบงเป„เบ›"
Parameter
เบกเบนเบ™เบ„เปˆเบฒ

เบŠเบทเปˆ
เบ•เบฒเบกเบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™ (เบ•เปเปˆเป„เบ›เบ™เบตเป‰เป€เบญเบตเป‰เบ™เบงเปˆเบฒ IPIP-IPsec0)

เบšเบธเบเบ„เบปเบ™
1480 (เบ–เป‰เบฒเบšเปเปˆเบฅเบฐเบšเบธ, mikrotik เป€เบฅเบตเปˆเบกเบ•เบฑเบ” mtu เป€เบ›เบฑเบ™ 68)

เบ—เบตเปˆเบขเบนเปˆเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™
192.168.0.2

เบ—เบตเปˆเบขเบนเปˆเบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบ
192.168.0.1

เบ„เบงเบฒเบกเบฅเบฑเบš IPsec
เบ›เบดเบ”เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™ (เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบฐเบชเป‰เบฒเบ‡ Peer เปƒเปเปˆ)

เบฎเบฑเบโ€‹เบชเบฒโ€‹เบŠเบตโ€‹เบงเบดเบ”
เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบก (เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบˆเบฐเบ›เบดเบ”เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, เป€เบžเบฒเบฐเบงเปˆเบฒ mikrotika เบกเบตเบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เบชเปเบฒเบฅเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบฅเบฐเปƒเบŠเป‰เบšเปเปˆเป„เบ”เป‰เบเบฑเบš Linux)

DSCP
เบกเบนเบ™เบกเปเบฅเบฐเบ”เบปเบ

เบšเปเปˆ Fragment
no

Clamp TCP MSS
เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡

เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบง
เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡

เบžเบฒเบเบชเปˆเบงเบ™ "IP" - "เบ—เบตเปˆเบขเบนเปˆ", เป€เบžเบตเปˆเบกเบ—เบตเปˆเบขเบนเปˆ:

Parameter
เบกเบนเบ™เบ„เปˆเบฒ

เบ—เบตเปˆเบขเบนเปˆ
192.168.0.2/30

เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš
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

เบ‚เป‰เบญเบเบกเบต 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 เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป„เบ”เป‰เป€เบ›เบตเบ”เปƒเบŠเป‰เบ•เบปเบงเบเบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”.

เบญเบงเบเบžเบญเบ™เบ—เปˆเบฒเบ™!

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™