ipipou: เบซเบผเบฒเบเบเปˆเบงเบฒเบžเบฝเบ‡เปเบ•เปˆเบญเบธเป‚เบกเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”

เบžเบงเบเป€เบฎเบปเบฒเป€เบงเบปเป‰เบฒเบซเบเบฑเบ‡เบเบฑเบšเบžเบฃเบฐเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡ IPv6?

ipipou: เบซเบผเบฒเบเบเปˆเบงเบฒเบžเบฝเบ‡เปเบ•เปˆเบญเบธเป‚เบกเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”
เบ–เบทเบเบ•เป‰เบญเบ‡เปเบฅเป‰เบง, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบงเบปเป‰เบฒเปเบšเบšเบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบžเบฃเบฐเป€เบˆเบปเป‰เบฒเปเบซเปˆเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เปƒเบ™เบกเบทเป‰เบ™เบตเป‰.

เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบญเบธเป‚เบกเบ‡ IPv4 เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบเปˆเบฝเบงเบเบฑเบš "เป‚เบ„เบกเป„เบŸเบ—เบตเปˆเบญเบปเบšเบญเบธเปˆเบ™", เปเบ•เปˆเบเปˆเบฝเบงเบเบฑเบš "LED" เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก. เปเบฅเบฐเบเบฑเบ‡เบกเบตเป€เบ•เบปเป‰เบฒเบชเบฝเบšเบ”เบดเบšเบ—เบตเปˆเบเบฐเบžเบดเบšเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰, เปเบฅเบฐเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบขเบนเปˆเบเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ”เปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰.

เบกเบต N tunneling protocols เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบฅเบปเบ”เบŠเบฒเบ” เปเบฅเบฐเบชเบต:

  • stylish, เบ„เบปเบ™เบญเบฑเบšเป€เบ”เบ”:, เป„เบงเบซเบ™เบธเปˆเบก WireGuard
  • multifunctional, เป€เบŠเบฑเปˆเบ™เบกเบตเบ”เบชเบฐเบงเบดเบ”, OpenVPN เปเบฅเบฐ SSH
  • GRE เป€เบเบปเปˆเบฒเปเบฅเบฐเบšเปเปˆเบŠเบปเปˆเบงเบฎเป‰เบฒเบ
  • IPIP เบ—เบตเปˆโ€‹เบ‡เปˆเบฒเบโ€‹เบ”เบฒเบโ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹, เป„เบงโ€‹, เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เบซเบกเบปเบ”โ€‹
  • เบžเบฑเบ”เบ—เบฐเบ™เบฒเบขเปˆเบฒเบ‡เบซเป‰เบฒเบงเบซเบฑเบ™ GENEVE
  • เบญเบทเปˆเบ™เป†เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ.

เปเบ•เปˆเบ‚เป‰เบญเบเป€เบ›เบฑเบ™เบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเบˆเบฐเป€เบžเบตเปˆเบก N เบžเบฝเบ‡เปเบ•เปˆเบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡, เปเบฅเบฐเบญเบญเบเบˆเบฒเบเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ›เป‚เบ•เบ„เบญเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เปƒเบซเป‰เบเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ Kommersant.

เปƒเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป€เบเบตเบ” เบฎเปˆเบฒเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบเบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบ•เบญเบ™เบ™เบตเป‰เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเบซเบฒเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ—เบตเปˆเบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบซเบผเบฑเบ‡ NAT เบˆเบฒเบเบžเบฒเบเบ™เบญเบ. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป‚เบ›เป‚เบ•เบ„เบญเบ™เบ—เบตเปˆเบกเบต cryptography เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบซเบเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เบชเบฑเปˆเบ™เบ„เบงเบฒเบกเบฎเบนเป‰เบชเบถเบเบงเปˆเบฒเบกเบฑเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเบเบฒเบ™เบเบดเบ‡เบ™เบปเบเบเบฐเบˆเบญเบเบญเบญเบเบˆเบฒเบเบ›เบทเบ™เปƒเบซเบเปˆ. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ เบญเบธเป‚เบกเบ‡เปเบกเปˆเบ™เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆเป€เบžเบทเปˆเบญเป€เบˆเบฒเบฐเบฎเบนเปƒเบ™ NAT-e, เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบžเบฒเบเปƒเบ™เบกเบฑเบเบˆเบฐเบ–เบทเบเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”, เปเบ•เปˆเบžเบงเบเบกเบฑเบ™เบเบฑเบ‡เบˆเบปเบกเบขเบนเปˆเปƒเบ™ HTTPS.

เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบเบฒเบ™เบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเบเปˆเบฝเบงเบเบฑเบš tunneling protocols เบ•เปˆเบฒเบ‡เป†, เบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡ perfectionist เบžเบฒเบเปƒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเป„เบ”เป‰เบ–เบทเบเบ”เบถเบ‡เบ”เบนเบ”เป€เบญเบปเบฒ IPIP เป€เบฅเบทเป‰เบญเบเป†เบเป‰เบญเบ™เบเบฒเบ™ overhead เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”. เปเบ•เปˆเบกเบฑเบ™เบกเบตเบ‚เปเป‰เบšเบปเบเบœเปˆเบญเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบซเบ™เบถเปˆเบ‡เปเบฅเบฐเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ:

  • เบกเบฑเบ™เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบต IP เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ—เบฑเบ‡เบชเบญเบ‡เบ”เป‰เบฒเบ™,
  • เปเบฅเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™.

