Èske WireGuard gwo VPN nan tan kap vini an?

Èske WireGuard gwo VPN nan tan kap vini an?

Lè a rive lè VPN se pa yon zouti ekzotik administratè sistèm bab. Itilizatè yo gen travay diferan, men reyalite a se ke tout moun bezwen yon VPN.

Pwoblèm nan ak solisyon VPN aktyèl yo se ke yo difisil pou konfigirasyon kòrèkteman, chè pou kenbe, epi yo plen ak kòd eritaj nan bon jan kalite dout.

Plizyè ane de sa, espesyalis sekirite enfòmasyon Kanadyen Jason A. Donenfeld te deside ke li te gen ase ak li te kòmanse travay sou WireGuard. WireGuard ap prepare kounye a pou enklizyon nan nwayo Linux la e li menm resevwa lwanj nan men Linus Torvalds ak Sena ameriken.

Reklame avantaj ki genyen nan WireGuard sou lòt solisyon VPN:

  • Fasil pou itilize.
  • Sèvi ak kriptografi modèn: kad pwotokòl bri, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, elatriye.
  • Kontra enfòmèl ant, kòd lizib, pi fasil pou envestige pou frajilite.
  • Gwo pèfòmans.
  • Klè ak elabore spesifikasyon.

Èske yo te jwenn yon bal an ajan? Èske li tan pou antere OpenVPN ak IPSec? Mwen deside fè fas ak sa a, e an menm tan mwen te fè script pou enstale otomatikman yon sèvè VPN pèsonèl.

Prensip travay

Prensip fonksyònman yo ka dekri yon bagay tankou sa a:

  • Yo kreye yon koòdone WireGuard epi yo ba li yon kle prive ak adrès IP. Anviwònman lòt parèy yo chaje: kle piblik yo, adrès IP, elatriye.
  • Tout pake IP ki rive nan koòdone WireGuard yo encapsulé nan UDP ak delivre san danje lòt kanmarad.
  • Kliyan yo presize adrès IP piblik sèvè a nan paramèt yo. Sèvè a otomatikman rekonèt adrès ekstèn kliyan yo lè yo resevwa done yo kòrèkteman otantifye.
  • Sèvè a ka chanje adrès IP piblik la san yo pa entèwonp travay li. An menm tan an, li pral voye yon alèt bay kliyan konekte epi yo pral mete ajou konfigirasyon yo sou vole.
  • Yo itilize konsèp routage Cryptokey Routage. WireGuard aksepte epi voye pake ki baze sou kle piblik kanmarad la. Lè sèvè a dekripte yon pake kòrèkteman otantifye, jaden src li yo tcheke. Si li matche ak konfigirasyon an allowed-ips parèy otantifye, pake a resevwa pa koòdone WireGuard la. Lè w ap voye yon pake sortan, pwosedi ki koresponn lan rive: yo pran jaden dst nan pake a epi, ki baze sou li, yo chwazi kanmarad ki koresponn lan, yo siyen pake a ak kle li yo, yo ankripte ak kle kanmarad la epi yo voye l nan pwen final la aleka. .

Tout lojik debaz WireGuard la pran mwens pase 4 mil liy kòd, pandan y ap OpenVPN ak IPSec gen dè santèn de milye liy. Pou sipòte algoritm kriptografik modèn yo, li pwopoze pou mete yon nouvo API kriptografik nan nwayo Linux la. zenk. Gen kounye a yon diskisyon k ap pase sou si sa a se yon bon lide.

Pwodiktivite

Avantaj nan pèfòmans maksimòm (konpare ak OpenVPN ak IPSec) pral aparan sou sistèm Linux, depi WireGuard aplike kòm yon modil nwayo la. Anplis de sa, macOS, Android, iOS, FreeBSD ak OpenBSD yo sipòte, men nan yo WireGuard kouri nan espas itilizatè ak tout konsekans pèfòmans ki vin apre. Sipò Windows espere ajoute nan fiti prè.

Rezilta referans ak sit ofisyèl:

Èske WireGuard gwo VPN nan tan kap vini an?

Eksperyans itilizasyon mwen an

