Krijojmë një router SOCKS në një laptop me Debian 10

PĂ«r njĂ« vit (apo dy) e kam shtyrĂ« publikimin e kĂ«tij artikulli pĂ«r njĂ« arsye kryesore — unĂ« kam botuar tashmĂ« dy artikuj, nĂ« tĂ« cilat kam pĂ«rshkruar procesin e krijimit tĂ« njĂ« router SOCKS nga njĂ« laptop i zakonshĂ«m me Debian.

Megjithatë, që nga ajo kohë, versioni stabil i Debian është përditësuar në Buster, dhe kam marrë një numër të mjaftueshëm kërkesash në mesazhe private për ndihmë me konfigurimin, çka do të thotë se artikujt e mi të mëparshëm nuk janë plotësisht të mjaftueshëm. E dija vetë që metodat e përshkruara atje nuk e zbulojnë plotësisht çdo nuancë të konfigurimit të Linux për rrugëzim në SOCKS. Për më tepër, ato janë shkruar për Debian Stretch, dhe pas përditësimit në Buster, në sistemin e inicializimit systemd, vura re disa ndryshime të vogla në bashkëveprimin e shërbimeve. Po ashtu, në këta artikuj nuk kam përdorur systemd-networkd, edhe pse është më e përshtatshme për konfigurime komplekse rrjetesh.

PĂ«rveç ndryshimeve tĂ« pĂ«rmendura mĂ« sipĂ«r, nĂ« konfigurimin tim janĂ« shtuar shĂ«rbime tĂ« tilla si hostapd — njĂ« shĂ«rbim pĂ«r virtualizimin e pikave tĂ« aksesit, ntp pĂ«r sinkronizimin e kohĂ«s sĂ« klientĂ«ve nĂ« rrjetin lokal, dnscrypt-proxy pĂ«r enkriptimin e lidhjeve pĂ«r protokollin DNS dhe pĂ«r çaktivizimin e reklamave nĂ« klientĂ«t e rrjetit lokal, siç e pĂ«rmenda mĂ« parĂ«, systemd-networkd pĂ«r konfigurimin e ndĂ«rfaqeve rrjeti.

Ja një diagram i thjeshtë të brendshëm të kësaj ruter.

Krijojmë një router SOCKS në një laptop me Debian 10

Pra, do t'ju kujtoj se çfarë qëllimesh ndjek ky cikël artikujsh:

  1. Të ruterizohet në SOCKS të gjitha lidhjet e OS-së, si dhe lidhjet e të gjitha pajisjeve që përfshihen në të njëjtin rrjet me laptopin.
  2. Laptopi në rastin tim duhet të mbetet plotësisht mobil. Kështu, ai duhet të ofrojë mundësinë për të përdorur ambientin e punës dhe të mos jetë i lidhur me një vendndodhje fizike.
  3. Pika e fundit nënkupton lidhjen dhe ruterizimin vetëm nëpërmjet ndërfaqes wireless të integruar.
  4. Sigurisht, gjithashtu krijimi i një udhëzuesi të plotë dhe shqyrtimi i teknologjive përkatëse brenda njohurive të mia modeste.

Ajo që do të shqyrtohet në këtë artikull:

  1. git — do tĂ« shkarkojmĂ« repo tĂ« projekteve tun2socks, i nevojshĂ«m pĂ«r ruterizimin e trafikut TCP nĂ« SOCKS, dhe create_ap — skript pĂ«r automatizimin e konfigurimit tĂ« pikĂ«s virtuale tĂ« qasjes me hostapd.
  2. tun2socks — do tĂ« ndĂ«rtojmĂ« dhe installojmĂ« shĂ«rbimin systemd nĂ« sistem.
  3. systemd-networkd — do tĂ« konfigurojmĂ« ndĂ«rfaqet pa tel dhe virtuale, tabelat e rrugĂ«zimit statik dhe rikthimin e paketave.
  4. create_ap — do tĂ« instalojmĂ« shĂ«rbimin systemd nĂ« sistem, do ta konfigurojmĂ« dhe do ta nisnim pikĂ«n virtuale tĂ« qasjes.