เป€เบžเบฒเบฐเบชเบฐเบ™เบฑเป‰เบ™, เบœเบนเป‰เบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เปเบšเบšเป„เบ”เป‰เบ–เบทเบเบ‚เบฑเบšเป„เบฅเปˆเบเบฑเบšเบ„เบทเบ™เบชเบนเปˆเบกเบธเบกเบกเบทเบ”เบ‚เบญเบ‡เบเบฐเป‚เบซเบผเบเบซเบปเบง, เบซเบผเบทเบšเปˆเบญเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เบตเปˆเบฅเบฒเบงเบ™เบฑเปˆเบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™.

เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบทเป‰เบซเบ™เบถเปˆเบ‡, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบญเปˆเบฒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบเปˆเบฝเบงเบเบฑเบš เบญเบธเป‚เบกเบ‡เบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบšเป‚เบ”เบเบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡ เปƒเบ™ Linux เบ‚เป‰เบญเบเป„เบ”เป‰เบ‚เป‰เบฒเบก FOU (Foo-over-UDP), i.e. เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบซเปเปˆเบขเบนเปˆเปƒเบ™ UDP. เบกเบฒเบฎเบญเบ”เบ›เบฐเบˆเบธเบšเบฑเบ™, เบฎเบญเบ‡เบฎเบฑเบšเบžเบฝเบ‡เปเบ•เปˆ IPIP เปเบฅเบฐ GUE (Generic UDP Encapsulation) เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.

โ€œเบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบฅเบนเบโ€‹เบ›เบทเบ™โ€‹เป€เบ‡เบดเบ™! IPIP เบ‡เปˆเบฒเบเป†เปเบกเปˆเบ™เบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบญเบ.โ€ - เบ‚เป‰เบญเบโ€‹เบ„เบดเบ”โ€‹เบงเปˆเบฒ.

เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบฅเบนเบเบ›เบทเบ™เป„เบ”เป‰เบซเบฑเบ™เบญเบญเบเบšเปเปˆเปเบกเปˆเบ™เป€เบ‡เบดเบ™เบซเบกเบปเบ”. Encapsulation เปƒเบ™ UDP เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เปเบฒเบญเบดเบ” - เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบซเบฅเบฑเบ‡ NAT เบˆเบฒเบเบžเบฒเบเบ™เบญเบเป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบ•เบฑเป‰เบ‡เป„เบงเป‰เบเปˆเบญเบ™, เปเบ•เปˆเบ™เบตเป‰เป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบ‚เปเป‰เบšเบปเบเบœเปˆเบญเบ‡เบ•เปเปˆเป„เบ›เบ‚เบญเบ‡เบ”เบญเบเป„เบกเป‰ IPIP เปƒเบ™เปเบชเบ‡เบชเบฐเบซเบงเปˆเบฒเบ‡เปƒเบซเบกเปˆ - เบœเบนเป‰เปƒเบ”เบˆเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบชเปˆเบงเบ™เบ•เบปเบงเบชเบฒเบกเบฒเบ”เบŠเปˆเบญเบ™เบขเบนเปˆเบซเบฅเบฑเบ‡เบ—เบตเปˆเป€เบšเบดเปˆเบ‡เป€เบซเบฑเบ™เป„เบ”เป‰. IP เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเปเบฅเบฐเบžเบญเบ”เบฅเบนเบเบ„เป‰เบฒ (เปƒเบ™ IPIP เบšเปเบฅเบดเบชเบธเบ”เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เบšเปเปˆเบกเบต).

เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบซเบ™เบถเปˆเบ‡เปเบฅเบฐเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ™เบตเป‰, เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เป„เบ”เป‰เป€เบเบตเบ”เบกเบฒ ipipou. เบกเบฑเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบปเบ™เป„เบเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบšเป‰เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™ host เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบ, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบฅเบปเบšเบเบงเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡ kernel FOU, เป€เบŠเบดเปˆเบ‡เบˆเบฐเป„เบงเปเบฅเบฐเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เปเบžเบฑเบเป€เบเบฑเบ”เปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆ kernel.

เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™ script เบ‚เบญเบ‡เบ—เปˆเบฒเบ™!

เบ•เบปเบเบฅเบปเบ‡, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบฎเบนเป‰เบžเบญเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเปเบฅเบฐ IP เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เบธเบเบ„เบปเบ™เบ—เบตเปˆเบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบซเบผเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เป„เบ›เบšเปˆเบญเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบก, NAT เบžเบฐเบเบฒเบเบฒเบกเบชเป‰เบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบžเบญเบ” 1-in-1), เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบญเบธเป‚เบกเบ‡ IPIP-over-FOU เบ”เป‰เบงเบ. เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบ„เปเบฒเบชเบฑเปˆเบ‡, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบชเบฐเบ„เบดเบšเปƒเบ”เป†.

เปƒเบ™เป€เบŠเบตเบšเป€เบงเบต:

# ะŸะพะดะณั€ัƒะทะธั‚ัŒ ะผะพะดัƒะปัŒ ัะดั€ะฐ FOU
modprobe fou

# ะกะพะทะดะฐั‚ัŒ IPIP ั‚ัƒะฝะฝะตะปัŒ ั ะธะฝะบะฐะฟััƒะปัั†ะธะตะน ะฒ FOU.
# ะœะพะดัƒะปัŒ ipip ะฟะพะดะณั€ัƒะทะธั‚ัั ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะธ.
ip link add name ipipou0 type ipip 
    remote 198.51.100.2 local 203.0.113.1 
    encap fou encap-sport 10000 encap-dport 20001 
    mode ipip dev eth0

