ipipou: صرف هڪ غير محفوظ ٿيل سرنگ کان وڌيڪ

اسان IPv6 جي خدا کي ڇا چئي رهيا آهيون؟

ipipou: صرف هڪ غير محفوظ ٿيل سرنگ کان وڌيڪ
اهو صحيح آهي، اسان اڄ به انڪرپشن جي ديوتا کي اهو ئي چوندا سين.

هتي اسان هڪ اڻ ڳڻي IPv4 سرنگ بابت ڳالهائينداسين، پر هڪ "گرم چراغ" بابت نه، پر هڪ جديد "ايل اي ڊي" بابت. ۽ هتي به خام ساکٽ چمڪي رهيا آهن، ۽ ڪم جاري آهي پيڪيٽس سان گڏ يوزر اسپيس ۾.

هر ذائقي ۽ رنگ لاءِ N سرنگنگ پروٽوڪول آهن:

  • سجيل، فيشني، نوجوان وائر ڪارڊ
  • ملٽي فنڪشنل، سوئس چاقو وانگر، OpenVPN ۽ SSH
  • پراڻي ۽ برائي نه GRE
  • سڀ کان سادو، تيز، مڪمل طور تي اڻ ڳجهو IPIP
  • فعال طور تي ترقي ڪري رهيو آهي جنيوا
  • ٻيا ڪيترائي.

پر مان ھڪڙو پروگرامر آھيان، تنھنڪري مان صرف N وڌائيندس ھڪڙو حصو، ۽ حقيقي پروٽوڪول جي ترقي کي Kommersant ڊولپرز کي ڇڏي ڏيندس.

هڪ اڻ ڄاول ۾ منصوبومان هاڻي ڇا ڪري رهيو آهيان ٻاهر کان NAT جي پويان ميزبانن تائين پهچڻ آهي. ان لاءِ بالغن جي ڪرپٽوگرافي سان گڏ پروٽوڪول استعمال ڪندي، مان ان احساس کي ڇڪي نه سگهيس ته اهو هڪ تپ مان نڪتل اسپري وانگر هو. ڇاڪاڻ ته سرنگ گهڻو ڪري استعمال ڪيو ويندو آهي صرف NAT-e ۾ سوراخ ڪرڻ لاءِ، اندروني ٽريفڪ عام طور تي انڪريپٽ ٿيل هوندي آهي، پر اهي اڃا تائين HTTPS ۾ ٻڏي وينديون آهن.

مختلف سرننگ پروٽوڪول جي تحقيق ڪرڻ دوران، منهنجي اندروني تڪميل پسند جو ڌيان IPIP ڏانهن ان جي گهٽ ۾ گهٽ مٿي جي ڪري بار بار ڪيو ويو. پر هن ۾ منهنجي ڪمن لاءِ هڪ اڌ اهم خاميون آهن:

  • ان کي ٻنهي طرفن تي عوامي IPs جي ضرورت آهي،
  • ۽ توهان جي ڪا به تصديق نه آهي.

تنهن ڪري، ڪمال کي واپس کوپڙي جي اونداهي ڪنڊ ۾ هليو ويو، يا جتي هو اتي ويٺو هو.

۽ پوءِ هڪ ڏينهن، مضمون پڙهڻ دوران مقامي طور تي سپورٽ ٿيل سرنگون لينڪس ۾ مون کي FOU (Foo-over-UDP)، يعني. جيڪو به، UDP ۾ لپي ويو. هينئر تائين، صرف IPIP ۽ GUE (Generic UDP Encapsulation) سپورٽ آهن.

”هتي آهي چانديءَ جي گولي! هڪ سادي IPIP منهنجي لاءِ ڪافي آهي. - مون سوچيو.

حقيقت ۾، گولي مڪمل طور تي چانديء جو نه نڪتو. UDP ۾ Encapsulation پهريون مسئلو حل ڪري ٿو - توهان اڳ ۾ قائم ڪيل ڪنيڪشن استعمال ڪندي ٻاهران NAT جي پويان گراهڪن سان ڳنڍي سگهو ٿا، پر هتي IPIP جي ايندڙ خرابين جو اڌ هڪ نئين روشني ۾ - هڪ خانگي نيٽ ورڪ مان ڪو به ماڻهو لڪائي سگهي ٿو. عوامي IP ۽ ڪلائنٽ پورٽ (خالص IPIP ۾ اهو مسئلو موجود ناهي).