Hapat e opsional:

  • ntp — do tĂ« instalojmĂ« dhe konfigurojmĂ« njĂ« server pĂ«r sinkronizimin e kohĂ«s tek klientĂ«t e pikĂ«s virtuale tĂ« qasjes.
  • dnscrypt-proxy — do tĂ« enkriptojmĂ« kĂ«rkesat DNS, do t'i rrugĂ«zojmĂ« ato nĂ« SOCKS dhe do tĂ« shkĂ«putim domenet reklamues pĂ«r rrjetin lokal.

Pse e gjithë kjo?

Ky Ă«shtĂ« njĂ« nga mĂ«nyrat pĂ«r tĂ« organizuar mbrojtjen e lidhjeve TCP nĂ« rrjetin lokal. Avantazhi kryesor Ă«shtĂ« se tĂ« gjitha lidhjet kalojnĂ« nĂ« SOCKS, pĂ«rveç nĂ«se Ă«shtĂ« ndĂ«rtuar njĂ« rrugĂ« statike pĂ«rmes kalimit origjinal. Kjo do tĂ« thotĂ« se nuk Ă«shtĂ« e nevojshme tĂ« shkruhen cilĂ«simet e shĂ«rbimit SOCKS pĂ«r asnjĂ« program tĂ« veçantĂ«, as pĂ«r klientĂ«t nĂ« rrjetin lokal — tĂ« gjithĂ« kalojnĂ« nĂ« SOCKS siç Ă«shtĂ« parazgjedhur, ndĂ«rsa ai mbetet kalimi i parazgjedhur derisa tĂ« pĂ«rcaktojmĂ« ndryshe.

Në thelb ne shtojmë një ruter të dytë të enkriptuar si një laptop para ruterit origjinal dhe përdorim lidhjen e internetit të ruterit origjinal për kërkesat SOCKS të enkriptuara tashmë nga laptopi, i cili, nga ana e tij, riorienton dhe enkripton kërkesat e klientëve në rrjetin lokal.

Nga pikëpamja e ofruesit, ne jemi vazhdimisht të lidhur me një server me trafiku të enkriptuar.

Përkatësisht, të gjitha pajisjet lidhen me një pikë qasje virtuale të laptopit.

Instaloni në sistem tun2socks

Nëse keni internet në makinën tuaj, shkarkoni të gjitha mjetet e nevojshme.

apt update
apt install git make cmake

Shkarkoni paketën badvpn

git clone https://github.com/ambrop72/badvpn

Në sistemin tuaj do të ketë një dosje badvpn. Krijoni një dosje të veçantë për ndërtimin

mkdir badvpn-build

Shkoni në të

cd badvpn-build

Ndërtoni tun2socks

cmake ../badvpn -DBUILD_NOTHING_BY_DEFAULT=1 -DBUILD_TUN2SOCKS=1

Instaloni në sistem

make install
  • Parametri -DBUILD_NOTHING_BY_DEFAULT=1 çon nĂ« ndalimin e ndĂ«rtimit tĂ« tĂ« gjithĂ« komponentĂ«ve tĂ« repositorit badvpn.
  • —DBUILD_TUN2SOCKS=1 aktivizon ndĂ«rtimin e komponentit tun2socks.
  • make install do tĂ« instalohet binari tun2socks nĂ« sistemin tuaj nĂ« adresĂ«n /usr/local/bin/badvpn-tun2socks.

Instaloni shërbimin tun2socks në systemd

Krijoni një skedar /etc/systemd/system/tun2socks.service me përmbajtjen e mëposhtme:

[Unit]
Description=SOCKS TCP Relay

[Service]
ExecStart=/usr/local/bin/badvpn-tun2socks --tundev tun2socks --netif-ipaddr 172.16.1.1 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:9050

[Install]
WantedBy=multi-user.target
  • --tundev — merr emrin e ndĂ«rfaqes virtuale qĂ« ne e inicializojmĂ« me ndihmĂ«n e systemd-networkd.
  • --netif-ipaddr — adresa rrjetit 'router'-it tun2socks, me tĂ« cilin lidhim ndĂ«rfaqen virtuale. E rekomanduar Ă«shtĂ« qĂ« tĂ« krijohet njĂ« nĂ«nrrjet rezervuar.
  • --socks-server-addr — merr soket (adresa:port e serverit SOCKS).