# ะ”ะพะฑะฐะฒะธั‚ัŒ ะฟะพั€ั‚ ะฝะฐ ะบะพั‚ะพั€ะพะผ ะฑัƒะดะตั‚ ัะปัƒัˆะฐั‚ัŒ FOU ะดะปั ัั‚ะพะณะพ ั‚ัƒะฝะฝะตะปั
ip fou add port 10000 ipproto 4 local 203.0.113.1 dev eth0

# ะะฐะทะฝะฐั‡ะธั‚ัŒ IP ะฐะดั€ะตั ั‚ัƒะฝะฝะตะปัŽ
ip address add 172.28.0.0 peer 172.28.0.1 dev ipipou0

# ะŸะพะดะฝัั‚ัŒ ั‚ัƒะฝะฝะตะปัŒ
ip link set ipipou0 up

เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบฅเบนเบโ€‹เบ„เป‰เบฒโ€‹:

modprobe fou

ip link add name ipipou1 type ipip 
    remote 203.0.113.1 local 192.168.0.2 
    encap fou encap-sport 10001 encap-dport 10000 encap-csum 
    mode ipip dev eth0

# ะžะฟั†ะธะธ local, peer, peer_port, dev ะผะพะณัƒั‚ ะฝะต ะฟะพะดะดะตั€ะถะธะฒะฐั‚ัŒัั ัั‚ะฐั€ั‹ะผะธ ัะดั€ะฐะผะธ, ะผะพะถะฝะพ ะธั… ะพะฟัƒัั‚ะธั‚ัŒ.
# peer ะธ peer_port ะธัะฟะพะปัŒะทัƒัŽั‚ัั ะดะปั ัะพะทะดะฐะฝะธั ัะพะตะดะธะฝะตะฝะธั ัั€ะฐะทัƒ ะฟั€ะธ ัะพะทะดะฐะฝะธะธ FOU-listener-ะฐ.
ip fou add port 10001 ipproto 4 local 192.168.0.2 peer 203.0.113.1 peer_port 10000 dev eth0

ip address add 172.28.0.1 peer 172.28.0.0 dev ipipou1

ip link set ipipou1 up

เบšเปˆเบญเบ™เบ—เบตเปˆ

  • ipipou* โ€” เบŠเบทเปˆโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เป‚เบ•เป‰โ€‹เบ•เบญเบšโ€‹เป€เบ„เบทเบญโ€‹เบ‚เปˆเบฒเบ tunnel เบ—เป‰เบญเบ‡โ€‹เบ–เบดเปˆเบ™โ€‹
  • 203.0.113.1 - เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ IP เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ
  • 198.51.100.2 - IP เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ
  • 192.168.0.2 โ€” IP เบฅเบนเบโ€‹เบ„เป‰เบฒโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบกเบญเบšโ€‹เบซเบกเบฒเบโ€‹เปƒเบซเป‰โ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เป‚เบ•เป‰โ€‹เบ•เบญเบš eth0โ€‹
  • 10001 - เบžเบญเบ”เบฅเบนเบเบ„เป‰เบฒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบชเปเบฒเบฅเบฑเบš FOU
  • 20001 - เบ—เปˆเบฒเป€เบฎเบทเบญเบฅเบนเบเบ„เป‰เบฒเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบชเปเบฒเบฅเบฑเบš FOU
  • 10000 - เบžเบญเบ”เป€เบŠเบตเบšเป€เบงเบตเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบชเปเบฒเบฅเบฑเบš FOU
  • encap-csum โ€” เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบžเบตเปˆเบก UDP checksum เบเบฑเบšโ€‹เบŠเบญเบ‡ UDP encapsulatedโ€‹; เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เป‚เบ”เบ noencap-csum, เบšเปเปˆเบ•เป‰เบญเบ‡เป€เบงเบปเป‰เบฒเป€เบ–เบดเบ‡, เบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™เป„เบ”เป‰เบ–เบทเบเบ„เบงเบšเบ„เบธเบกเปเบฅเป‰เบงเป‚เบ”เบเบŠเบฑเป‰เบ™เบซเบธเป‰เบกเบ™เบญเบ (เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบŠเบธเบ”เบขเบนเปˆเปƒเบ™เบญเบธเป‚เบกเบ‡)
  • eth0 โ€” เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบตเปˆเบญเบธเป‚เบกเบ‡ ipip เบˆเบฐเบ–เบทเบเบœเบนเบเบกเบฑเบ”
  • 172.28.0.1 - IP เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เป‚เบ•เป‰โ€‹เบ•เบญเบš tunnel เบฅเบนเบโ€‹เบ„เป‰เบฒ (เบชเปˆเบงเบ™โ€‹เบ•เบปเบงโ€‹)
  • 172.28.0.0 - เบญเบดเบ™เป€เบ•เบตเป€เบŸเบ”เป€เบŠเบตเบšเป€เบงเบต tunnel IP (เบชเปˆเบงเบ™เบ•เบปเบง)

เบ•เบฒเบšเปƒเบ”เบ—เบตเปˆเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ UDP เบเบฑเบ‡เบกเบตเบŠเบตเบงเบดเบ”เบขเบนเปˆ, เบญเบธเป‚เบกเบ‡เบˆเบฐเบขเบนเปˆเปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ, เปเบ•เปˆเบ–เป‰เบฒเบกเบฑเบ™เปเบ•เบ, เบ—เปˆเบฒเบ™เบˆเบฐเป‚เบŠเบเบ”เบต - เบ–เป‰เบฒ IP เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ: port เบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเบ„เบทเบเบฑเบ™ - เบกเบฑเบ™เบˆเบฐเบกเบตเบŠเบตเบงเบดเบ”เบขเบนเปˆ, เบ–เป‰เบฒเบžเบงเบเป€เบ‚เบปเบฒเบ›เปˆเบฝเบ™เปเบ›เบ‡ - เบกเบฑเบ™เบˆเบฐเปเบ•เบ.

