ααΎααΎααααα»ααα·ααΆαα’αααΈαα ααΆααααααααΆααα αΆαααα IPv6?
ααααΌαα αΎα ααΎαααΉααα·ααΆαααΌα
ααααΆα
ααααααααααααΆαα’αα·αααααΈααααααααα
αα
ααΈαααααΎαααΉααα·ααΆαα’αααΈααααΌαααΌααααααααΈ IPv4 ααααα·αααΆαα’αα·αααααΈα ααα»αααααα·ααααα’αααΈ "α
ααααααααα
" αα ααα»ααααα’αααΈ "LED" ααααΎααα½αα α αΎαααΆααααααα
ααααααα
ααΈααα α αΎαααΆαααΆααααα»αααααΎαααΆαααΆαα½ααααα
ααααααααΆααααα»αααα αα’αααααααΎααααΆααα
ααΆααα·ααΈααΆαααααΌαααΌααααααααΈ N αααααΆαααααααααααΆαα· αα·ααααα
- ααΆαααααα ααΆαααααα αα»αααα
WireGuard - αα α»αα»αααΆαααΌα ααΆααΆααα·αααααΈα OpenVPN αα·α SSH
- α αΆααα αΎααα·αα’αΆααααα GRE
- IPIP ααααα·αααΆαααΆαα’αα·αααααΈαααΆαααααα»α ααΆαααα ααΏααααα»α
- α’αα·αααααααΆαααααα
α αααΊααα - ααΆα αααΎααααα
ααα»αααααααα»αααΆα’αααααααααααααα·ααΈ ααΌα αααααααα»αααΉααααααΎα N ααααααααΆα α αΎααα»αααΆαα’αα·αααααααααα·ααΈααΆααα·αααααΆαααα α’αααα’αα·αααααα Kommersant α
αα
αααα»αααΆααααααα·αααΆααααΎα
ααααααααααααα»αααααΆαααααΆααα·ααΈααΆαααααΌαααΌααααααααΈαααααα ααΆαααα α·ααααα»αααΆααααααα’αααααααΆααααααααΆααααα»ααααααααα»αααααΌαααΆαααΆααα IPIP ααααα αΎαααααααα αααααΆαααααΆαα αααΆααα·α αα½α αααα»αα ααα»ααααβααΆβααΆαβαα»ααα·ααααα·βααααΆααβαα½αβαααααβαααααΆααβαα·α αα ααΆαβααααβαααα»αα
- ααΆααΆαααΆα IP ααΆααΆαααααΆααααααΆα
- α αΎαααααΆαααΆααααααααααΆαααααααΆααα’αααααα
α ααα»ααΌα ααααα αΎα α’ααααααααα’α₯αααα ααααααΌαααΆααα»αα αααΆαα αΌααα αααα»ααααα»ααααΉααααααΆααααααΆα α¬ααααααααΆαααααΆααα’αααα»ααα ααΈαααα
α αΎααααααΆαααααααααα½α ααααααααααααα»αα’αΆαα’ααααα
βαααααΊααΆααααΆααααΆαααααΎα! IPIP ααΆααααααΊαααααααααΆαααααααΆαααααα»αα - αααα»αβαα·αα
ααΆαβαα·α ααααΆααβααΆαααααΎαβααΆαβααααβαα βααΆβαα·αβααΆαβααααΆααβααΆααβαααα»αβααα Encapsulation αα αααα»α UDP αααααααΆααααα αΆααααΌα - α’αααα’αΆα ααααΆαααα α’αα·αα·ααααααα ααΈααααα NAT ααΈααΆααααα αααααααΎααΆααααααΆαααααααΆααααααΎαααΆαα»α ααα»αααααα ααΈαααααΆαααααααΆααααα»ααα·ααααα·αααααΆαααα IPIP ααΈααα»αααΆααα αααα»ααααααΊααααΈ - ααααΆααααΆααααΈαααααΆαα―αααα’αΆα ααΆαααα ααΈαααααα’αααΈαααα’αΆα ααΎαααΎαα IP ααΆααΆααα αα·αα ααααααΆαααΈαααααα (αα αααα»α IPIP αα»ααα αααα αΆααααα·αααΆααα)α
ααΎααααΈαααααααΆααααα αΆαα½ααααααααα α§αααααααααΎααααΆααααΆαααΎααα
ααΎααα·αααααΌαααΆαααααααΈαααααα’ααααα!
ααααααα ααααα·αααΎα’αααααααΆααα αααααΆααΆααα αα·α 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*
- αααααα ααα»α αααααΆαααααααΆαααααΌαααΌααααααααΈαααα»αααααα203.0.113.1
- αααΆαααΈααα IP ααΆααΆααα198.51.100.2
- IP ααΆααΆαααααααα’αα·αα·αα192.168.0.2
- IP ααααα’αα·αα·ααααΆαααααααα α ααα»α αααααΆαα eth010001
- α αααα’αα·αα·αααααα»ααααα»ααααααΆαα FOU20001
- α αααα’αα·αα·ααααΆααΆααααααααΆαα FOU10000
- α ααααααΆαααΈαααααΆααΆααααααααΆαα FOUencap-csum
- αααααΎαααΎααααΈαααααα UDP checksum αα ααΆαααααα αα UDP ααααα»ααααααα α’αΆα ααααΌαααΆααααα½ααααnoencap-csum
αα·αααααα·ααΆααα αα»α αα·αααΆαααααΌαααΆααααααααααααααααααΆαααα»ααααααααΆααααα (ααααααααααααα ααααααααΆααααα·ααα ααΆααααα»αααααΌαααΌααααααααΈ)eth0
- α ααα»α αααααΆααααΌαααααΆααααααααΌαααΌααααααααΈ ipip ααΉαααααΌαααΆαα α172.28.0.1
- IP ααα ααα»α αααααΆααααααΌαααΌααααααααΈααααα’αα·αα·αα (α―ααα)172.28.0.0
- α ααα»α αααααΆαα IP tunnel server (α―ααα)
αααΆαααΆααΆαααααΆαα UDP αα ααΆαααΈαα·α ααααΌαααΌααααααααΈααΉαααααΎαααΆα ααα»ααααααααα·αααΎααΆααΆα α α’αααααΉαααααΆα - ααααα·αααΎ IP ααααα’αα·αα·ααα α ααααα αααααα - ααΆααΉαααααα ααααα·αααΎαα½αααααααΆααααααΌα - ααΆααΉαααΌα α
αααααααΆαααΆααααα½ααααα»αααΎααααΈααααααα’αααΈαααΆααα’αααααα·αααΊααΎααααΈαααα
αααααΌαα»αααΊαααα modprobe -r fou ipip
αααααΈααΆααΆααααααααααΆαααα·αααααΌαααΆαααΆαααΆαααααα IP αα·αα
αααααΆααΆαααααααα’αα·αα·αααα·ααααααααααΌαααΆαααααααΆαααα α αΎαααΆααΏαααα·αα’αΆα
ααΆααα»αααΆαα»αααΆα α¬α’ααα (α’αΆαααααααΎαααααα NAT)α ααααα·αααΎα’αααααααααα
αα encap-dport
αα
αααααααΆααααΆαααΈααα ααααΌαααΌααααααααΈααΉααα·αααααΎαααΆααα ααΆαα·αααααΆααααααααααΆαααααα»αααΆαααα
ααααααααΆααααΈα
ααααΆααααααα αααα»αααααΈααα ipipou ααα’αΆα
αα½αααΆαααα α¬ WireGuard αα·αα’αααααααααααααΌα
ααΆααΆα’αΆα
αα½αα’αααααΆαα
ααΎααΆααααΎαααΆααααΆαααΌα ααααα ?
αααΆαααΈαααααα (αααααΆααααααΆαα
ααΈααααα NAT) ααΎαααααΌαααΌααααααααΈαα½α (ααΌα
αααα»αα§ααΆα αααααΆαααΎ) α αΎαααααΎαααα
ααααααααΆααααααααααΆαααα
αααΆαααΈααα ααΎααααΈα±ααααΆααααααα
ααΆααααααααααααΌαααΌααααααααΈαα
α
αα ααααααααΆα α’αΆαααααααΎααΆαααααα αααα’αΆα
ααΆαααα
ααααα (ααααΆααααααΎααααΈα±αααααΆαααΈαααα’αΆα
ααΎαααΎα IP ααΆααΆαααα α
ααααααααΆαα) α¬ααΆαα½ααα·ααααααααααααΆαααΈαααα’αΆα
αααααα’ααααααααΆαα’αα·αα·ααα αα·ααααααα’αΆα
ααΆααααΆαααααΆααααΆαααααααα»αα’αααααα
αααΆααααΆαα (ααΆαααααααααααΆααΆαα½α HTTP Basic Auth α
αΌααααααα»αα
α·ααα) α¬αα·αααααααααααΆααα
ααΆααΆαα·ααααααααΆαα
α»αα αααααααΆααΆαα½αααα―ααα (αααααααα
ααΉα HTTP Digest Auth ααααΆααααΆα ααΌαααΎααα»αααΆα client_auth
αα
αααα»ααααααΌα) α
αα ααΎαααΆαααΈααα (αααααααΆαααΆαα½α IP ααΆααΆααα) αα αααααα ipipou α αΆααααααΎα ααΆαααααΎαα§ααααααααααααΆααα½α nfqueue αα·αααααααα ααΆαααααααα netfilter ααΌα αααααααα ααααααααΆαα αΆαααΆα αααααΌαααΆαααααΎαα ααααααααααα½ααααα½αααααΆα αααα ααα αΆααααααΎαααΆααααααΆαααα αα½α nfqueue α αΎα [ααααΎααα] αα αααααΆααα’αααα αααααα’αααααααΆαα FOU α
αααααΆααα’αααααααα·αααΉα nfqueue (α¬ NetfilterQueue) ααΊααΆααΏααα·ααααααααΆααα’ααααααααααα α·αααααααα·αααΉαααΈαααααααααΎααααΌαα»αααΊααα αααααΆαααααΎααααΆαα netfilter (nftables/iptables) α’αα»ααααΆαα±ααα’αααααααΌααα·ααααα αααααααΆααα ααΆααααααααα’αααααααΎααααΆαα α αΎαααααΎαααΆαααΆαα ααΈααααααααααΎ αααααααΆααα»αααααΆααα ααΉαααα αααααα (ααΆαααααΎα) α αΎαααααααααΆαα ααΊααααα·α α¬αααααΆα ααα
αααααΆααααΆααΆααααααααααα·ααΈαα½αα
ααα½αααΆαααΆαα
ααααααΆααααααΎααΆαααΆαα½α nfqueue αααααΆαα bash αα·αααΆααα (α αα α αα·ααα½αα±ααααααΆααααα’αΎααα) αααα»αααααΌαααααΎ python: ipipou ααααΎ
ααααα·αααΎααΆαα’αα»αααααα·αααααΆαααα αααααααΎααααα»ααα α’αααα’αΆα αααααΎααααααα·ααααΆααααΆαααααα½αααααα’αααααΆααααΆααα αα αα·αααΆααααα½ααααααΆααααααΎααΆαααΆαα½ααααα ααααααααΆααααα»αααααα·αααΆα α§ααΆα ααα αααααΎααα·ααΈααΆαααααααα·αααααααα·ααααα α¬ troll ααααΆαααα»ααααα»α αα·αααΈα ααααΆαααΆαα½αααΉαα’αΆαααααα·αα·ααΆαα·ααααααααΆαα
αααααα ααααΎαααΆααααααααΆαα½α nfqueue α§ααΆα ααα αα ααααααααααΌαααΌααααααααΈααααΌαααΆαααααααα ααΆαααααααααα½α α αΎα α αΎα FOU αααα»αααααΆαααα ααΎα ααααααα ααααΆα α’αααααΉααα·αα’αΆα ααααΎαααα ααααααααΆαααΈα αααααΌα ααααΆααΆαααααααααααΆααΆααα - ααΆαααα ααα»αααα α’αααα’αΆα αα αα·αααααΎαααα ααααααααΆαααααααααΎααααα ααααααααααααΆαααα ααΆααα ααα»α αααααΆαααααααΆααααααααΎαααααα αααααΈααΆααΆααααααΎααααα ααααααααΆαααααααααΉααααααΌαα±ααααΆαααΆααααααααα·α αα½α αααααα αααααΆααααααααααα ααααααααΆααααααΆαααΆααααααααααΆααααααΌαααΆααααααΎαα‘αΎααα αααα»α ipipou α
α αΆααααΆααααΈ ipipou ααααΎαααΆααααααα ααααααΌαααΈααΆααααααΆαα (αα·αα’αααααααααααααααααΎααααΈααα ααααΆαα αΌααα αααα»ααα½ααα»ααααααΆααααααΆααααααΌαααΆααααααΎαα‘αΎα) ααΆαααααααααααΎααααα·αααα½αααα
αααΆαααΆαααΆαααΈααα ipipou ααα½αααΆααααα ααααααααΆααααααΆααααααααααΆαα ααααΌαααΌααααααααΈαα½αααααΌαααΆααααααΎα α αΎααααα ααααααααΆααααααααααΆααααΆααα’αααα αααα»αααΆααααααΆααααααΌαααΆαααααΎαααΆααα½α α αΎααααααΊαααααααααΆαα nfqueue α ααααα·αααΎααΆαααααΆαααααΆααα ααααααα ααααΈαα½ααααααα αααααααΆααααΉαααααΌααααααΌααα αα½α nfqueue α’αΆαααααααΎααΆαααααα ααααα·αααΎααΆαα·ααααααΆαααα ααααααααΆααααααΆαααΆααααααααααΆαα ααα»ααααααΈ IP αα·αα ααααααΆαααΈαααααααααααΆαα αα αΆαα α»αααααα ααΆα’αΆα ααααΌαααΆαααααααΆααα αα ααΎ α¬αααα ααα ααααα·αααΎαααα ααααααααΆαααααααααααααΆααααΆαααααΈ IP αα·αα αααααααΈ ααααΌαααΌααααααααΈααααΌαααΆαααα‘αΎαα‘αΎααα·αααΎααααΈααααΎαα½αααΆα
IPIP-over-FOU ααααααΆααΆααααα αΆαα½αααααα
αααααααΎααΆαααΆαα½α NAT - ααΆαα·αα’αΆα
αα
αα½α
αααααα»αααΆααααααΎαααααΌαααΌααααααααΈ IPIP ααΈαααααα»αααααααααα»α UDP ααΆαα½α IP ααΌα
ααααΆ ααΈααααααααΌαα»α FOU αα·α IPIP ααΊααΆα
αααααΆαααΈααααΆαα
αα·ααα
ααα ααΆαααααα α’αα·αα·αααα½αααΌααααα
ααΈααααα IP ααΆααΆαααααΌα
ααααΆααΉααα·αα’αΆα
αααααΆαααααα»ααααααααΆαααααΆαα
αααΆαααΈαααααΌα
ααααΆααΆααααααααααα αα
βαααβα’ααΆαα,
αααααΆααα αα·αααααααα ααααααααΆαααΆααα’αααα αααα»αααΆααααααΆααααααΌαααΆαα α»αα αααααααΆαα αααααΆαααΆαααΆαααααΆαααααααααΆααααααααα αααα MITM ααΌα ααααααααα·αααΎααΆααααα·αααΌα ααΆαααααα½ααα ααΎααααΌααααΆααααΆαααΈαααααα αα·ααααΆαααΈααα αααα’αΆα ααααΆααα ααΆα ααα αα·ααααα αααΆααΆα ααΆααα’αΆα ααααΌααα·ααααα ααααααααΆααααααΆααααααααααΆααααΆαααα α’αΆααααααΆααα½ααααααααα αα·ααααααΎαααααΌαααΌααααααααΈααΈαααΆαααΈαααααα·ααα½αα±αααα»αα α·αααα
ααααα·αααΎα’αααααΆααααΆααααΆααααα·αα’αααΈαααααα½ααα»αααα αααααααααα αΆαα ααααΈα ααΆα αααααΆαα αααΎααα αααα»αααααΌα ααΌααα»αααααΆααααααΎααααα»αααΆααα·ααΆαα
ααααα·ααΈααα encapsulation αα αααα»α UDP ααΆααααα αΆααααα½αα―ααααΆαααα’α ααΎαααααααααα ααΉαααΆααα»ααααααααΎ IP ααΆααΆααααααααΆαααΆα α αΎαααΆααΏααααΏαααΆα αααααΈααΆααΆαααααααααΈααΎααααΆα UDP αααααα αααααΊαααααΆαααααΆααα·ααααααΆαααΆαααΈαααΆαα αααΎααα ααΎα’ααΈαααΊαα·αααααΎαααΆαααΆαααα’ααααΆαα½ααα·ααΈααΆαααααα·αααααα»αα ααα½αααΈααΊ TCP, UDP, ICMP α αααααααΆαααααααα’αΆα ααααααα’αααΈαααααααααααΆαααααα»α α¬ααααΎαααΆαααΆααΆααααααΊα αααααααΆααααΌαααΆαααααΎα±αααααααΎααααααΆααααααΆααααΈαααααα»αααααα
ααΆα§ααΆα ααα αααααΆααΌαα ααα»ααα QUICK ααα HTTP/3 ααααΌαααΆααααααΎαα‘αΎααα ααΎααααΌα UDP α αΎααα·αααααα ααΎ IP αααααα
ααΆααΆααααααΎαααΆαα, ααΆααααααααααααΆαα, ααΆααααααα αΎαααΎααααΈααΎαααΈαααααααααΆααααΎαααΆααα αααα»α "αα·αααα·α" α
αααααΌαα·
ααααΎααΎααααΈααααΆααααΆααα·αααα·α iperf3
. ααΎαα·ααΆαααΈααααα·αααααΆααααα·αααααααΆαααΉαααΆααα·α αααααΊαααα αΆαααααα ααααΉαααΆαααααΆααααΆααα·αααα·ααα
αααα»α Minecraft ααα»αααααααααΆααααααααααΆααΉαααααΎααΆαα
α’αααα αΌααα½ααααα»αααΆαααααα½αα
- ααΆαααααααΆααααα
- ααΈααα»ααααα’ααααααααααΊ ipipou
- OpenVPN ααΆαα½αααΆααααααααααΆαα ααα»ααααααααΆαααΆαα’αα·αααααΈαααα
- OpenVPN αα αααα»ααααααα½ααααα αΌαααΆααα’ααα
- WireGuard αααααααΆα PresharedKey ααΆαα½α MTU=1440 (α αΆααααΆααααΈ IPv4 ααααα»ααααα)
αα·αααααααα
αα
ααααααααααΆαα geeks
ααααααααααΌαααΆααααααααααΎααΆααααααααΆααΌα
ααΆααααααα
αα ααΎα’αα·αα·ααα
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"
ααΆαααααααα ααΆααααααααααααΌαααΌααααααααΈ
α’αΆαααΈααΌ
αααΆαααΈααα
/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 (ααααΆαααΆαα’αα·αααααΈαααΆαα½αααΆααααααααααΆαα)
αααΆαααΈααα
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 α’αααΈααααααααΆαααΆαααΆαααααΉααα»α)
ααααααα
ααΆαααααααααααααααΎ
α’αααααΆαααΆααααα
αααΆαααΈααα
/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 αααα Server αα·ααααααΆααΆαα
ααα’α»ααααα αΆαααααΆααααααα αααααΆααα... ααΆαααααΆααααααΆα
αααΎααααααααααα»αααααΎαααΆααα
ααΈααα ααααααααα½ααααααΈααααΆαα
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
ααΆααααααα»ααα½α 1 Gbps αα»αα·αααα·αα·αα
αααα»ααααααααααΈααΆααα’αα ipipou ααΆαααΆααααα·αααααααΆααααα»αααΆαα’αα»ααααα
ααααααα»αααα·αααΌαααααΆα ααααα·αααΆααα’ααΆαα!
ααααΌαααΌααααααααΈ openvpn ααααα·αααΆαα’αα·αααααΈαααΆαα’αΆαααααα·αα·ααΆα ααααααα αααα»αααααΈααΆααααΈαα
ααααα·αααΎα’αααααΆααααΆααααΉαααΆαααααααΆααΉααα½αα±ααα αΆααα’αΆαααααααααα»αααΆαααααΆααααα·αααααα
ααΌαα±αα IPv6 αα·α NetPrickle αα
ααΆαα½αααΎα!
ααααα: www.habr.com