NAT เจชเฉเจฐเจฆเจพเจคเจพ เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจฒเฉ€เจจเจ•เจธ เจฎเจธเจผเฉ€เจจ เจ…เจคเฉ‡ เจฎเจฟเจ•เจฐเฉ‹เจŸเจฟเจ• เจตเจฟเจšเจ•เจพเจฐ IPIP IPsec VPN เจธเฉเจฐเฉฐเจ—

เจฒเฉ€เจจเจ•เจธ: เจ‰เจฌเฉฐเจŸเฉ‚ 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 เจธเฉเจฐเฉฐเจ— เจฌเจฃเจพเจตเจพเจ‚เจ—เฉ‡เฅค เจฎเฉˆเจ‚ เจตเฉ‡เจฐเจตเจฟเจ†เจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เจพ, เจ‡เฉฑเจ• เจšเฉฐเจ—เจพ เจนเฉˆ เจฒเฉ‡เจ– ัƒ vvpoloskin.

เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจชเฉˆเจ•เฉ‡เจœ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹:

sudo install racoon ipsec-tools

เจ…เจธเฉ€เจ‚ เจฐเฉˆเจ•เฉ‚เจจ เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ‡เจน เจธเจผเจฐเจค เจ…เจจเฉเจธเจพเจฐ เจ‡เฉฑเจ• ipsec เจธเจฐเจตเจฐ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเฉ‡เจ—เจพเฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเจพเจˆเจ•เจฐเฉ‹เจŸเจฟเจ• เจฎเฉเฉฑเจ– เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจ•เจฒเจพเจ‡เฉฐเจŸ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจจเฉ‚เฉฐ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจฌเจพเจนเจฐเฉ€ IP เจชเจคเจพ เจœเจฟเจธ เจฐเจพเจนเฉ€เจ‚ เจ‡เจน เจฒเฉ€เจจเจ•เจธ เจจเจพเจฒ เจœเฉเฉœเจฆเจพ เจนเฉˆ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจนเฉˆ, เจ‡เฉฑเจ• เจชเฉเจฐเฉ€เจธเจผเฉ‡เจ…เจฐเจก เจ•เฉเฉฐเจœเฉ€ (เจชเจพเจธเจตเจฐเจก เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจจ) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจชเจพเจธเจตเจฐเจก เจจเฉ‚เฉฐ เจœเจพเจ‚ เจคเจพเจ‚ เจฆเฉ‡ IP เจชเจคเฉ‡ เจจเจพเจฒ เจฎเฉ‡เจฒ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ•เจจเฉˆเจ•เจŸเจฟเฉฐเจ— เจนเฉ‹เจธเจŸ, เจœเจพเจ‚ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจจเจพเจฒเฅค

เจ…เจธเฉ€เจ‚ RSA เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ…เจงเจฟเจ•เจพเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค

เจฐเฉˆเจ•เฉ‚เจจ เจกเฉˆเจฎเจจ RSA เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจฎเจพเจˆเจ•เจฐเฉ‹เจŸเจฟเจ• PEM เจซเจพเจฐเจฎเฉˆเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจฐเฉˆเจ•เฉ‚เจจ เจฆเฉ‡ เจจเจพเจฒ เจ†เจ‰เจ‚เจฆเฉ€ เจชเจฒเฉ‡เจจเจฐเจธเจพ-เจœเจจ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจคเจฟเจ†เจฐ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจฆเฉ€ เจฎเจฆเจฆ เจจเจพเจฒ เจฎเจฟเจ•เจฐเฉ‹เจŸเจฟเจ•เจพ เจฒเจˆ เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ PEM เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‹เจ—เฉ‡ - เจ‡เจน เจ•เฉ‡เจตเจฒ เจ‡เฉฑเจ• เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฆเจพ เจนเฉˆ: PEM เจคเฉ‹เจ‚ RSAเฅค เจจเจพ เจคเจพเจ‚ openssl เจ…เจคเฉ‡ เจจเจพ เจนเฉ€ ssh-keygen plainrsa-gen เจฆเฉเจ†เจฐเจพ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจชเฉœเฉเจน เจธเจ•เจฆเฉ‡ เจนเจจ, เจ‡เจธเจฒเจˆ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฐเฉ‚เจชเจพเจ‚เจคเจฐเจจ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจ…เจธเฉ€เจ‚ openssl เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‡เฉฑเจ• PEM เจ•เฉเฉฐเจœเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐเจพเจ‚เจ—เฉ‡ เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‡เจธเจจเฉ‚เฉฐ plainrsa-gen เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ racoon เจฒเจˆ เจฌเจฆเจฒเจพเจ‚เจ—เฉ‡:

#  ะ“ะตะฝะตั€ะธั€ัƒะตะผ ะบะปัŽั‡
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. เจ‰เจธ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจฎเจพเจฒเจ• เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉ‹ เจœเจฟเจธ เจฆเฉ‡ เจจเจพเจฎ เจนเฉ‡เจ  เจฐเฉˆเจ•เฉ‚เจจ เจกเฉˆเจฎเจจ (เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจฐเฉ‚เจŸ) เจจเฉ‚เฉฐ 600 เจ…เจจเฉเจฎเจคเฉ€เจ†เจ‚ 'เจคเฉ‡ เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

WinBox เจฐเจพเจนเฉ€เจ‚ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจฎเฉˆเจ‚ เจฎเจพเจˆเจ•เจฐเฉ‹เจŸเจฟเจ• เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจพเจ‚เจ—เจพเฅค

เจธเจฐเจตเจฐ-name.pub.pem เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจŸเจฟเจ• 'เจคเฉ‡ เจ…เฉฑเจชเจฒเฉ‹เจก เจ•เจฐเฉ‹: เจฎเฉ€เจจเฉ‚ "เจซเจพเจ‡เจฒเจพเจ‚" - "เจ…เฉฑเจชเจฒเฉ‹เจก"เฅค

โ€œIPโ€ เจญเจพเจ— - โ€œIP เจธเจ•เจฟเฉฐเจŸโ€ - โ€œเจ•เฉเฉฐเจœเฉ€เจ†เจ‚โ€ เจŸเฉˆเจฌ เจ–เฉ‹เจฒเฉเจนเฉ‹เฅค เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจคเจฟเจ†เจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ - โ€œเจ•เฉเฉฐเจœเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐเฉ‹โ€ เจฌเจŸเจจ, เจซเจฟเจฐ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจŸเจฟเจ•เจพ เจชเจฌเจฒเจฟเจ• เจ•เฉเฉฐเจœเฉ€ โ€œเจเจ•เจธเจชเฉ‹เจฐ เจชเจฌโ€ เจจเฉ‚เฉฐ เจจเจฟเจฐเจฏเจพเจค เจ•เจฐเฉ‹เฅค เจ•เฉเฉฐเจœเฉ€", เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ "เจซเจพเจˆเจฒเจพเจ‚" เจญเจพเจ— เจคเฉ‹เจ‚ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจซเจพเจˆเจฒ 'เจคเฉ‡ เจธเฉฑเจœเจพ-เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹ - "เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเฉ‹"เฅค

เจ…เจธเฉ€เจ‚ "เจซเจพเจ‡เจฒ เจจเจพเจฎ" เจซเฉ€เจฒเจก เจฆเฉ€ เจกเฉเจฐเฉŒเจช-เจกเจพเจ‰เจจ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจฐเฉˆเจ•เฉ‚เจจ เจชเจฌเจฒเจฟเจ• เจ•เฉเฉฐเจœเฉ€, "เจ†เจฏเจพเจค" เจจเฉ‚เฉฐ เจ†เจฏเจพเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ เจธเจฐเจตเจฐ-name.pub.pem เจจเฉ‚เฉฐ เจฒเฉฑเจญเจฆเฉ‡ เจนเจพเจ‚เฅค

เจฎเจพเจˆเจ•เจฐเฉ‹เจŸเจฟเจ• เจชเจฌเจฒเจฟเจ• เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ

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"

"เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ" เจŸเฉˆเจฌ
เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ
เจฎเฉเฉฑเจฒ