เบงเบดเบ—เบตเบ—เบตเปˆเบ‡เปˆเบฒเบเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเบซเบฑเบ™เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™เปเบกเปˆเบ™เป€เบžเบทเปˆเบญ unload modules kernel: modprobe -r fou ipip

เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™เปเบกเปˆเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, IP เปเบฅเบฐเบžเบญเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเปเบกเปˆเบ™เบšเปเปˆเบฎเบนเป‰เบˆเบฑเบเบชเบฐเป€เบซเบกเบตเปเบฅเบฐเบกเบฑเบเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ„เบฒเบ”เป€เบ”เบปเบฒเป„เบ”เป‰เบซเบผเบทเบ•เบปเบงเปเบ› (เบ‚เบถเป‰เบ™เบเบฑเบšเบ›เบฐเป€เบžเบ” NAT). เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบฅเบฐเป€เบงเบฑเป‰เบ™ encap-dport เบขเบนเปˆเบ‚เป‰เบฒเบ‡เป€เบŠเบตเบšเป€เบงเบต, เบญเบธเป‚เบกเบ‡เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ, เบกเบฑเบ™เบšเปเปˆเบชเบฐเบซเบผเบฒเบ”เบžเปเบ—เบตเปˆเบˆเบฐเป€เบญเบปเบฒเบžเบญเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบฒเบ‡เป„เบ. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, ipipou เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบŠเปˆเบงเบเป„เบ”เป‰, เบซเบผเบท WireGuard เปเบฅเบฐเบญเบทเปˆเบ™เป†เบ—เบตเปˆเบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบŠเปˆเบงเบเบ—เปˆเบฒเบ™เป„เบ”เป‰.

เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เปเบ™เบงเปƒเบ”เป€เบฎเบฑเบ”เบงเบฝเบ?

เบฅเบนเบเบ„เป‰เบฒ (เป€เบŠเบดเปˆเบ‡เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเปเบกเปˆเบ™เบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบซเบผเบฑเบ‡ NAT) เป€เบ›เบตเบ”เบญเบธเป‚เบกเบ‡ (เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡), เปเบฅเบฐเบชเบปเปˆเบ‡เบŠเบธเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบฑเบ™เบเปเบฒเบ™เบปเบ”เบญเบธเป‚เบกเบ‡เบขเบนเปˆเบ‚เป‰เบฒเบ‡เบ‚เบญเบ‡เบกเบฑเบ™. เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เปเบžเบฑเบเป€เบเบฑเบ”เป€เบ›เบปเปˆเบฒ (เบžเบฝเบ‡เปเบ•เปˆเป€เบžเบทเปˆเบญเปƒเบซเป‰เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™ IP เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ: เบžเบญเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ), เบซเบผเบทเบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบฅเบนเบเบ„เป‰เบฒเป„เบ”เป‰. เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™ passphrase เบ‡เปˆเบฒเบเป†เปƒเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™ (เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบเบฑเบš HTTP Basic Auth เบกเบฒเบฎเบญเบ”เปƒเบˆ) เบซเบผเบทเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ–เบทเบเบญเบญเบเปเบšเบšเบžเบดเป€เบชเบ”เบ—เบตเปˆเป€เบŠเบฑเบ™เบ”เป‰เบงเบเบฅเบฐเบซเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบง (เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš HTTP Digest Auth เบ—เบตเปˆเป€เบ‚เบฑเป‰เบกเปเบ‚เบ‡เบเบงเปˆเบฒ, เป€เบšเบดเปˆเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆ. client_auth เปƒเบ™โ€‹เบฅเบฐโ€‹เบซเบฑเบ”).

เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ (เบ‚เป‰เบฒเบ‡เบเบฑเบš IP เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ), เป€เบกเบทเปˆเบญ ipipou เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบกเบฑเบ™เบชเป‰เบฒเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เปเบ–เบง nfqueue เปเบฅเบฐ configure netfilter เป€เบžเบทเปˆเบญเปƒเบซเป‰เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™: packets เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเปเบ–เบง nfqueue, เปเบฅเบฐ [เป€เบเบทเบญเบš]. เบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เป„เบ›เบซเบฒเบœเบนเป‰เบŸเบฑเบ‡ FOU.

เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบšเปเปˆเบฎเบนเป‰, nfqueue (เบซเบผเบท NetfilterQueue) เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบžเบดเป€เบชเบ”เบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบชเบกเบฑเบเป€เบฅเปˆเบ™เบ—เบตเปˆเบšเปเปˆเบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ kernel modules, เป€เบŠเบดเปˆเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ netfilter (nftables / iptables) เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบเป„เบ›เบซเบฒเบžเบทเป‰เบ™เบ—เบตเปˆเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เปเบฅเบฐเบ›เบธเบ‡เปเบ•เปˆเบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เป‚เบ”เบเปƒเบŠเป‰. primitive เบซเบกเบฒเบโ€‹เบ„เบงเบฒเบกโ€‹เบงเปˆเบฒโ€‹เปƒเบ™โ€‹เบกเบทโ€‹: เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เปเบเป‰โ€‹เป„เบ‚ (เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹) เปเบฅเบฐโ€‹เปƒเบซเป‰โ€‹เบกเบฑเบ™โ€‹เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เป„เบ›โ€‹เบšเปˆเบญเบ™โ€‹เปเบเปˆเบ™โ€‹, เบซเบผเบทโ€‹เบ›เบฐโ€‹เบ–เบดเป‰เบกโ€‹เบกเบฑเบ™โ€‹.