هن هڪ اڌ مسئلي کي حل ڪرڻ لاء، افاديت پيدا ٿيو ipipou. اهو هڪ ريموٽ ميزبان جي تصديق ڪرڻ لاءِ گهر ۾ ٺاهيل ميڪانيزم لاڳو ڪري ٿو، بغير ڪرنل FOU جي آپريشن کي روڪيو، جيڪو جلدي ۽ موثر طريقي سان ڪرنل اسپيس ۾ پيڪيٽس کي پروسيس ڪندو.

اسان کي توهان جي اسڪرپٽ جي ضرورت ناهي!

ٺيڪ، جيڪڏهن توهان ڄاڻو ٿا عوامي بندرگاهن ۽ ڪلائنٽ جو 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 انٽرفيس eth0 تي لڳايو ويو آهي
  • 10001 - FOU لاءِ مقامي ڪلائنٽ پورٽ
  • 20001 - FOU لاءِ عوامي ڪلائنٽ پورٽ
  • 10000 - FOU لاءِ عوامي سرور پورٽ
  • encap-csum - يو ڊي پي چيڪسم کي شامل ڪرڻ جو اختيار شامل ڪيو ويو UDP پيڪٽس ۾؛ طرفان تبديل ڪري سگهجي ٿو noencap-csum، ذڪر نه ڪرڻ، سالميت اڳ ۾ ئي ٻاهرين encapsulation پرت جي ڪنٽرول آهي (جڏهن ته پيڪٽ سرنگ جي اندر آهي)
  • eth0 - مقامي انٽرفيس جنهن سان ipip سرنگ کي پابند ڪيو ويندو
  • 172.28.0.1 - ڪلائنٽ سرنگ انٽرفيس جو IP (نجي)
  • 172.28.0.0 - IP سرنگ سرور انٽرفيس (نجي)

جيستائين 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 queue handler ٺاهي ٿو ۽ نيٽ فلٽر کي ترتيب ڏئي ٿو ته جيئن ضروري پيڪيٽس موڪليا وڃن جتي اهي هجڻ گهرجن: پيڪيٽس nfqueue قطار سان ڪنيڪشن جي شروعات ڪن ٿا، ۽ [تقريبا] باقي سڀ سڌو سنئون FOU ڏانهن وڃو.

انهن لاءِ جيڪي نه ڄاڻن ٿا، nfqueue (يا NetfilterQueue) شوقينن لاءِ هڪ خاص شيءِ آهي جيڪي نه ٿا ڄاڻن ته ڪنيل ماڊل ڪيئن ٺاهيا وڃن، جيڪي netfilter (nftables/iptables) استعمال ڪندي توهان کي نيٽ فلٽر (nftables/iptables) استعمال ڪرڻ جي اجازت ڏين ٿا نيٽ ورڪ پيڪٽس کي يوزر اسپيس ڏانهن ريڊائريڪٽ ڪري ۽ انهن کي اتي پروسيس ڪري primitive مطلب هٿ ۾: تبديل ڪريو (اختياري) ۽ ان کي واپس ڪرنل ڏانهن ڏيو، يا ان کي رد ڪريو.

ڪجھ پروگرامنگ ٻولين لاءِ nfqueue سان ڪم ڪرڻ لاءِ پابند آھن، بش لاءِ ڪو به نه ھو (ھي، حيرت انگيز نه آھي)، مون کي پائٿون استعمال ڪرڻو پيو: ipipou use نيٽ فلٽر قطار.

جيڪڏهن ڪارڪردگي نازڪ نه آهي، هن شيء کي استعمال ڪندي توهان نسبتا جلدي ۽ آساني سان پنهنجي منطق ٺاهي سگهو ٿا پيڪٽ سان ڪم ڪرڻ لاء ڪافي گهٽ سطح تي، مثال طور، تجرباتي ڊيٽا جي منتقلي پروٽوڪول ٺاهي، يا غير معياري رويي سان مقامي ۽ ريموٽ سروسز کي ٽرول.