เจจเจพเจฎ
เจคเฉเจนเจพเจกเฉ‡ เจตเจฟเจตเฉ‡เจ• 'เจคเฉ‡ (เจกเจฟเจซเฉŒเจฒเจŸ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš)

เจนเฉˆเจธเจผ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ
sha512

เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ
aes-128

DH-เจธเจฎเฉ‚เจน
modp2048

เจชเฉเจฐเจธเจคเจพเจต_เจšเฉˆเฉฑเจ•
เจฆเจพเจ…เจตเจพ

เจฒเจพเจˆเจซเจŸเจพเจˆเจฎ
1d 00:00:00

NAT เจŸเฉเจฐเฉˆเจตเจฐเจธเจฒ
เจธเจนเฉ€ (เจฌเจพเจ•เจธ 'เจคเฉ‡ เจจเจฟเจธเจผเจพเจจ เจฒเจ—เจพเจ“)

DPD
120

DPD เจ…เจงเจฟเจ•เจคเจฎ เจ…เจธเจซเจฒเจคเจพ
5

เจชเฉ€เจ…เจฐ เจŸเฉˆเจฌ
เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ
เจฎเฉเฉฑเจฒ

เจจเจพเจฎ
เจคเฉเจนเจพเจกเฉ€ เจฎเจฐเจœเจผเฉ€ เจ…เจจเฉเจธเจพเจฐ (เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฎเจพเจˆเจชเฉ€เจ…เจฐ เจตเจœเฉ‹เจ‚ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ)

เจฆเจพ เจชเจคเจพ
1.1.1.1 (IP Linux เจฎเจธเจผเฉ€เจจเจพเจ‚)

เจธเจฅเจพเจจเจ• เจชเจคเจพ
10.0.0.2 (IP WAN เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจŸเจฟเจ•)

เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ
เจฎเฉ‚เจฒ

เจเจ•เจธเจšเฉ‡เจœเจผ เจฎเฉ‹เจก
เจฎเฉเฉฑเจ–

เจชเฉˆเจธเจฟเจต
เจเฉ‚เจ เฉ‡

INITIAL_CONTACT เจญเฉ‡เจœเฉ‹
เจ‡เจน เจธเฉฑเจš เจนเฉˆ,

เจชเฉเจฐเจธเจคเจพเจต เจŸเฉˆเจฌ
เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ
เจฎเฉเฉฑเจฒ

เจจเจพเจฎ
เจคเฉเจนเจพเจกเฉ€ เจฎเจฐเจœเจผเฉ€ 'เจคเฉ‡ (เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ MyPeerProposal เจตเจœเฉ‹เจ‚ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ)

เจชเฉเจฐเจฎเจพเจฃเฅค เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ
sha512

เจเจจ.เจธเฉ€.เจ†เจฐ. เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ
aes-128-cbc

เจฒเจพเจˆเจซเจŸเจพเจˆเจฎ
08:00:00

PFS เจธเจฎเฉ‚เจน
modp2048

"เจชเจ›เจพเจฃ" เจŸเฉˆเจฌ
เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ
เจฎเฉเฉฑเจฒ

เจชเฉ€เจ…เจฐ
เจฎเจพเจˆเจชเฉ€เจ…เจฐ

เจ…เจคเฉเจนเฅค เจตเจฟเจงเฉ€
rsa เจ•เฉเฉฐเจœเฉ€

เจ•เฉเฉฐเจœเฉ€
mikrotik.privet.key

เจฐเจฟเจฎเฉ‹เจŸ เจ•เฉเฉฐเจœเฉ€
server-name.pub.pem

เจจเฉ€เจคเฉ€ เจŸเฉˆเจฎเจชเจฒเฉ‡เจŸ เจ—เจฐเฉเฉฑเจช
เจฎเฉ‚เจฒ

เจจเฉ‹เจŸเจŸเฉเจฐเฉˆเจ• เจšเฉ‡เจจ
เจ–เจพเจฒเฉ€

เจฎเฉ‡เจฐเฉ€ ID เจ•เจฟเจธเจฎ
เจ•เจพเจฐ

เจฐเจฟเจฎเฉ‹เจŸ ID เจ•เจฟเจธเจฎ
เจ•เจพเจฐ

เจฆเฉเจ†เจฐเจพ เจฎเฉˆเจš
เจฐเจฟเจฎเฉ‹เจŸ เจ†เจˆ.เจกเฉ€

เจฎเฉ‹เจก เจธเฉฐเจฐเจšเจจเจพ
เจ–เจพเจฒเฉ€

เจจเฉ€เจคเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐเฉ‹
เจจเจนเฉ€เจ‚

เจŸเฉˆเจฌ "เจจเฉ€เจคเฉ€เจ†เจ‚ - เจœเจจเจฐเจฒ"
เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ
เจฎเฉเฉฑเจฒ

เจชเฉ€เจ…เจฐ
เจฎเจพเจˆเจชเฉ€เจ…เจฐ

เจธเฉเจฐเฉฐเจ—
เจ‡เจน เจธเฉฑเจš เจนเฉˆ,

เจเจธ.เจ†เจฐ.เจธเฉ€. เจชเจคเจพ
192.168.0.0/30

เจฎเฉฐเจœเจผเจฟเจฒเฅค เจชเจคเจพ
192.168.0.0/30

เจชเจฐเฉ‹เจŸเฉ‹เจ•เจพเจฒ
255 (เจธเจพเจฐเฉ‡)

เจซเจฐเจฎเจพ
เจเฉ‚เจ เฉ‡

เจŸเฉˆเจฌ "เจจเฉ€เจคเฉ€เจ†เจ‚ - เจ•เจพเจฐเจตเจพเจˆ"
เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ
เจฎเฉเฉฑเจฒ

เจเจ•เจธเจผเจจ
เจเจจเจ•เฉเจฐเจฟเจชเจŸ

เจชเฉฑเจงเจฐ
เจฒเฉ‹เฉœ เจนเฉˆ

IPsec เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ
esp

เจชเฉเจฐเจธเจคเจพเจต
MyPeerProposal

เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจธเฉฐเจญเจพเจตเจค เจคเฉŒเจฐ 'เจคเฉ‡, เจฎเฉ‡เจฐเฉ‡ เจตเจพเจ‚เจ—, เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ WAN เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ 'เจคเฉ‡ snat/masquerade เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเจพ เจนเฉˆ; เจ‡เจธ เจจเจฟเจฏเจฎ เจจเฉ‚เฉฐ เจเจกเจœเจธเจŸ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจคเจพเจ‚ เจ•เจฟ เจฌเจพเจนเจฐ เจœเจพเจฃ เจตเจพเจฒเฉ‡ ipsec เจชเฉˆเจ•เฉ‡เจŸ เจธเจพเจกเฉ€ เจธเฉเจฐเฉฐเจ— เจตเจฟเฉฑเจš เจšเจฒเฉ‡ เจœเจพเจฃ:
"IP" - "เจซเจพเจ‡เจฐเจตเจพเจฒ" เจญเจพเจ— 'เจคเฉ‡ เจœเจพเจ“เฅค
"NAT" เจŸเฉˆเจฌ, เจธเจพเจกเฉ‡ snat/masquerade เจจเจฟเจฏเจฎ เจจเฉ‚เฉฐ เจ–เฉ‹เจฒเฉเจนเฉ‹เฅค

เจ‰เฉฑเจจเจค เจŸเฉˆเจฌ
เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ
เจฎเฉเฉฑเจฒ

IPsec เจจเฉ€เจคเฉ€
เจฌเจพเจนเจฐ: เจ•เฉ‹เจˆ เจจเจนเฉ€เจ‚

เจฐเฉ‡เจ•เฉ‚เจจ เจญเฉ‚เจค เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเจจเจพ

sudo systemctl restart racoon

เจœเฉ‡เจ•เจฐ เจฐเฉ‡เจ•เฉ‚เจจ เจฐเฉ€เจธเจŸเจพเจฐเจŸ เจนเฉ‹เจฃ 'เจคเฉ‡ เจธเจผเฉเจฐเฉ‚ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจนเฉˆ; syslog เจตเจฟเฉฑเจš, racoon เจ‰เจธ เจฒเจพเจˆเจจ เจจเฉฐเจฌเจฐ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ—เจฒเจคเฉ€ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€เฅค

เจœเจฆเฉ‹เจ‚ OS เจฌเฉ‚เจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธเจพเจ‚ เจฆเฉ‡ เจธเจพเจนเจฎเจฃเฉ‡ เจ†เจ‰เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจฐเฉˆเจ•เฉ‚เจจ เจกเฉˆเจฎเจจ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจธเฉเจฃเจจ เจตเจพเจฒเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš strict_address เจตเจฟเจ•เจฒเจช เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจ•เฉ€เจคเจพ เจนเฉˆ; เจคเฉเจนเจพเจจเฉ‚เฉฐ racoon เจฏเฉ‚เจจเจฟเจŸ เจจเฉ‚เฉฐ systemd เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค
/lib/systemd/system/racoon.service, [เจฏเฉ‚เจจเจฟเจŸ] เจญเจพเจ— เจตเจฟเฉฑเจš, เจฒเจพเจˆเจจ 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 เจคเฉ‹เจ‚ เจตเฉฑเจ–เจฐเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจฎเจฒเจŸเฉ€เจ•เจพเจธเจŸ เจจเฉ‚เฉฐ เจœเฉ‹เฉœ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจชเฉˆเจ•เฉ‡เจŸเจพเจ‚ 'เจคเฉ‡ fwmarks เจชเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจฆเฉเจ†เจฐเจพ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ iptables เจ…เจคเฉ‡ iproute2 (เจจเฉ€เจคเฉ€-เจ…เจงเจพเจฐเจค เจฐเฉ‚เจŸเจฟเฉฐเจ—) เจตเจฟเฉฑเจš เจซเจฟเจฒเจŸเจฐ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจœเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ, เจคเจพเจ‚, เจ‰เจฆเจพเจนเจฐเจฃ เจตเจœเฉ‹เจ‚, เจœเฉ€.เจ†เจฐ.เจˆ. เจชเจฐ เจ‡เจน เจจเจพ เจญเฉเฉฑเจฒเฉ‹ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเฉฑเจกเฉ‡ เจ“เจตเจฐเจนเฉˆเฉฑเจก เจธเจฟเจฐ เจฆเฉ‡ เจจเจพเจฒ เจตเจพเจงเฉ‚ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจฒเจˆ เจญเฉเจ—เจคเจพเจจ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค

เจคเฉเจธเฉ€เจ‚ เจธเฉเจฐเฉฐเจ— เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฆเฉ€ เจ‡เฉฑเจ• เจšเฉฐเจ—เฉ€ เจธเจฎเฉ€เจ–เจฟเจ† เจฆเจพ เจ…เจจเฉเจตเจพเจฆ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ‡เฉฑเจฅเฉ‡.

เจฒเฉ€เจจเจ•เจธ 'เจคเฉ‡:

# ะกะพะทะดะฐะตะผ ะธะฝั‚ะตั€ั„ะตะนั
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

เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจŸเจฟเจ• เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจพเจ‚ เจฒเจˆ เจฐเฉ‚เจŸ เจœเฉ‹เฉœ เจธเจ•เจฆเฉ‡ เจนเฉ‹

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

เจฎเจพเจˆเจ•เจฐเฉ‹เจŸเจฟเจ• 'เจคเฉ‡:

เจธเฉˆเจ•เจธเจผเจจ โ€œเจ‡เฉฐเจŸเจฐเจซเฉ‡เจธโ€, เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ โ€œIP เจธเฉเจฐเฉฐเจ—โ€ เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹:

เจŸเฉˆเจฌ "IP เจธเฉเจฐเฉฐเจ—" - "เจ†เจฎ"
เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ
เจฎเฉเฉฑเจฒ

เจจเจพเจฎ
เจคเฉเจนเจพเจกเฉ€ เจฎเจฐเจœเจผเฉ€ เจ…เจจเฉเจธเจพเจฐ (เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ IPIP-IPsec0 เจตเจœเฉ‹เจ‚ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ)

MTU
1480 (เจœเฉ‡เจ•เจฐ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจฎเจฟเจ•เจฐเฉ‹เจŸเจฟเจ• เจเจฎเจŸเฉ€เจฏเฉ‚ เจจเฉ‚เฉฐ 68 เจคเฉฑเจ• เจ•เฉฑเจŸเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ)

เจธเจฅเจพเจจเจ• เจชเจคเจพ
192.168.0.2

เจฐเจฟเจฎเฉ‹เจŸ เจชเจคเจพ
192.168.0.1

IPsec เจ—เฉเจชเจค
เจ–เฉ‡เจคเจฐ เจจเฉ‚เฉฐ เจ…เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ เจ•เจฐเฉ‹ (เจจเจนเฉ€เจ‚ เจคเจพเจ‚ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจชเฉ€เจ…เจฐ เจฌเจฃเจพเจ‡เจ† เจœเจพเจตเฉ‡เจ—เจพ)

เจ•เฉ€เจชเจฒเจฟเจต
เจซเฉ€เจฒเจก เจจเฉ‚เฉฐ เจ…เจฏเฉ‹เจ— เจ•เจฐเฉ‹ (เจจเจนเฉ€เจ‚ เจคเจพเจ‚ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฒเจ—เจพเจคเจพเจฐ เจฌเฉฐเจฆ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจŸเจฟเจ•เจพ เจฆเจพ เจ‡เจนเจจเจพเจ‚ เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจฒเจˆ เจ†เจชเจฃเจพ เจซเจพเจฐเจฎเฉˆเจŸ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจฒเฉ€เจจเจ•เจธ เจจเจพเจฒ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ)

เจกเฉ€เจเจธเจธเฉ€เจชเฉ€
เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹

เจŸเฉเจ•เฉœเฉ‡ เจจเจพ เจ•เจฐเฉ‹
เจจเจนเฉ€เจ‚

เจ•เจฒเฉˆเจ‚เจช TCP MSS
เจ‡เจน เจธเฉฑเจš เจนเฉˆ,

เจคเฉ‡เจœเจผ เจฎเจพเจฐเจ— เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเจ“
เจ‡เจน เจธเฉฑเจš เจนเฉˆ,

เจธเฉˆเจ•เจธเจผเจจ โ€œIPโ€ - โ€œเจชเจคเฉ‡โ€, เจชเจคเจพ เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹:

เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ
เจฎเฉเฉฑเจฒ

เจฆเจพ เจชเจคเจพ
192.168.0.2/30

เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ
IPIP-IPsec0

เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจฒเฉ€เจจเจ•เจธ เจฎเจธเจผเฉ€เจจ เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจตเจฟเฉฑเจš เจฐเฉ‚เจŸ เจœเฉ‹เฉœ เจธเจ•เจฆเฉ‡ เจนเฉ‹; เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจฐเฉ‚เจŸ เจœเฉ‹เฉœเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ—เฉ‡เจŸเจตเฉ‡ เจธเจพเจกเจพ IPIP-IPsec0 เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

PS

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจพเจกเจพ เจฒเฉ€เจจเจ•เจธ เจธเจฐเจตเจฐ เจชเจฐเจฟเจตเจฐเจคเจจเจธเจผเฉ€เจฒ เจนเฉˆ, เจ‡เจธ 'เจคเฉ‡ ipip เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธเจพเจ‚ เจฒเจˆ เจ•เจฒเฉˆเจ‚เจช TCP MSS เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ เจธเจฎเจเจฆเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ:

เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจธเจฎเฉฑเจ—เจฐเฉ€เจ†เจ‚ เจจเจพเจฒ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ /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 เจตเจฟเฉฑเจš
เจชเฉ‹เจธเจŸ-เจ…เฉฑเจช iptables-restore < /etc/iptables.conf

เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจŸเจฟเจ• (ip 10.10.10.1) เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจจเฉˆเจŸเจตเจฐเจ• เจคเฉ‡ เจšเฉฑเจฒ เจฐเจฟเจนเจพ nginx เจนเฉˆ, เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ เจคเฉ‹เจ‚ เจชเจนเฉเฉฐเจšเจฏเฉ‹เจ— เจฌเจฃเจพเจ“, เจ‡เจธเจจเฉ‚เฉฐ /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

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