เบชเปเบฒเบฅเบฑเบšเบšเบฒเบ‡เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบกเบตเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš nfqueue, เบชเปเบฒเบฅเบฑเบš bash เบšเปเปˆเบกเบต (heh, เบšเปเปˆเปเบ›เบเปƒเบˆ), เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เปƒเบŠเป‰ python: ipipou เปƒเบŠเป‰ NetfilterQueue.

เบ–เป‰เบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเปเปˆเบชเปเบฒเบ„เบฑเบ™, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบดเปˆเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” concoct เป€เบซเบ”เบœเบปเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เป„เบ”เป‰เป„เบงเปเบฅเบฐเบ‡เปˆเบฒเบเบ”เบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš packets เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ•เปˆเปเบฒเบžเปเบชเบปเบกเบ„เบงเบ™, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบเบฒเบ™เป‚เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบปเบ”เบฅเบญเบ‡, เบซเบผเบท troll เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปเบฅเบฐเบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเบ—เบตเปˆเบกเบตเบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™.

เบŠเบฑเบญเบเป€เบเบฑเบ”เบ”เบดเบšเป€เบฎเบฑเบ”เบงเบฝเบเบฎเปˆเบงเบกเบเบฑเบ™เบเบฑเบš nfqueue, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบกเบทเปˆเบญเบญเบธเป‚เบกเบ‡เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเป‰เบงเปเบฅเบฐ FOU เบเปเบฒเบฅเบฑเบ‡เบŸเบฑเบ‡เบขเบนเปˆเปƒเบ™เบžเบญเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™, เบ—เปˆเบฒเบ™เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบˆเบฒเบเบžเบญเบ”เบ”เบฝเบงเบเบฑเบ™เปƒเบ™เปเบšเบšเบ›เบปเบเบเบฐเบ•เบด - เบกเบฑเบ™เบšเปเปˆเบซเบงเปˆเบฒเบ‡, เปเบ•เปˆ. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบญเบปเบฒเปเบฅเบฐเบชเบปเปˆเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปเบšเบšเบชเบธเปˆเบกเป‚เบ”เบเบเบปเบ‡เป„เบ›เบซเบฒเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบเป‚เบ”เบเปƒเบŠเป‰เบŠเบฑเบญเบเป€เบเบฑเบ”เบ”เบดเบš, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบ„เบงเบฒเบกเป€เบ‚เบฑเป‰เบกเบ‚เบปเป‰เบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ. เบ™เบตเป‰เปเบกเปˆเบ™เบงเบดเบ—เบตเบ—เบตเปˆเปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบกเบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เปƒเบ™ ipipou.

เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ ipipou เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบŠเบญเบ‡เบ—เปเบฒเบญเบดเบ”เบˆเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ (เปเบฅเบฐเบœเบนเป‰เบ—เบตเปˆเบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบฎเบปเปˆเบงเป„เบซเบฅเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เปเบ–เบงเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™), เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบเบทเบญเบšเบšเปเปˆเบ—เบปเบ™เบ—เบธเบ.

เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเป€เบŠเบตเบšเป€เบงเบต ipipou เป„เบ”เป‰เบฎเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡, tunnel เบˆเบฐเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เปเบฅเบฐเบ—เบธเบเปเบžเบฑเบเป€เบเบฑเบ”เบ•เปเปˆเป„เบ›เปƒเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบ”เป‰เบ–เบทเบเบ›เบธเบ‡เปเบ•เปˆเบ‡เปเบฅเป‰เบงเป‚เบ”เบ kernel bypassing nfqueue. เบ–เป‰เบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบปเป‰เบกเป€เบซเบฅเบง, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบŠเบธเบ”เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบŠเบธเบ”เบ•เปเปˆเป„เบ›เบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเปเบ–เบง nfqueue, เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เบ–เป‰เบฒเบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบกเบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡, เปเบ•เปˆเบˆเบฒเบ IP เบ—เบตเปˆเบˆเบทเปˆเป„เบงเป‰เบชเบธเบ”เบ—เป‰เบฒเบเปเบฅเบฐเบžเบญเบ”เบฅเบนเบเบ„เป‰เบฒ, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบœเปˆเบฒเบ™เป„เบ”เป‰. เป€เบ›เบตเบ” เบซเบผเบทเบเบปเบเป€เบฅเบตเบ. เบ–เป‰เบฒเปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบกเบฒเบˆเบฒเบ IP เปเบฅเบฐเบžเบญเบ”เปƒเบซเบกเปˆ, เบญเบธเป‚เบกเบ‡เบˆเบฐเบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™.