Mwen pa yon ekspè VPN. Mwen yon fwa mete kanpe OpenVPN manyèlman e li te fatigan anpil, epi mwen pa t 'menm eseye IPSec. Gen twòp desizyon pou pran, li trè fasil pou tire tèt ou nan pye. Se poutèt sa, mwen toujou itilize scripts pare pou konfigirasyon sèvè a.

Se konsa, WireGuard, nan pwen de vi mwen, se jeneralman ideyal pou itilizatè a. Tout desizyon ki ba nivo yo pran nan spesifikasyon an, kidonk pwosesis pou prepare yon enfrastrikti VPN tipik pran sèlman kèk minit. Li se prèske enposib tronpe nan konfigirasyon an.

Enstalasyon pwosesis dekri an detay sou sit entènèt ofisyèl la, mwen ta renmen separeman sonje ekselan la Sipò OpenWRT.

Kle chifreman yo pwodwi pa sèvis piblik la wg:

SERVER_PRIVKEY=$( wg genkey )
SERVER_PUBKEY=$( echo $SERVER_PRIVKEY | wg pubkey )
CLIENT_PRIVKEY=$( wg genkey )
CLIENT_PUBKEY=$( echo $CLIENT_PRIVKEY | wg pubkey )

Apre sa, ou bezwen kreye yon konfigirasyon sèvè /etc/wireguard/wg0.conf ak kontni sa a:

[Interface]
Address = 10.9.0.1/24
PrivateKey = $SERVER_PRIVKEY
[Peer]
PublicKey = $CLIENT_PUBKEY
AllowedIPs = 10.9.0.2/32

epi ogmante tinèl la ak yon script wg-quick:

sudo wg-quick up /etc/wireguard/wg0.conf

Sou sistèm ak systemd ou ka sèvi ak sa a pito sudo systemctl start [email protected].

Sou machin kliyan an, kreye yon konfigirasyon /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = $CLIENT_PRIVKEY
Address = 10.9.0.2/24
[Peer]
PublicKey = $SERVER_PUBKEY
AllowedIPs = 0.0.0.0/0
Endpoint = 1.2.3.4:51820 # Внешний IP сервера
PersistentKeepalive = 25 

Epi leve tinèl la menm jan an:

sudo wg-quick up /etc/wireguard/wg0.conf

Tout sa ki rete se konfigirasyon NAT sou sèvè a pou kliyan yo ka jwenn aksè nan entènèt la, epi w ap fini!

Sa a fasilite nan itilize ak konpak nan baz kòd la te reyalize pa elimine fonksyonalite nan distribisyon kle. Pa gen okenn sistèm sètifika konplèks ak tout laterè antrepriz sa a; kle chifreman kout yo distribye anpil tankou kle SSH. Men, sa poze yon pwoblèm: WireGuard pa pral tèlman fasil aplike sou kèk rezo ki egziste deja.

Pami dezavantaj yo, li vo anyen ke WireGuard pa pral travay atravè yon proxy HTTP, paske se sèlman pwotokòl UDP ki disponib kòm yon transpò. Kesyon an rive: èske li pral posib pou bouche pwotokòl la? Natirèlman, sa a se pa travay dirèk nan yon VPN, men pou OpenVPN, pou egzanp, gen fason yo degize tèt li kòm HTTPS, ki ede moun ki abite nan peyi totalitè yo konplètman itilize entènèt la.

Jwenn

Pou rezime, sa a se yon pwojè trè enteresan ak pwomèt, ou ka deja itilize li sou sèvè pèsonèl. Ki pwofi a? Segondè pèfòmans sou sistèm Linux, fasilite nan konfigirasyon ak sipò, baz kòd kontra enfòmèl ant ak lizib. Sepandan, li twò bonè pou w prese transfere yon enfrastrikti konplèks nan WireGuard; li vo ap tann pou enklizyon li nan nwayo Linux la.

Pou sove tan mwen (ak ou), mwen devlope WireGuard otomatik enstale. Avèk èd li, ou ka mete yon vpn pèsonèl pou tèt ou ak zanmi ou san yo pa menm konprann anyen sou li.

Sous: www.habr.com

Add nouvo kòmantè