SOCKS-ում երթուղիչի ստեղծում Debian 10-ով նոութբուքի վրա

Մի ամբողջ տարի (կամ երկու) ես հետաձգեցի այս հոդվածի հրապարակումը հիմնական պատճառով. ես արդեն հրապարակել էի երկու հոդված, որտեղ նկարագրել էի SOCKS-ում երթուղիչ ստեղծելու գործընթացը Debian-ով շատ սովորական նոութբուքից:

Այնուամենայնիվ, այդ ժամանակից ի վեր Debian-ի կայուն տարբերակը թարմացվել է Buster-ին, բավական թվով մարդիկ կապվել են ինձ հետ՝ խնդրելով օգնություն կարգավորելու հարցում, ինչը նշանակում է, որ իմ նախորդ հոդվածները սպառիչ չեն: Դե, ես ինքս կռահեցի, որ դրանցում շարադրված մեթոդները լիովին չեն բացահայտում SOCKS-ում երթուղղման համար Linux-ի ստեղծման բոլոր բարդությունները: Բացի այդ, դրանք գրված են Debian Stretch-ի համար, և Buster-ի թարմացումից հետո systemd init համակարգում ես նկատեցի փոքր փոփոխություններ ծառայությունների փոխազդեցության մեջ։ Եվ հենց հոդվածներում ես չեմ օգտագործել systemd-networkd, չնայած այն լավագույնս համապատասխանում է բարդ ցանցային կոնֆիգուրացիաներին:

Բացի վերը նշված փոփոխություններից, իմ կազմաձևին ավելացվեցին հետևյալ ծառայությունները. hostapd - մուտքի կետի վիրտուալացման ծառայություն, ntp տեղական ցանցի հաճախորդների ժամանակը համաժամեցնելու համար, dnscrypt-proxy գաղտնագրել կապերը DNS-ի միջոցով և անջատել գովազդը տեղական ցանցի հաճախորդների վրա, ինչպես նաև, ինչպես արդեն նշեցի, systemd-networkd ցանցային միջերեսները կարգավորելու համար:

Ահա այսպիսի երթուղիչի ներքին կառուցվածքի պարզ բլոկային դիագրամ:

SOCKS-ում երթուղիչի ստեղծում Debian 10-ով նոութբուքի վրա

Այսպիսով, թույլ տվեք հիշեցնել ձեզ, թե որոնք են այս հոդվածաշարի նպատակները.

  1. Ուղղեք OS-ի բոլոր միացումները դեպի SOCKS, ինչպես նաև միացումներ բոլոր սարքերից, որոնք գտնվում են նույն ցանցում, ինչ նոութբուքը:
  2. Իմ դեպքում նոութբուքը պետք է մնա ամբողջովին շարժական: Այսինքն՝ հնարավորություն տալ օգտվել աշխատասեղանի միջավայրից և կապված չլինել ֆիզիկական դիրքի հետ։
  3. Վերջին կետը ենթադրում է միացում և երթուղում միայն ներկառուցված անլար ինտերֆեյսի միջոցով:
  4. Դե, և, իհարկե, համապարփակ ուղեցույցի ստեղծում, ինչպես նաև համապատասխան տեխնոլոգիաների վերլուծություն իմ համեստ գիտելիքներով:

Ինչը կքննարկվի այս հոդվածում.

  1. գիտ — ներբեռնեք նախագծի պահեստները tun2socksպահանջվում է TCP երթևեկությունը դեպի SOCKS ուղղորդելու համար և ստեղծել_ap — սկրիպտ՝ օգտագործելով վիրտուալ մուտքի կետի կարգավորումը ավտոմատացնելու համար hostapd.
  2. tun2socks — կառուցել և տեղադրել systemd ծառայությունը համակարգում:
  3. systemd-networkd — կարգավորել անլար և վիրտուալ միջերեսները, ստատիկ երթուղղման աղյուսակները և փաթեթների վերահղումը:
  4. ստեղծել_ap — տեղադրել systemd ծառայությունը համակարգում, կարգավորել և գործարկել վիրտուալ մուտքի կետ:

Ընտրովի քայլեր.

  • ntp — տեղադրել և կարգավորել սերվեր՝ վիրտուալ մուտքի կետերի հաճախորդների վրա ժամանակը համաժամեցնելու համար:
  • dnscrypt-proxy — մենք կգաղտնագրենք DNS հարցումները, կուղղորդենք դրանք դեպի SOCKS և կանջատենք գովազդային տիրույթները տեղական ցանցի համար:

Ինչի՞ համար է այս ամենը:

Սա տեղական ցանցում TCP կապերի ապահովման ուղիներից մեկն է: Հիմնական առավելությունն այն է, որ բոլոր միացումները կատարվում են SOCKS-ով, եթե նրանց համար ստատիկ երթուղի չի կառուցված սկզբնական դարպասի միջով: Սա նշանակում է, որ ձեզ հարկավոր չէ նշել SOCKS սերվերի կարգավորումները լոկալ ցանցի առանձին ծրագրերի կամ հաճախորդների համար. դրանք բոլորը լռելյայն գնում են SOCKS, քանի որ այն լռելյայն դարպասն է, քանի դեռ մենք այլ բան չենք նշել:

Ըստ էության, մենք ավելացնում ենք երկրորդ գաղտնագրող երթուղիչը որպես նոութբուք սկզբնական երթուղիչի դիմաց և օգտագործում ենք սկզբնական երթուղիչի ինտերնետ կապը նոութբուքի արդեն կոդավորված SOCKS հարցումների համար, որն իր հերթին ուղղորդում և կոդավորում է LAN հաճախորդների հարցումները:

Պրովայդերի տեսանկյունից մենք անընդհատ միացված ենք մեկ սերվերի հետ՝ ծածկագրված տրաֆիկով։

Համապատասխանաբար, բոլոր սարքերը միացված են նոութբուքի վիրտուալ մուտքի կետին:

Տեղադրեք tun2socks համակարգում

Քանի դեռ ձեր մեքենան ունի ինտերնետ, ներբեռնեք բոլոր անհրաժեշտ գործիքները:

apt update
apt install git make cmake

Ներբեռնեք badvpn փաթեթը

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

Ձեր համակարգում կհայտնվի թղթապանակ badvpn. Ստեղծեք առանձին թղթապանակ կառուցման համար

mkdir badvpn-build

Գնացեք դրան

cd badvpn-build

Հավաքել tun2socks

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

Տեղադրեք համակարգում

make install
  • Parameter -DBUILD_NOTHING_BY_DEFAULT=1 անջատում է badvpn պահեստի բոլոր բաղադրիչների կառուցումը:
  • -DBUILD_TUN2SOCKS=1 ներառում է մի բաղադրիչ ժողովում tun2socks.
  • make install — կտեղադրի tun2socks երկուականը ձեր համակարգում ժամը /usr/local/bin/badvpn-tun2socks.

Տեղադրեք tun2socks ծառայությունը systemd-ում

Ստեղծեք ֆայլ /etc/systemd/system/tun2socks.service հետևյալ բովանդակությամբ.