IPIP-over-FOU เบ›เบปเบเบเบฐเบ•เบดเบกเบตเบšเบฑเบ™เบซเบฒเบซเบ™เบถเปˆเบ‡เบญเบตเบเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš NAT - เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบชเบญเบ‡เบญเบธเป‚เบกเบ‡ IPIP เบ—เบตเปˆเบ–เบทเบเบซเบธเป‰เบกเบขเบนเปˆเปƒเบ™ UDP เบ”เป‰เบงเบ IP เบ”เบฝเบงเบเบฑเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเป‚เบกเบ”เบนเบ™ FOU เปเบฅเบฐ IPIP เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป‚เบ”เบ”เบ”เปˆเบฝเบงเบˆเบฒเบเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™. เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ„เบนเปˆเบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบซเบผเบฑเบ‡ IP เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบžเป‰เบญเบกเป†เบเบฑเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ”เบฝเบงเบเบฑเบ™เบ”เป‰เบงเบเบงเบดเบ—เบตเบ™เบตเป‰. เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”, เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™, เบกเบฑเบ™เบˆเบฐเบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™เบฅเบฐเบ”เบฑเบšเปเบเปˆเบ™, เปเบ•เปˆเบ™เบตเป‰เบšเปเปˆเปเบ™เปˆเบ™เบญเบ™. เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰, เบšเบฑเบ™เบซเบฒ NAT เบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เป„เบ”เป‰เป‚เบ”เบ NAT - เบ–เป‰เบฒเบกเบฑเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เบงเปˆเบฒเบ„เบนเปˆเบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆ IP เป„เบ”เป‰เบ–เบทเบเบ„เบญเบšเบ„เบญเบ‡เป‚เบ”เบเบญเบธเป‚เบกเบ‡เบญเบทเปˆเบ™, ipipou เบˆเบฐเป€เบฎเบฑเบ” NAT เบˆเบฒเบเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเป„เบ›เบซเบฒ IP เบชเปˆเบงเบ™เบ•เบปเบงเบ—เบฒเบ‡เป€เบฅเบทเบญเบ, voila! - เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบชเป‰เบฒเบ‡ tunnels เบˆเบปเบ™โ€‹เบโ€‹เปˆโ€‹เบงเบฒโ€‹เบžเบญเบ”โ€‹เบซเบกเบปเบ”โ€‹.

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ เบšเปเปˆเปเบกเปˆเบ™เบ—เบธเบเปเบžเบฑเบเป€เบเบฑเบ”เปƒเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ–เบทเบเป€เบŠเบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ™เบตเป‰เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ•เปเปˆ MITM, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ–เป‰เบฒเบกเบตเบ„เบปเบ™เบฎเป‰เบฒเบเบ—เบตเปˆเบฅเบตเป‰เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบŸเบฑเบ‡เบเบฒเบ™เบˆเบฒเบฅเบฐเบˆเบญเบ™เปเบฅเบฐเบˆเบฑเบ”เบเบฒเบ™เบกเบฑเบ™, เบฅเบฒเบงเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบœเปˆเบฒเบ™. เบ—เบตเปˆเบขเบนเปˆเบญเบทเปˆเบ™ เปเบฅเบฐเบชเป‰เบฒเบ‡เบญเบธเป‚เบกเบ‡เบˆเบฒเบเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ—เบตเปˆเบšเปเปˆเปœเป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบท .

เบ–เป‰เบฒเปƒเบœเบกเบตเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เปเบเป‰เป„เบ‚เบ™เบตเป‰เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบญเบญเบเบˆเบฒเบเบชเปˆเบงเบ™เปƒเบซเบเปˆเบ‚เบญเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เปƒเบ™เบซเบผเบฑเบ, เบขเปˆเบฒเบฅเบฑเบ‡เป€เบฅเบ—เบตเปˆเบˆเบฐเป€เบงเบปเป‰เบฒ.

เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเปƒเบ™ UDP เป„เบ”เป‰เบžเบดเบชเบนเบ”เบ•เบปเบงเป€เบญเบ‡เป„เบ”เป‰เบ”เบตเบซเบผเบฒเบ. เป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบš encapsulation เปƒเบ™เป„เบฅเบเบฐ IP, เบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบซเบผเบฒเบเปเบฅเบฐเบกเบฑเบเบˆเบฐเป„เบงเบ‚เบถเป‰เบ™เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ‚เบญเบ‡เบซเบปเบง UDP. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ™เบทเปˆเบญเบ‡เบกเบฒเบˆเบฒเบเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆเปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบตเบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเป‚เบ›เป‚เบ•เบ„เบญเบ™เบ—เบตเปˆเบ™เบดเบเบปเบกเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”: TCP, UDP, ICMP. เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบ–เบดเป‰เบกเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบญเบทเปˆเบ™เบซเบกเบปเบ”, เบซเบผเบทเบ›เบธเบ‡เปเบ•เปˆเบ‡เบกเบฑเบ™เบŠเป‰เบฒเบเบงเปˆเบฒ, เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบชเบฒเบกเบขเปˆเบฒเบ‡เบ™เบตเป‰เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.

เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ™เบตเป‰เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบงเปˆเบฒ QUICK, เบ—เบตเปˆ HTTP / 3 เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆ, เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡ UDP, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡ IP.

เบ”เบต, เบ„เปเบฒเป€เบงเบปเป‰เบฒเบžเบฝเบ‡เบžเป, เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ "เป‚เบฅเบเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡".

เบฎเบปเบš

เปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปเบšเบšเบขเปˆเบฒเบ‡เปƒเบ™เป‚เบฅเบเปเบซเปˆเบ‡เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡ iperf3. เปƒเบ™เปเบ‡เปˆเบ‚เบญเบ‡เบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเปƒเบเป‰เบŠเบดเบ”เบเบฑเบšเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบ™เบตเป‰เปเบกเปˆเบ™เบ›เบฐเบกเบฒเบ™เบ„เบทเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เป‚เบฅเบเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เปƒเบ™ Minecraft, เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”.