خام ساکٽ nfqueue سان هٿ ۾ هٿ ۾ ڪم ڪن ٿا، مثال طور، جڏهن سرنگ اڳ ۾ ئي ترتيب ڏنل آهي ۽ FOU گهربل بندرگاهن تي ٻڌي رهيو آهي، توهان عام طريقي سان ساڳئي بندرگاهن مان پيڪٽ موڪلڻ جي قابل نه هوندا - اهو مصروف آهي، پر توهان وٺي سگهو ٿا ۽ هڪ بي ترتيب ٺاهيل پيڪٽ سڌو سنئون نيٽ ورڪ انٽرفيس ڏانهن هڪ خام ساکٽ استعمال ڪندي موڪلي سگهو ٿا، جيتوڻيڪ اهڙي پيڪٽ پيدا ڪرڻ لاء ٿورو وڌيڪ ٽنگنگ جي ضرورت پوندي. هي آهي ته ڪيئن تصديق سان پيڪيٽ ٺاهيا ويا آهن ipipou ۾.

جيئن ته ipipou ڪنيڪشن مان صرف پهرين پيڪٽس کي پروسيس ڪري ٿو (۽ جيڪي ڪنيڪشن قائم ٿيڻ کان اڳ قطار ۾ لڪي وڃڻ ۾ منظم ٿيا)، ڪارڪردگي تقريبن متاثر نه ٿيندي آهي.

جيئن ئي ipipou سرور هڪ تصديق ٿيل پيڪٽ حاصل ڪري ٿو، هڪ سرنگ ٺاهي ويندي آهي ۽ ڪنيڪشن ۾ ايندڙ سڀ پيڪٽ اڳ ۾ ئي عمل ڪيا ويندا آهن ڪنييل طرفان nfqueue کي پاس ڪندي. جيڪڏهن ڪنيڪشن ناڪام ٿئي ٿو، ته پوءِ سيٽنگن تي منحصر ڪري ايندڙ هڪ جو پهريون پيڪٽ nfqueue قطار ڏانهن موڪليو ويندو، جيڪڏهن اهو تصديق سان پيڪٽ نه آهي، پر آخري ياد ڪيل IP ۽ ڪلائنٽ پورٽ مان، اهو يا ته پاس ڪري سگهجي ٿو. تي يا رد ڪيو ويو. جيڪڏهن هڪ تصديق ٿيل پيڪٽ نئين IP ۽ بندرگاهن مان اچي ٿو، سرنگ انهن کي استعمال ڪرڻ لاء ٻيهر ترتيب ڏني وئي آهي.

عام IPIP-over-FOU ۾ ھڪڙو وڌيڪ مسئلو آھي جڏھن NAT سان ڪم ڪري رھيا آھن - اھو ناممڪن آھي ٻن IPIP سرنگن کي ٺاھيو وڃي UDP ۾ ساڳي IP سان، ڇاڪاڻ ته FOU ۽ IPIP ماڊل ھڪ ٻئي کان بلڪل الڳ آھن. اهي. ساڳئي عوامي IP جي پويان ڪلائنٽ جو هڪ جوڙو هن طريقي سان ساڳئي سرور سان ڳنڍڻ جي قابل نه هوندو. مستقبل ۾، ممڪن آهي, ان کي kernel سطح تي حل ڪيو ويندو، پر اهو پڪ ناهي. ساڳئي وقت ۾، NAT مسئلا NAT ذريعي حل ٿي سگهن ٿا - جيڪڏهن اهو ٿئي ٿو ته IP پتي جو هڪ جوڙو اڳ ۾ ئي هڪ ٻي سرنگ تي قبضو ڪيو ويو آهي، ipipou عوام کان هڪ متبادل نجي IP ڏانهن NAT ڪندو، voila! - توھان ٺاھي سگھوٿا سرنگون جيستائين بندرگاھ ختم ٿي وڃن.