Nëse serveri juaj SOCKS kërkon autentifikim, mund të specifikoni parametrat --username dhe --password.

Më pas regjistroni shërbimin

systemctl daemon-reload

Dhe aktivizoni

systemctl enable tun2socks

Para se të ndizni shërbimin, do t'ia sigurojmë atij një ndërfaqe rrjeti virtuale.

Kalojmë në systemd-networkd

Aktivizojmë systemd-networkd:

systemctl enable systemd-networkd

Çaktivizoni shĂ«rbimet aktuale tĂ« rrjetit.

systemctl disable networking NetworkManager NetworkManager-wait-online
  • NetworkManager-wait-online — Ă«shtĂ« njĂ« shĂ«rbim qĂ« pret qĂ« tĂ« ketĂ« njĂ« lidhje rrjeti funksionale para se systemd tĂ« vazhdojĂ« tĂ« nisĂ« shĂ«rbime tĂ« tjera qĂ« varen nga disponueshmĂ«ria e rrjetit. Ne e çaktivizojmĂ« atĂ«, pasi do tĂ« kalojmĂ« nĂ« njĂ« pĂ«rgjigjĂ«se systemd-networkd.

Le të aktivizohemi menjëherë:

systemctl enable systemd-networkd-wait-online

Konfiguroni ndërfaqen e rrjetit wireless

Krijoni një skedar konfigurimi systemd-networkd për ndërfaqen e rrjetit të wireless /etc/systemd/network/25-wlp6s0.network.

[Match]
Name=wlp6s0

[Network]
Address=192.168.1.2/24
IPForward=yes
  • Emri — Ă«shtĂ« emri i ndĂ«rfaqes tuaj tĂ« rrjetit wireless. Identifikoni atĂ« me komandĂ«n ip a.
  • IPForward — Ă«shtĂ« direktiva qĂ« aktivizon ridrejtime tĂ« paketave nĂ« ndĂ«rfaqen e rrjetit.
  • Adresa merret me caktimin e adresĂ«s IP pĂ«r ndĂ«rfaqen wireless. E caktuam atĂ« statikisht sepse me direktivĂ«n ekvivalente DHCP=yes, systemd-networkd krijon njĂ« portĂ« tĂ« paracaktuar nĂ« sistem. AtĂ«herĂ« gjithĂ« trafiku do tĂ« kalojĂ« pĂ«rmes portĂ«s origjinale, jo pĂ«rmes ndĂ«rfaqes virtuale tĂ« ardhshme nĂ« njĂ« subnet tĂ« ndryshme. Mund ta kontrolloni portĂ«n aktuale tĂ« paracaktuar me komandĂ«n ip r

Krijoni një rrugë statike për serverin tuaj SOCKS

Nëse serveri juaj SOCKS nuk është lokal, por i largët, duhet të krijoni një rrugë statike për të. Për këtë, shtoni një seksion Route në fund të skedarit tuaj të konfigurimit të ndërfaqes wireless me përmbajtjen e mëposhtme:

[Route]
Gateway=192.168.1.1
Destination=0.0.0.0
  • Gateway — Ă«shtĂ« porti i paracaktuar ose adresa e pikĂ«s suaj origjinale tĂ« qasjes.
  • Destination — adresa e serverit SOCKS.

Konfiguroni wpa_supplicant për systemd-networkd

systemd-networkd pĂ«rdor wpa_supplicant pĂ«r t'u lidhur me njĂ« pikĂ« aksesi tĂ« mbrojtur. Kur pĂ«rpiqet tĂ« "ngrejĂ«" ndĂ«rfaqen wireless, systemd-networkd aktivizon shĂ«rbimin wpa_supplicant@emri, ku emri — Ă«shtĂ« emri i ndĂ«rfaqes wireless. NĂ«se nuk keni pĂ«rdorur systemd-networkd deri tani, ndoshta ky shĂ«rbim nuk ekziston nĂ« sistemin tuaj.

Prandaj krijoni atë me komandën:

systemctl enable wpa_supplicant@wlp6s0