[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 - վերցնում է վիրտուալ ինտերֆեյսի անունը, որը մենք նախաստորագրում ենք systemd-networkd-ով:
  • --netif-ipaddr — tun2socks «երթուղիչի» ցանցի հասցեն, որին միացված է վիրտուալ ինտերֆեյսը: Ավելի լավ է այն առանձին դարձնել վերապահված ենթացանց.
  • --socks-server-addr - ընդունում է վարդակից (адрес:порт SOCKS սերվերներ):

Եթե ​​ձեր SOCKS սերվերը պահանջում է նույնականացում, կարող եք նշել պարամետրերը --username и --password.

Հաջորդը գրանցեք ծառայությունը

systemctl daemon-reload

Եվ միացրեք այն

systemctl enable tun2socks

Ծառայությունը սկսելուց առաջ մենք նրան կտրամադրենք վիրտուալ ցանցային ինտերֆեյս։

Անցում systemd-networkd-ին

Միացնել systemd-networkd:

systemctl enable systemd-networkd

Անջատել ընթացիկ ցանցային ծառայությունները:

systemctl disable networking NetworkManager NetworkManager-wait-online
  • NetworkManager-wait-online ծառայություն է, որը սպասում է աշխատանքային ցանցային միացմանը, նախքան systemd-ը կշարունակի գործարկել այլ ծառայություններ, որոնք կախված են ցանցի առկայությունից: Մենք անջատում ենք այն, երբ անցնում ենք համակարգային ցանցային անալոգային:

Եկեք անմիջապես միացնենք այն.

systemctl enable systemd-networkd-wait-online

Կարգավորեք անլար ցանցի ինտերֆեյսը

Ստեղծեք systemd-networkd կազմաձևման ֆայլ անլար ցանցի ինտերֆեյսի համար /etc/systemd/network/25-wlp6s0.network.

[Match]
Name=wlp6s0

[Network]
Address=192.168.1.2/24
IPForward=yes
  • Անուն ձեր անլար ինտերֆեյսի անունն է: Բացահայտեք այն հրամանով ip a.
  • IPForward - հրահանգ, որը հնարավորություն է տալիս փաթեթների վերահղում ցանցային ինտերֆեյսի վրա:
  • հասցե պատասխանատու է անլար ինտերֆեյսին IP հասցե հատկացնելու համար: Մենք դա նշում ենք ստատիկորեն, քանի որ համարժեք հրահանգով DHCP=yes, systemd-networkd-ը համակարգում ստեղծում է լռելյայն դարպաս: Այնուհետև ամբողջ տրաֆիկը կանցնի սկզբնական դարպասով, այլ ոչ թե այլ ենթացանցով ապագա վիրտուալ ինտերֆեյսի միջոցով: Դուք կարող եք ստուգել ընթացիկ լռելյայն դարպասը հրամանով ip r

Ստեղծեք ստատիկ երթուղի հեռավոր SOCKS սերվերի համար

Եթե ​​ձեր SOCKS սերվերը տեղական չէ, այլ հեռավոր, ապա դուք պետք է դրա համար ստատիկ երթուղի ստեղծեք: Դա անելու համար ավելացրեք բաժին Route մինչև ձեր ստեղծած անլար ինտերֆեյսի կազմաձևման ֆայլի վերջը հետևյալ բովանդակությամբ.

[Route]
Gateway=192.168.1.1
Destination=0.0.0.0
  • Gateway — սա լռելյայն դարպասն է կամ ձեր սկզբնական մուտքի կետի հասցեն:
  • Destination — SOCKS սերվերի հասցեն:

Կարգավորեք wpa_supplicant-ը systemd-networkd-ի համար

systemd-networkd-ն օգտագործում է wpa_supplicant՝ անվտանգ մուտքի կետին միանալու համար: Երբ փորձում է «բարձրացնել» անլար ինտերֆեյսը, systemd-networkd-ը սկսում է ծառայությունը wpa_supplicant@имяՈրտեղ Անունը անլար ինտերֆեյսի անվանումն է: Եթե ​​մինչ այս պահը չեք օգտագործել systemd-networkd-ը, ապա այս ծառայությունը հավանաբար բացակայում է ձեր համակարգում:

Այսպիսով, ստեղծեք այն հրամանով.

systemctl enable wpa_supplicant@wlp6s0

ես օգտագործել եմ wlp6s0 որպես իր անլար ինտերֆեյսի անվանումը: Ձեր անունը կարող է տարբեր լինել: Դուք կարող եք ճանաչել այն հրամանով ip l.

Այժմ ստեղծված ծառայությունը wpa_supplicant@wlp6s0 կգործարկվի, երբ անլար ինտերֆեյսը «բարձրացվի», սակայն այն, իր հերթին, ֆայլում կփնտրի մուտքի կետի SSID և գաղտնաբառի կարգավորումները: /etc/wpa_supplicant/wpa_supplicant-wlp6s0. Հետեւաբար, դուք պետք է ստեղծեք այն, օգտագործելով կոմունալը wpa_passphrase.

Դա անելու համար գործարկեք հրամանը.

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

որտեղ SSID ձեր մուտքի կետի անունն է, գաղտնաբառը՝ գաղտնաբառը և wlp6s0 — Ձեր անլար ինտերֆեյսի անունը:

Նախաձեռնեք վիրտուալ ինտերֆեյսը tun2socks-ի համար

Ստեղծեք ֆայլ՝ համակարգում նոր վիրտուալ ինտերֆեյս սկզբնավորելու համար/etc/systemd/network/25-tun2socks.netdev

[NetDev]
Name=tun2socks
Kind=tun
  • Անուն այն անունն է, որը systemd-networkd-ը կնշանակի ապագա վիրտուալ ինտերֆեյսին, երբ այն սկզբնավորվի:
  • Երեխա վիրտուալ ինտերֆեյսի տեսակ է: Tun2socks ծառայության անունից կարող եք կռահել, որ այն օգտագործում է նման ինտերֆեյս tun.
  • նեթդեվ ֆայլերի ընդլայնումն է, որը systemd-networkd Օգտագործվում է վիրտուալ ցանցային ինտերֆեյսների սկզբնավորման համար: Այս միջերեսների հասցեն և ցանցի այլ կարգավորումները նշված են .ցանց- ֆայլեր.

Ստեղծեք այսպիսի ֆայլ /etc/systemd/network/25-tun2socks.network հետևյալ բովանդակությամբ.

[Match]
Name=tun2socks

[Network]
Address=172.16.1.2/24
Gateway=172.16.1.1
  • Name — ձեր նշած վիրտուալ ինտերֆեյսի անվանումը նեթդեվ- ֆայլ:
  • Address — IP հասցե, որը կհատկացվի վիրտուալ ինտերֆեյսին: Պետք է լինի նույն ցանցում, ինչ հասցեն, որը դուք նշել եք tun2socks ծառայության մեջ
  • Gateway — «երթուղիչի» IP հասցեն tun2socks, որը դուք նշել եք systemd ծառայությունը ստեղծելիս:

Այսպիսով, ինտերֆեյսը tun2socks հասցե ունի 172.16.1.2, և ծառայությունը tun2socks - 172.16.1.1, այսինքն՝ դա վիրտուալ ինտերֆեյսի բոլոր կապերի դարպասն է։

Ստեղծեք վիրտուալ մուտքի կետ

Տեղադրեք կախվածությունները.

apt install util-linux procps hostapd iw haveged

Ներբեռնեք պահեստը ստեղծել_ապ ձեր մեքենային.

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

Գնացեք ձեր մեքենայի պահեստային թղթապանակ.

cd create_ap

Տեղադրեք համակարգում.

make install

Ձեր համակարգում կհայտնվի կոնֆիգուրացիա /etc/create_ap.conf. Ահա խմբագրման հիմնական տարբերակները.

  • GATEWAY=10.0.0.1 — ավելի լավ է այն դարձնել առանձին վերապահված ենթացանց:
  • NO_DNS=1 - անջատել, քանի որ այս պարամետրը կկառավարվի systemd-networked վիրտուալ ինտերֆեյսի կողմից:
  • NO_DNSMASQ=1 - անջատեք այն նույն պատճառով:
  • WIFI_IFACE=wlp6s0 — նոութբուքի անլար ինտերֆեյս:
  • INTERNET_IFACE=tun2socks - tun2socks-ի համար ստեղծված վիրտուալ ինտերֆեյս:
  • SSID=hostapd — վիրտուալ մուտքի կետի անվանումը:
  • PASSPHRASE=12345678 - գաղտնաբառը:

Մի մոռացեք միացնել ծառայությունը.

systemctl enable create_ap

Միացնել DHCP սերվերը systemd-networkd-ում

Ծառայություն create_ap սկզբնավորում է վիրտուալ ինտերֆեյսը համակարգում ap0. Տեսականորեն, dnsmasq-ը կախված է այս ինտերֆեյսից, բայց ինչու՞ տեղադրել լրացուցիչ ծառայություններ, եթե systemd-networkd-ը պարունակում է ներկառուցված DHCP սերվեր:

Այն միացնելու համար մենք կսահմանենք ցանցի կարգավորումները վիրտուալ կետի համար: Դա անելու համար ստեղծեք ֆայլ /etc/systemd/network/25-ap0.network հետևյալ բովանդակությամբ.

[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

Create_ap ծառայության կողմից վիրտուալ ինտերֆեյսի սկզբնավորումից հետո ap0, systemd-networkd-ը ավտոմատ կերպով դրան կհատկացնի IP հասցե և միացնի DHCP սերվերը:

Ստրերներ EmitDNS=yes и DNS=10.0.0.1 փոխանցել DNS սերվերի կարգավորումները մուտքի կետին միացված սարքերին:

Եթե ​​դուք չեք նախատեսում օգտագործել տեղական DNS սերվեր, իմ դեպքում դա dnscrypt-proxy է, կարող եք տեղադրել DNS=10.0.0.1 в DNS=192.168.1.1Որտեղ 192.168.1.1 — Ձեր սկզբնական դարպասի հասցեն: Այնուհետև ձեր հոսթի և տեղական ցանցի համար DNS հարցումները կմնան չգաղտնագրված մատակարարի սերվերների միջոցով:

EmitNTP=yes и NTP=192.168.1.1 փոխանցել NTP կարգավորումները:

Նույնը վերաբերում է գծին NTP=10.0.0.1.

Տեղադրեք և կարգավորեք NTP սերվերը

Տեղադրեք համակարգում.

apt install ntp

Խմբագրել կազմաձևը /etc/ntp.conf. Մեկնաբանեք ստանդարտ լողավազանների հասցեները.

#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

Ավելացնել հանրային սերվերի հասցեներ, օրինակ՝ Google Public NTP.

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

Ապահովեք մուտք դեպի սերվեր ձեր ցանցի հաճախորդներին.

restrict 10.0.0.0 mask 255.255.255.0

Միացնել հեռարձակումը ձեր ցանցում՝

broadcast 10.0.0.255

Վերջապես, ավելացրեք այս սերվերների հասցեները ստատիկ երթուղային աղյուսակում: Դա անելու համար բացեք անլար ինտերֆեյսի կազմաձևման ֆայլը /etc/systemd/network/25-wlp6s0.network և ավելացրեք հատվածի վերջում 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

Դուք կարող եք պարզել ձեր NTP սերվերների հասցեները՝ օգտագործելով կոմունալը host հետեւյալ կերպ.

host time1.google.com

Տեղադրեք dnscrypt-proxy, հեռացրեք գովազդները և թաքցրեք DNS տրաֆիկը ձեր մատակարարից

apt install dnscrypt-proxy

Հոսթի և տեղական ցանցի DNS հարցումները սպասարկելու համար խմբագրեք վարդակը /lib/systemd/system/dnscrypt-proxy.socket. Փոխեք հետևյալ տողերը.

ListenStream=0.0.0.0:53
ListenDatagram=0.0.0.0:53

Վերսկսել systemd:

systemctl daemon-reload

Խմբագրել կազմաձևը /etc/dnscrypt-proxy/dnscrypt-proxy.toml:

server_names = ['adguard-dns']

dnscrypt-proxy կապերը tun2socks-ի միջոցով ուղղորդելու համար ավելացրեք ստորև.

force_tcp = true

Խմբագրել կազմաձևը /etc/resolv.conf, որը պատմում է DNS սերվերին հյուրընկալողին:

nameserver 127.0.0.1
nameserver 192.168.1.1

Առաջին տողը հնարավորություն է տալիս օգտագործել dnscrypt-proxy, երկրորդ տողը օգտագործում է սկզբնական դարպասը, եթե dnscrypt-proxy սերվերն անհասանելի է:

Կատարված!

Վերագործարկեք կամ դադարեցրեք ցանցային ծառայությունների գործարկումը.

systemctl stop networking NetworkManager NetworkManager-wait-online

Եվ վերագործարկեք բոլոր անհրաժեշտները.

systemctl restart systemd-networkd tun2socks create_ap dnscrypt-proxy ntp

Վերագործարկելուց կամ վերագործարկվելուց հետո դուք կունենաք երկրորդ մուտքի կետ, որը տանող և LAN սարքերը ուղղորդում է դեպի SOCKS:

Ահա թե ինչ տեսք ունի ելքը ip a սովորական նոութբուք.

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

Որպես հետեւանք,

  1. Մատակարարը տեսնում է միայն գաղտնագրված կապը ձեր SOCKS սերվերի հետ, ինչը նշանակում է, որ նրանք ոչինչ չեն տեսնում:
  2. Եվ այնուամենայնիվ, այն տեսնում է ձեր NTP հարցումները, դա կանխելու համար հեռացրեք ստատիկ երթուղիները NTP սերվերների համար: Այնուամենայնիվ, վստահ չէ, որ ձեր SOCKS սերվերը թույլ է տալիս NTP արձանագրությունը:

Հենակը նկատվել է Debain 10-ում

Եթե ​​փորձեք վերագործարկել ցանցային ծառայությունը վահանակից, այն կձախողվի սխալմամբ: Դա պայմանավորված է նրանով, որ դրա մի մասը վիրտուալ ինտերֆեյսի տեսքով կապված է tun2socks ծառայության հետ, ինչը նշանակում է, որ այն օգտագործվում է։ Ցանցային ծառայությունը վերագործարկելու համար նախ պետք է դադարեցնել tun2socks ծառայությունը։ Բայց, կարծում եմ, եթե մինչև վերջ կարդաք, սա ձեզ համար հաստատ խնդիր չէ։

Սայլակ

  1. Ստատիկ երթուղավորում Linux-ում - IBM
  2. systemd-networkd.service - Freedesktop.org
  3. Tun2socks · ambrop72/badvpn Wiki · GitHub
  4. oblique/create_ap. Այս սկրիպտը ստեղծում է NATed կամ Bridged WiFi Access Point:
  5. dnscrypt-proxy 2 — Ճկուն DNS վստահված անձ՝ կոդավորված DNS արձանագրությունների աջակցությամբ:

Source: www.habr.com