เบœเบนเป‰โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบฎเปˆเบงเบกโ€‹เบเบฒเบ™โ€‹เปเบ‚เปˆเบ‡โ€‹เบ‚เบฑเบ™โ€‹:

  • เบญเป‰เบฒเบ‡โ€‹เบญเบตเบ‡โ€‹เบŠเปˆเบญเบ‡โ€‹เบ—เบฒเบ‡โ€‹เบซเบผเบฑเบโ€‹
  • hero เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เปเบกเปˆเบ™ ipipou
  • OpenVPN เบ”เป‰เบงเบเบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™เปเบ•เปˆเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”
  • OpenVPN เปƒเบ™เป‚เปเบ”เบฅเบงเบกเบ—เบฑเบ‡เปเบปเบ”
  • WireGuard เป‚เบ”เบเบšเปเปˆเบกเบต PresharedKey, เบ”เป‰เบงเบ MTU=1440 (เบ•เบฑเป‰เบ‡เปเบ•เปˆ IPv4 เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™)

เบ‚เปเป‰เบกเบนเบ™เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™เบชเปเบฒเบฅเบฑเบš geeks
Metrics เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบฅเบนเบโ€‹เบ„เป‰เบฒโ€‹:

UDP

CPULOG=NAME.udp.cpu.log; sar 10 6 >"$CPULOG" & iperf3 -c SERVER_IP -4 -t 60 -f m -i 10 -B LOCAL_IP -P 2 -u -b 12M; tail -1 "$CPULOG"
# ะ“ะดะต "-b 12M" ัั‚ะพ ะฟั€ะพะฟัƒัะบะฝะฐั ัะฟะพัะพะฑะฝะพัั‚ัŒ ะพัะฝะพะฒะฝะพะณะพ ะบะฐะฝะฐะปะฐ, ะดะตะปั‘ะฝะฝะฐั ะฝะฐ ั‡ะธัะปะพ ะฟะพั‚ะพะบะพะฒ "-P", ั‡ั‚ะพะฑั‹ ะปะธัˆะฝะธะต ะฟะฐะบะตั‚ั‹ ะฝะต ะฟะปะพะดะธั‚ัŒ ะธ ะฝะต ะฟะพั€ั‚ะธั‚ัŒ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ.

TCP

CPULOG=NAME.tcp.cpu.log; sar 10 6 >"$CPULOG" & iperf3 -c SERVER_IP -4 -t 60 -f m -i 10 -B LOCAL_IP -P 2; tail -1 "$CPULOG"

เบเบฒเบ™เบ•เบญเบšเบชเบฐเปœเบญเบ‡ ICMP

ping -c 10 SERVER_IP | tail -1

เปƒเบ™เป€เบŠเบตเบšเป€เบงเบต (เปเบฅเปˆเบ™เบžเป‰เบญเบกเป†เบเบฑเบ™เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒ):

UDP

CPULOG=NAME.udp.cpu.log; sar 10 6 >"$CPULOG" & iperf3 -s -i 10 -f m -1; tail -1 "$CPULOG"

TCP

CPULOG=NAME.tcp.cpu.log; sar 10 6 >"$CPULOG" & iperf3 -s -i 10 -f m -1; tail -1 "$CPULOG"

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบญเบธเป‚เบกเบ‡

ipipou
server
/etc/ipipou/server.conf:

server
number 0
fou-dev eth0
fou-local-port 10000
tunl-ip 172.28.0.0
auth-remote-pubkey-b64 eQYNhD/Xwl6Zaq+z3QXDzNI77x8CEKqY1n5kt9bKeEI=
auth-secret topsecret
auth-lifetime 3600
reply-on-auth-ok
verb 3

systemctl start ipipou@server

เบฅเบนเบโ€‹เบ„เป‰เบฒ
/etc/ipipou/client.conf:

client
number 0
fou-local @eth0
fou-remote SERVER_IP:10000
tunl-ip 172.28.0.1
# pubkey of auth-key-b64: eQYNhD/Xwl6Zaq+z3QXDzNI77x8CEKqY1n5kt9bKeEI=
auth-key-b64 RuBZkT23na2Q4QH1xfmZCfRgSgPt5s362UPAFbecTso=
auth-secret topsecret
keepalive 27
verb 3

systemctl start ipipou@client

openvpn (เบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”, เบ”เป‰เบงเบเบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™)
server

openvpn --genkey --secret ovpn.key  # ะ—ะฐั‚ะตะผ ะฝะฐะดะพ ะฟะตั€ะตะดะฐั‚ัŒ ovpn.key ะบะปะธะตะฝั‚ัƒ
openvpn --dev tun1 --local SERVER_IP --port 2000 --ifconfig 172.16.17.1 172.16.17.2 --cipher none --auth SHA1 --ncp-disable --secret ovpn.key

เบฅเบนเบโ€‹เบ„เป‰เบฒ

openvpn --dev tun1 --local LOCAL_IP --remote SERVER_IP --port 2000 --ifconfig 172.16.17.2 172.16.17.1 --cipher none --auth SHA1 --ncp-disable --secret ovpn.key

openvpn (เบ”เป‰เบงเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”, เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡, เบœเปˆเบฒเบ™ UDP, เบ—เบธเบเบขเปˆเบฒเบ‡เบ•เบฒเบกเบ—เบตเปˆเบ„เบฒเบ”เป„เบงเป‰)
เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเปƒเบŠเป‰ openvpn-เบˆเบฑเบ”เบเบฒเบ™

เบชเบฒเบเป„เบŸเบŸเป‰เบฒ
server
/etc/wireguard/server.conf:

[Interface]
Address=172.31.192.1/18
ListenPort=51820
PrivateKey=aMAG31yjt85zsVC5hn5jMskuFdF8C/LFSRYnhRGSKUQ=
MTU=1440

[Peer]
PublicKey=LyhhEIjVQPVmr/sJNdSRqTjxibsfDZ15sDuhvAQ3hVM=
AllowedIPs=172.31.192.2/32

systemctl start wg-quick@server

เบฅเบนเบโ€‹เบ„เป‰เบฒ
/etc/wireguard/client.conf:

[Interface]
Address=172.31.192.2/18
PrivateKey=uCluH7q2Hip5lLRSsVHc38nGKUGpZIUwGO/7k+6Ye3I=
MTU=1440

[Peer]
PublicKey=DjJRmGvhl6DWuSf1fldxNRBvqa701c0Sc7OpRr4gPXk=
AllowedIPs=172.31.192.1/32
Endpoint=SERVER_IP:51820

systemctl start wg-quick@client

ะ ะตะทัƒะปัŒั‚ะฐั‚ั‹

เบชเบฑเบ™เบเบฒเบ™เบ—เบตเปˆเบ‚เบตเป‰เบฎเป‰เบฒเบ
เบเบฒเบ™เป‚เบซเบผเบ” CPU เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบšเปเปˆเปเบกเปˆเบ™เบ•เบปเบงเบŠเบตเป‰เบšเบญเบเบซเบผเบฒเบ, เป€เบžเบฒเบฐเบงเปˆเบฒ ... เบกเบตเบšเปเบฅเบดเบเบฒเบ™เบญเบทเปˆเบ™เป†เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเปเบฅเปˆเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบžเบงเบเป€เบ‚เบปเบฒเบเบดเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™:

proto bandwidth[Mbps] CPU_idle_client[%] CPU_idle_server[%]
# 20 Mbps ะบะฐะฝะฐะป ั ะผะธะบั€ะพะบะพะผะฟัŒัŽั‚ะตั€ะฐ (4 core) ะดะพ VPS (1 core) ั‡ะตั€ะตะท ะั‚ะปะฐะฝั‚ะธะบัƒ
# pure
UDP 20.4      99.80 93.34
TCP 19.2      99.67 96.68
ICMP latency min/avg/max/mdev = 198.838/198.997/199.360/0.372 ms
# ipipou
UDP 19.8      98.45 99.47
TCP 18.8      99.56 96.75
ICMP latency min/avg/max/mdev = 199.562/208.919/220.222/7.905 ms
# openvpn0 (auth only, no encryption)
UDP 19.3      99.89 72.90
TCP 16.1      95.95 88.46
ICMP latency min/avg/max/mdev = 191.631/193.538/198.724/2.520 ms
# openvpn (full encryption, auth, etc)
UDP 19.6      99.75 72.35
TCP 17.0      94.47 87.99
ICMP latency min/avg/max/mdev = 202.168/202.377/202.900/0.451 ms
# wireguard
UDP 19.3      91.60 94.78
TCP 17.2      96.76 92.87
ICMP latency min/avg/max/mdev = 217.925/223.601/230.696/3.266 ms

## ะพะบะพะปะพ-1Gbps ะบะฐะฝะฐะป ะผะตะถะดัƒ VPS ะ•ะฒั€ะพะฟั‹ ะธ ะกะจะ (1 core)
# pure
UDP 729      73.40 39.93
TCP 363      96.95 90.40
ICMP latency min/avg/max/mdev = 106.867/106.994/107.126/0.066 ms
# ipipou
UDP 714      63.10 23.53
TCP 431      95.65 64.56
ICMP latency min/avg/max/mdev = 107.444/107.523/107.648/0.058 ms
# openvpn0 (auth only, no encryption)
UDP 193      17.51  1.62
TCP  12      95.45 92.80
ICMP latency min/avg/max/mdev = 107.191/107.334/107.559/0.116 ms
# wireguard
UDP 629      22.26  2.62
TCP 198      77.40 55.98
ICMP latency min/avg/max/mdev = 107.616/107.788/108.038/0.128 ms

เบŠเปˆเบญเบ‡ 20 Mbps

ipipou: เบซเบผเบฒเบเบเปˆเบงเบฒเบžเบฝเบ‡เปเบ•เปˆเบญเบธเป‚เบกเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”

ipipou: เบซเบผเบฒเบเบเปˆเบงเบฒเบžเบฝเบ‡เปเบ•เปˆเบญเบธเป‚เบกเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”

เบŠเปˆเบญเบ‡เบ•เปเปˆ 1 Gbps เปƒเบ™เปเบ‡เปˆเบ”เบต

ipipou: เบซเบผเบฒเบเบเปˆเบงเบฒเบžเบฝเบ‡เปเบ•เปˆเบญเบธเป‚เบกเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”

ipipou: เบซเบผเบฒเบเบเปˆเบงเบฒเบžเบฝเบ‡เปเบ•เปˆเบญเบธเป‚เบกเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”

เปƒเบ™เบ—เบธเบเบเปเบฅเบฐเบ™เบต, ipipou เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เปƒเบเป‰เบŠเบดเบ”เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฑเบšเบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™, เป€เบŠเบดเปˆเบ‡เบ”เบตเบซเบผเบฒเบ!

เบญเบธเป‚เบกเบ‡ openvpn เบ—เบตเปˆเบšเปเปˆเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเปเบ›เบเป†เปƒเบ™เบ—เบฑเบ‡เบชเบญเบ‡เบเปเบฅเบฐเบ™เบต.

เบ–เป‰เบฒเปƒเบœเบˆเบฐเป„เบ›เบ—เบปเบ”เบชเบญเบš เบเปเปˆเป€เบ›เบฑเบ™เบ—เบตเปˆเบชเบปเบ™เปƒเบˆเบขเบฒเบเป„เบ”เป‰เบŸเบฑเบ‡เบ„เปเบฒเบ•เบดเบŠเบปเบก.

เบ‚เปเปƒเบซเป‰ IPv6 เปเบฅเบฐ NetPrickle เบขเบนเปˆเบเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ!

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

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