Unë kam përdorur wlp6s0 si emrin e ndërfaqes time wireless. Emri juaj mund të ndryshojë. Mund ta zbuloni atë me komandën ip l.

Tani shërbimi i krijuar wpa_supplicant@wlp6s0 do të aktivizohet kur "ngrihet" ndërfaqja wireless, megjithatë, nga ana e saj, do të kërkojë cilësimet SSID dhe fjalëkalimin e pikës së aksesit në skedarin /etc/wpa_supplicant/wpa_supplicant-wlp6s0. Prandaj, është e nevojshme ta krijoni atë me ndihmën e utilitarit wpa_passphrase.

Për këtë, ekzekutoni komandën:

wpa_passphrase SSID password>/etc/wpa_supplicant/wpa_supplicant-wlp6s0.conf

ku SSID — Ă«shtĂ« emri i pikĂ«s suaj tĂ« aksesit, password — Ă«shtĂ« fjalĂ«kalimi, dhe wlp6s0 — emri i ndĂ«rfaqes suaj wireless.

Inicioni ndërfaqen virtuale për tun2socks

Krijoni një skedar për inicializimin e një ndërfaqeje të re virtuale në sistem/etc/systemd/network/25-tun2socks.netdev

[NetDev]
Name=tun2socks
Kind=tun
  • Emri — Ă«shtĂ« emri qĂ« systemd-networkd do t'i caktojĂ« ndĂ«rfaqes virtuale tĂ« ardhshme gjatĂ« inicializimit tĂ« saj.
  • Lloji — Ă«shtĂ« tipi i ndĂ«rfaqes virtuale. Duke u bazuar nĂ« emrin e shĂ«rbimit tun2socks, mund tĂ« supozoni se pĂ«rdor njĂ« ndĂ«rfaqe tĂ« tipit tun.
  • netdev — Ă«shtĂ« njĂ« pĂ«rshkrim skedari qĂ« systemd-networkd pĂ«rdoret pĂ«r inicializimin e ndĂ«rfaqeve tĂ« rrjetit virtual. Adresa dhe parametra tĂ« tjerĂ« tĂ« rrjetit pĂ«r kĂ«to ndĂ«rfaqe janĂ« tĂ« caktuara nĂ« .rrjet-skedarĂ«t.

Krijoni një skedar të tillë /etc/systemd/network/25-tun2socks.network me përmbajtjen e mëposhtme:

[Match]
Name=tun2socks

[Network]
Address=172.16.1.2/24
Gateway=172.16.1.1
  • Emri — emri i ndĂ«rfaqes virtuale qĂ« keni caktuar nĂ« netdev-skedarin.
  • Adresa — IP adresa qĂ« do t'i caktohet ndĂ«rfaqes virtuale. Duhet tĂ« jetĂ« nĂ« tĂ« njĂ«jtin rrjet me adresĂ«n qĂ« keni caktuar nĂ« shĂ«rbimin tun2socks
  • Gateway — IP adresa e "routarit" tun2socks, e cila Ă«shtĂ« caktuar kur krijuat shĂ«rbimin systemd.

KĂ«shtu, ndĂ«rfaqja tun2socks ka adresĂ«n 172.16.1.2, dhe shĂ«rbimi tun2socks — 172.16.1.1, pra Ă«shtĂ« gateway pĂ«r tĂ« gjitha lidhjet nga ndĂ«rfaqja virtuale.

Konfiguroni pikën virtuale të q access

Instaloni varësitë:

apt install util-linux procps hostapd iw haveged

Shkarkoni repositorin create_ap në makinën tuaj:

git clone https://github.com/oblique/create_ap

Shkoni në dosjen e repositorit në makinën tuaj:

cd create_ap

Instaloni në sistem:

make install