ڇاڪاڻ ته ڪنيڪشن ۾ موجود سڀئي پيڪيٽ سائن نه ٿيل آهن، پوءِ هي سادو تحفظ MITM لاءِ خطرناڪ آهي، تنهن ڪري جيڪڏهن ڪلائنٽ ۽ سرور جي وچ ۾ رستي تي ڪو ويلو لڪي رهيو آهي، جيڪو ٽريفڪ کي ٻڌي ۽ ان ۾ ڦيرڦار ڪري سگهي ٿو، ته هو تصديق ٿيل پيڪن کي ريڊائريڪٽ ڪري سگهي ٿو. ٻيو پتو ۽ هڪ ناقابل اعتماد ميزبان مان هڪ سرنگ ٺاهيو.

جيڪڏهن ڪنهن وٽ خيال آهن ته هن کي ڪيئن حل ڪجي جڏهن ته بنيادي طور تي ٽرئفڪ جي وڏي تعداد کي ڇڏي ڏيو، ڳالهائڻ ۾ سنکوڪ نه ڪريو.

رستي جي ذريعي، UDP ۾ encapsulation پاڻ کي تمام سٺو ثابت ڪيو آهي. IP مٿان encapsulation جي مقابلي ۾، اهو UDP هيڊر جي اضافي مٿي جي باوجود گهڻو وڌيڪ مستحڪم ۽ اڪثر تيز آهي. اهو ان حقيقت جي ڪري آهي ته انٽرنيٽ تي اڪثر ميزبان صرف ٽن مشهور پروٽوڪولن سان گڏ ڪم ڪن ٿا: TCP، UDP، ICMP. مزيدار حصو مڪمل طور تي هر شيء کي رد ڪري سگهي ٿو، يا ان کي وڌيڪ سست رفتار سان پروسيس ڪري سگهي ٿو، ڇاڪاڻ ته اهو صرف انهن ٽنهي لاء بهتر آهي.

مثال طور، اهو ئي سبب آهي ته QUICK، جنهن تي HTTP/3 ٻڌل آهي، ٺاهي وئي هئي UDP جي چوٽي تي، ۽ نه IP جي مٿان.

يقينن، ڪافي لفظ، اهو ڏسڻ جو وقت آهي ته اهو "حقيقي دنيا" ۾ ڪيئن ڪم ڪري ٿو.

لڙائي

حقيقي دنيا کي نقل ڪرڻ لاء استعمال ڪيو ويو iperf3. حقيقت جي ويجهڙائي جي درجي جي لحاظ کان، اهو تقريبا ساڳيو ئي آهي جهڙوڪ Minecraft ۾ حقيقي دنيا کي نقل ڪرڻ، پر هاڻي لاء اهو ڪندو.

مقابلي ۾ حصو وٺندڙ:

  • مکيه چينل جو حوالو
  • هن مضمون جو هيرو ipipou آهي
  • OpenVPN تصديق سان پر ڪو به انڪرپشن ناهي
  • OpenVPN سڀ-شامل موڊ ۾
  • WireGuard بغير PresharedKey، MTU = 1440 سان (صرف IPv4 کان)

geeks لاء ٽيڪنيڪل ڊيٽا
ميٽرڪ هيٺ ڏنل حڪمن سان ورتو وڃي ٿو:

ڪسٽمر تي:

يو ايس پي

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", чтобы лишние пакеты не плодить и не портить производительность.

ٽي پي

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

سرور تي (هڪ ئي وقت ڪلائنٽ سان گڏ هلندو آهي):

يو ايس پي

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

ٽي پي

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

سرنگ جي جوڙجڪ

ipipou
سرور
/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 --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-manage

تاردار
سرور
/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

نتيجا

نم بدصورت نشاني
سرور سي پي يو لوڊ تمام اشارو نه آهي، ڇاڪاڻ ته ... اتي ڪيتريون ئي ٻيون خدمتون هلندڙ آهن، ڪڏهن ڪڏهن اهي وسيلا کائيندا آهن:

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 ڪارڪردگي ۾ بيس چينل جي ويجهو آهي، جيڪو عظيم آهي!

اڻ ڳڻي اوپن وي پي اين سرنگ ٻنهي صورتن ۾ ڪافي عجيب طريقي سان ڪم ڪيو.

جيڪڏهن ڪو به ان کي جانچڻ وارو آهي، اهو راء ٻڌڻ لاء دلچسپ ٿيندو.

شايد IPv6 ۽ NetPricle اسان سان گڏ هجن!

جو ذريعو: www.habr.com

تبصرو شامل ڪريو