ProHoster > Blog > Administrazioa > SOCKS-en bideratzailea eraikitzea ordenagailu eramangarri batean Debian 10-rekin
SOCKS-en bideratzailea eraikitzea ordenagailu eramangarri batean Debian 10-rekin
Urte oso batez (edo bi) artikulu hau argitaratzea atzeratu nuen arrazoi nagusiagatik: jada bi artikulu argitaratuak nituen, eta horietan SOCKS-en bideratzaile bat sortzeko prozesua deskribatzen nuen Debian-eko ordenagailu eramangarri arrunt batetik.
Hala ere, orduz geroztik Debian-en bertsio egonkorra Buster-era eguneratu da, jende kopuru nahikoa nirekin harremanetan jarri da modu pribatuan konfiguraziorako laguntza eskatuz, eta horrek esan nahi du nire aurreko artikuluak ez direla zehatzak. Beno, nik neuk asmatu dut haietan azaltzen diren metodoek ez dituztela guztiz agerian uzten Linux SOCKS-en bideratze-lanak konfiguratzeko dituen konplexutasun guztiak. Horrez gain, Debian Stretch-erako idatzita daude, eta Buster-era eguneratu ondoren, systemd init sisteman, aldaketa txikiak nabaritu ditut zerbitzuen elkarrekintzan. Eta artikuluetan bertan, ez nuen systemd-networkd erabili, sare konfigurazio konplexuetarako egokiena den arren.
Aurreko aldaketez gain, zerbitzu hauek gehitu ziren nire konfigurazioan: hostapd - sarbide puntu birtualizazio zerbitzua, ntp sare lokaleko bezeroen ordua sinkronizatzeko, dnscrypt-proxy konexioak DNS bidez enkriptatzeko eta sare lokaleko bezeroen publizitatea desgaitzeko, eta, gainera, lehen aipatu dudan bezala, systemd-networkd sareko interfazeak konfiguratzeko.
Hona hemen bideratzaile baten barne-egituraren bloke-diagrama sinple bat.
Beraz, gogorarazten dizut zeintzuk diren artikulu sorta honen helburuak:
Bideratu OS konexio guztiak SOCKSera, baita ordenagailu eramangarriaren sare bereko gailu guztietako konexioak ere.
Nire kasuan ordenagailu eramangarriak guztiz mugikorra izan beharko luke. Hau da, mahaigaineko ingurunea erabiltzeko eta kokapen fisiko bati lotuta ez egoteko aukera ematea.
Azken puntuak hari gabeko interfaze integratuaren bidez soilik konektatzea eta bideratzea dakar.
Beno, eta noski, gida integral bat sortzea, baita dagozkion teknologien azterketa ere nire ezagutza xumean.
Artikulu honetan landuko dena:
git β Deskargatu proiektuen biltegiak tun2galtzerdiakbeharrezkoa da TCP trafikoa SOCKSera bideratzeko, eta sortu_ap β Sarbide-puntu birtual baten konfigurazioa automatizatzeko script bat erabiliz hostapd.
tun2galtzerdiak β eraiki eta instalatu systemd zerbitzua sisteman.
systemd-networkd β konfiguratu haririk gabeko interfazeak eta birtualak, bideratze-taula estatikoak eta paketeen birbideratzea.
sortu_ap β instalatu systemd zerbitzua sisteman, konfiguratu eta abiarazi sarbide-puntu birtual bat.
Aukerako urratsak:
ntp β instalatu eta konfiguratu zerbitzari bat sarbide-puntu birtualeko bezeroetan denbora sinkronizatzeko.
dnscrypt-proxy β DNS eskaerak enkriptatuko ditugu, SOCKSera bideratuko ditugu eta sare lokalerako publizitate-domeinuak desgaituko ditugu.
Zertarako da hau guztia?
Hau da sare lokal batean TCP konexioak ziurtatzeko moduetako bat. Abantaila nagusia da konexio guztiak SOCKS-en egiten direla, jatorrizko atebidetik bide estatiko bat eraikitzen ez bada behintzat. Horrek esan nahi du ez dituzula SOCKS zerbitzariaren ezarpenak zehaztu behar ez programa indibidualentzat, ez sare lokaleko bezeroentzat; denak SOCKSera joaten dira lehenespenez, atebide lehenetsia baita kontrakoa adierazten dugun arte.
Funtsean, bigarren enkriptazio-bideratzaile bat gehitzen dugu ordenagailu eramangarri gisa jatorrizko bideratzailearen aurrean eta jatorrizko bideratzailearen Interneteko konexioa erabiltzen dugu ordenagailu eramangarriaren lehendik zifratutako SOCKS eskaerak egiteko, eta horrek LAN bezeroen eskaerak bideratzen eta enkriptatzen ditu.
Hornitzailearen ikuspuntutik, trafiko enkriptatutako zerbitzari batera etengabe konektatuta gaude.
Horren arabera, gailu guztiak ordenagailu eramangarriaren sarbide birtualera konektatuta daude.
Instalatu tun2socks sisteman
Zure makinak internet badu, deskargatu beharrezko tresna guztiak.
apt update
apt install git make cmake
Deskargatu badvpn paketea
git clone https://github.com/ambrop72/badvpn
Zure sisteman karpeta bat agertuko da badvpn. Sortu aparteko karpeta bat eraikitzeko
Network Manager-itxaron-online sistemak sare baten presentziaren araberako beste zerbitzu batzuk abiarazten jarraitu aurretik sare-konexio baten zain dagoen zerbitzu bat da. Systemd-networkd analogikora aldatzen ari garenean desgaitzen ari gara.
Gaitu dezagun berehala:
systemctl enable systemd-networkd-wait-online
Konfiguratu hari gabeko sareko interfazea
Sortu systemd-networkd konfigurazio-fitxategi bat hari gabeko sare-interfazerako /etc/systemd/network/25-wlp6s0.network.
izena zure haririk gabeko interfazearen izena da. Identifikatu komandoarekin ip a.
IPForward - sareko interfaze batean paketeak birbideratzea ahalbidetzen duen zuzentaraua.
Helbidea hari gabeko interfazeari IP helbidea esleitzeaz arduratzen da. Estatikoki zehazten dugu zuzentarau baliokidearekin DHCP=yes, systemd-networkd-ek atebide lehenetsi bat sortzen du sisteman. Ondoren, trafiko guztia jatorrizko atebidetik igaroko da, eta ez etorkizuneko interfaze birtualetik beste azpisare batean. Uneko atebide lehenetsia egiaztatu dezakezu komandoarekin ip r
Sortu ibilbide estatiko bat urruneko SOCKS zerbitzariarentzat
Zure SOCKS zerbitzaria ez bada lokala, urrunekoa baizik, bide estatiko bat sortu behar duzu horretarako. Horretarako, gehitu atal bat Route ondorengo edukiarekin sortu duzun hari gabeko interfazearen konfigurazio fitxategiaren amaierara arte:
[Route]
Gateway=192.168.1.1
Destination=0.0.0.0
Gateway β hau da atebide lehenetsia edo jatorrizko sarbide-puntuaren helbidea.
Destination β SOCKS zerbitzariaren helbidea.
Konfiguratu wpa_supplicant systemd-networkd-erako
systemd-networkd-ek wpa_supplicant erabiltzen du sarbide seguru batera konektatzeko. Haririk gabeko interfazea "goratzen" saiatzean, systemd-networkd-ek zerbitzua abiarazten du wpa_supplicant@ΠΈΠΌΡNon izena haririk gabeko interfazearen izena da. Puntu honen aurretik systemd-networkd erabili ez baduzu, ziurrenik zerbitzu hau zure sisteman falta da.
Beraz, sortu komandoarekin:
systemctl enable wpa_supplicant@wlp6s0
erabili nuen wlp6s0 bere haririk gabeko interfazearen izena bezala. Zure izena ezberdina izan daiteke. Komandoarekin ezagutu dezakezu ip l.
Orain sortutako zerbitzua wpa_supplicant@wlp6s0 Hari gabeko interfazea "altxatzen denean" abiaraziko da, baina, aldi berean, sarbide-puntuaren SSID eta pasahitzaren ezarpenak bilatuko ditu fitxategian. /etc/wpa_supplicant/wpa_supplicant-wlp6s0. Hori dela eta, erabilgarritasuna erabiliz sortu behar duzu wpa_passphrase.
non SSID zure sarbide-puntuaren izena da, pasahitza pasahitza da eta wlp6s0 β zure haririk gabeko interfazearen izena.
Hasieratu tun2socks-en interfaze birtuala
Sortu fitxategi bat sisteman interfaze birtual berri bat hasieratzeko/etc/systemd/network/25-tun2socks.netdev
[NetDev]
Name=tun2socks
Kind=tun
izena hasieratzen denean systemd-networkd-ek etorkizuneko interfaze birtualari esleituko dion izena da.
Child interfaze birtual mota bat da. tun2socks zerbitzuaren izenetik, asma dezakezu bezalako interfaze bat erabiltzen duela tun.
netdev fitxategien luzapena da systemd-networkd Sare birtualeko interfazeak hasieratzeko erabiltzen du. Interfaze hauen helbidea eta sareko beste ezarpen batzuk hemen zehazten dira .sarea-fitxategiak.
Sortu honelako fitxategi bat /etc/systemd/network/25-tun2socks.network eduki honekin:
Beraz, interfazea tun2galtzerdiak helbidea du 172.16.1.2, eta zerbitzua tun2galtzerdiak - 172.16.1.1, hau da, interfaze birtualaren konexio guztien atea da.
Konfiguratu sarbide-puntu birtual bat
Instalatu menpekotasunak:
apt install util-linux procps hostapd iw haveged
Deskargatu biltegia sortu_ap zure autora:
git clone https://github.com/oblique/create_ap
Joan zure makinako biltegiaren karpetara:
cd create_ap
Instalatu sisteman:
make install
Zure sisteman konfigurazio bat agertuko da /etc/create_ap.conf. Hona hemen edizio aukera nagusiak:
GATEWAY=10.0.0.1 β Hobe da azpisare erreserbatutako bereizi bat egitea.
NO_DNS=1 - desgaitu, parametro hau systemd-networkd interfaze birtualak kudeatuko baitu.
NO_DNSMASQ=1 - itzali arrazoi beragatik.
WIFI_IFACE=wlp6s0 β Haririk gabeko interfaze eramangarria.
INTERNET_IFACE=tun2socks - tun2socksentzat sortutako interfaze birtuala.
SSID=hostapd β sarbide birtualaren izena.
PASSPHRASE=12345678 - pasahitza.
Ez ahaztu zerbitzua gaitzea:
systemctl enable create_ap
Gaitu DHCP zerbitzaria systemd-networkd-en
bulegoan create_ap sisteman interfaze birtual bat hasieratzen du ap0. Teorian, dnsmasq interfaze honetan zintzilikatzen da, baina zergatik instalatu zerbitzu gehigarriak systemd-networkd-ek DHCP zerbitzari bat badu?
Gaitzeko, puntu birtualaren sareko ezarpenak definituko ditugu. Horretarako, sortu fitxategi bat /etc/systemd/network/25-ap0.network eduki honekin:
create_ap zerbitzuak interfaze birtuala hasieratu ondoren ap0, systemd-networkd-ek automatikoki IP helbide bat esleituko dio eta DHCP zerbitzaria gaitu.
DNS zerbitzari lokal bat erabiltzeko asmorik ez baduzu - nire kasuan dnscrypt-proxy da - instala dezakezu DNS=10.0.0.1 Π² DNS=192.168.1.1Non 192.168.1.1 β zure jatorrizko atebidearen helbidea. Ondoren, zure ostalariaren eta sare lokalaren DNS eskaerak zifratu gabe geratuko dira hornitzailearen zerbitzarien bidez.
Gehitu zerbitzari publikoaren helbideak, adibidez Google Public NTP:
server time1.google.com ibrust
server time2.google.com ibrust
server time3.google.com ibrust
server time4.google.com ibrust
Eman zerbitzarirako sarbidea zure sareko bezeroei:
restrict 10.0.0.0 mask 255.255.255.0
Gaitu zure sarera igortzea:
broadcast 10.0.0.255
Azkenik, gehitu zerbitzari horien helbideak bideratze-taula estatikora. Horretarako, ireki haririk gabeko interfazearen konfigurazio fitxategia /etc/systemd/network/25-wlp6s0.network eta gehitu atalaren amaieran Route.
Dnscrypt-proxy konexioak tun2socks bidez bideratzeko, gehitu behean:
force_tcp = true
Editatu konfigurazioa /etc/resolv.conf, DNS zerbitzariari ostalariari esaten diona.
nameserver 127.0.0.1
nameserver 192.168.1.1
Lehen lerroak dnscrypt-proxy erabiltzea ahalbidetzen du, bigarren lerroak jatorrizko atebidea erabiltzen du, dnscrypt-proxy zerbitzaria erabilgarri ez badago.
Bukatu da!
Berrabiarazi edo gelditu sareko zerbitzuak exekutatzen:
Berrabiarazi edo berrabiarazi ondoren, ostalariaren eta LAN gailuak SOCKSera bideratzen dituen bigarren sarbide puntu bat izango duzu.
Hau da irteeraren itxura ip a ordenagailu eramangarri arrunta:
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> 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: <NO-CARRIER,BROADCAST,MULTICAST,UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
Baten ondorioz,
Hornitzaileak zure SOCKS zerbitzarirako enkriptatutako konexioa soilik ikusten du, hau da, ez du ezer ikusten.
Hala ere, zure NTP eskaerak ikusten ditu, hori saihesteko, kendu NTP zerbitzarientzako ibilbide estatikoak. Hala ere, ez dago ziur zure SOCKS zerbitzariak NTP protokoloa onartzen duenik.
Makulua Debain 10ean ikusi zuten
Sare-zerbitzua kontsolatik berrabiarazten saiatzen bazara, huts egingo du errore batekin. Hau da, interfaze birtual baten moduan zati bat tun2socks zerbitzuari lotuta dagoelako, hau da, erabiltzen da. Sareko zerbitzua berrabiarazteko, lehenik tun2socks zerbitzua gelditu behar duzu. Baina, nire ustez, amaierara arte irakurtzen baduzu, hau ez da zuretzako arazorik!