Do të keni një konfigurim në sistemin tuaj /etc/create_ap.conf. Ja opsionet kryesore për modifikim:

  • GATEWAY=10.0.0.1 — Ă«shtĂ« mĂ« mirĂ« ta bĂ«ni njĂ« nĂ«nrrjet tĂ« rezervuar tĂ« veçantĂ«.
  • NO_DNS=1 — çaktivizoni, pasi ky parametr do tĂ« menaxhohet nga ndĂ«rfaqja virtuale systemd-networkd.
  • NO_DNSMASQ=1 — çaktivizoni pĂ«r tĂ« njĂ«jtĂ«n arsye.
  • WIFI_IFACE=wlp6s0 — ndĂ«rfaqja wireless e laptopit.
  • INTERNET_IFACE=tun2socks — ndĂ«rfaqja virtuale, e krijuar pĂ«r tun2socks.
  • SSID=hostapd — emri i pikĂ«s virtuale tĂ« aksesi.
  • PASSPHRASE=12345678 — fjalĂ«kalimi.

Mos harroni të aktivizoni shërbimin:

systemctl enable create_ap

Aktivizoni serverin DHCP në systemd-networkd

Shërbimi create_ap initizon një ndërfaqe virtuale në sistem ap0. Në teori, në këtë ndërfaqe qëndron dnsmasq, por pse të instaloni shërbime të panevojshme, nëse systemd-networkd përmban një server DHCP të integruar?

Për ta aktivizuar, do të definijmë cilësimet e rrjetit për pikën virtuale. Për këtë, krijoni një skedë /etc/systemd/network/25-ap0.network me përmbajtjen e mëposhtme:

[Match]
Name=ap0

[Network]
Address=10.0.0.1/24
DHCPServer=yes

[DHCPServer]
EmitDNS=yes
DNS=10.0.0.1
EmitNTP=yes
NTP=10.0.0.1

Pasi shërbimi create_ap të inicojë ndërfaqen virtuale ap0, systemd-networkd automatikisht do t'i japë një adresë IP dhe do të aktivizojë serverin DHCP.

Rreshtat EmitDNS=yes dhe DNS=10.0.0.1 kalojnë cilësimet e serverit DNS te pajisjet e lidhura me pikën e aksesi.

NĂ«se nuk planifikoni tĂ« pĂ«rdorni njĂ« server DNS lokal — nĂ« rastin tim, Ă«shtĂ« dnscrypt-proxy — mund tĂ« instaloni DNS=10.0.0.1 nĂ« DNS=192.168.1.1, ku 192.168.1.1 — adresa e gateway-t tuaj origjinal. AtĂ«herĂ« kĂ«rkesat DNS tĂ« hostit tuaj dhe tĂ« rrjetit lokal do tĂ« shkojnĂ« nĂ« mĂ«nyrĂ« tĂ« pazhduar pĂ«rmes serverĂ«ve tĂ« ofruesit.

EmitNTP=yes dhe NTP=192.168.1.1 kanë transmetuar cilësimet NTP.

E njëjta gjë vlen për rreshtin NTP=10.0.0.1.

Instaloni dhe konfigurojeni serverin NTP

Instaloni në sistem:

apt install ntp

Rregulloni konfigurimin /etc/ntp.conf. Komentoni adresat e grupeve standarde:

#pool 0.debian.pool.ntp.org iburst
#pool 1.debian.pool.ntp.org iburst
#pool 2.debian.pool.ntp.org iburst
#pool 3.debian.pool.ntp.org iburst

Shtoni adresat e serverëve publikë, për shembull, Google Public NTP:

server time1.google.com ibrust
server time2.google.com ibrust
server time3.google.com ibrust
server time4.google.com ibrust

Siguroni akses në server për klientët nga rrjeti juaj:

restrict 10.0.0.0 mask 255.255.255.0

Aktivizoni transmetimin në rrjetin tuaj:

broadcast 10.0.0.255

Së fundi, shtoni adresat e këtyre serverëve në tabelën e rutimit static. Për këtë, hapni dosjen e konfigurimit të ndërfaqes wireless /etc/systemd/network/25-wlp6s0.network dhe shtoni në fund të seksionit Route.

[Route]
Gateway=192.168.1.1
Destination=216.239.35.0

[Route]
Gateway=192.168.1.1
Destination=216.239.35.4

[Route]
Gateway=192.168.1.1
Destination=216.239.35.8

[Route]
Gateway=192.168.1.1
Destination=216.239.35.12

Mund të kuptoni adresat e serverëve tuaj NTP, duke përdorur utilitarin host si nga:

host time1.google.com

Instaloni dnscrypt-proxy, hiqni reklamat dhe fshehni trafikun DNS nga ofruesi

apt install dnscrypt-proxy

Për të shërbyer kërkesat DNS të hostit dhe rrjetit lokal, rregulloni soketin /lib/systemd/system/dnscrypt-proxy.socket. Ndryshoni rreshtat e mëposhtëm:

ListenStream=0.0.0.0:53
ListenDatagram=0.0.0.0:53

Rivendosni systemd:

systemctl daemon-reload

Rregulloni konfigurimin /etc/dnscrypt-proxy/dnscrypt-proxy.toml:

server_names = ['adguard-dns']

Për të drejtuar lidhjet dnscrypt-proxy nëpër tun2socks, shtoni më poshtë:

force_tcp = true

Rregulloni konfigurimin /etc/resolv.conf, që informon serverin DNS mbi hostin.

nameserver 127.0.0.1
nameserver 192.168.1.1

Rreshti i parë përfshin përdorimin e dnscrypt-proxy, i dyti - përdor portin origjinal, në rast se serveri dnscrypt-proxy nuk është i disponueshëm.

Gati!

Rivendosni ose ndaloni shërbimet në rrjet që janë aktive:

systemctl stop networking NetworkManager NetworkManager-wait-online

Dhe rivendosni të gjitha të nevojshmet:

systemctl restart systemd-networkd tun2socks create_ap dnscrypt-proxy ntp

Pas rivendosjes ose rivendosjes do të keni një pikë të dytë qasjeje, e cila rrugëzon hostin dhe pajisjet e rrjetit lokal në SOCKS.

Kështu duket dalja ip a e një laptopi normal:

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: tun2socks:  mtu 1500 qdisc pfifo_fast state UP group default qlen 500
    link/none 
    inet 172.16.1.2/24 brd 172.16.1.255 scope global tun2socks
       valid_lft forever preferred_lft forever
    inet6 fe80::122b:260:6590:1b0e/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
3: enp4s0:  mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether e8:11:32:0e:01:50 brd ff:ff:ff:ff:ff:ff
4: wlp6s0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 4c:ed:de:cb:cf:85 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global wlp6s0
       valid_lft forever preferred_lft forever
    inet6 fe80::4eed:deff:fecb:cf85/64 scope link 
       valid_lft forever preferred_lft forever
5: ap0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 4c:ed:de:cb:cf:86 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/24 brd 10.0.0.255 scope global ap0
       valid_lft forever preferred_lft forever
    inet6 fe80::4eed:deff:fecb:cf86/64 scope link 
       valid_lft forever preferred_lft forever

Si rezultat

  1. Furnizuesi sheh vetëm një lidhje të enkriptuar me serverin tuaj SOCKS, që do të thotë se nuk shikon asgjë.
  2. Megjithatë, ai i sheh kërkesat tuaja NTP. Për ta parandaluar këtë, hiqni rruget statike për serverët NTP. Megjithatë, nuk është e sigurt që serveri juaj SOCKS lejon protokollin NTP.

Një zgjidhje e përkohshme e vërejtur në Debain 10

Nëse përpiqeni të rijëni shërbimin rrjetit nga konsola, ai do të bjerë me një gabim. Kjo lidhet me faktin se një pjesë e tij në formën e një ndërfaqe virtuale është e lidhur me shërbimin tun2socks dhe për këtë arsye është në përdorim. Për të rijëni shërbimin rrjetit, së pari duhet të ndaloni shërbimin tun2socks. Por, mendoj se nëse keni lexuar deri në fund, për ju kjo nuk është një problem!

Linke

  1. Rruga statike nĂ« Linux — IBM
  2. systemd-networkd.service — Freedesktop.org
  3. Tun2socks · ambrop72/badvpn Wiki · GitHub
  4. oblique/create_ap: Ky skript krijon një Pikë Qasje WiFi e NATed ose e lidhur.
  5. dnscrypt-proxy 2 — NjĂ« proxy DNS fleksibĂ«l, me mbĂ«shtetje pĂ«r protokoll tĂ« kriptuar DNS.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster