దాదాపు ఒక సంవత్సరం (లేదా రెండు) పాటు నేను ఈ వ్యాసం ప్రచురణను వాయిదా వేయడానికి ప్రధాన కారణం ఏమిటంటే - నేను అప్పటికే రెండు వ్యాసాలను ప్రచురించాను, వాటిలో నేను చాలా సాధారణ ల్యాప్టాప్ నుండి SOCKS లో రౌటర్ను సృష్టించే ప్రక్రియను వివరించాను. Debian.
అయితే, అప్పటి నుండి స్థిరమైన వెర్షన్ Debian నేను బస్టర్కు అప్గ్రేడ్ అయ్యాను, మరియు చాలా మంది సెటప్లో సహాయం కోసం నన్ను వ్యక్తిగతంగా సంప్రదించారు, అంటే నా మునుపటి వ్యాసాలు సంపూర్ణమైనవి కావు. అయితే, వాటిలో వివరించిన పద్ధతులు సెటప్ వివరాలన్నింటినీ పూర్తిగా కవర్ చేయవని నేను ముందే అనుమానించాను. Linux SOCKS లో రూటింగ్ కోసం. అంతేకాకుండా, అవి దీనికోసం వ్రాయబడ్డాయి Debian Stretch నుండి Buster కు అప్గ్రేడ్ చేసిన తర్వాత, systemd init సిస్టమ్తో సర్వీసులు సంకర్షణ చెందే విధానంలో కొన్ని చిన్న మార్పులను నేను గమనించాను. సంక్లిష్టమైన నెట్వర్క్ కాన్ఫిగరేషన్లకు ఇది ఉత్తమంగా సరిపోయినప్పటికీ, నేను వ్యాసాలలో systemd-networkd ను ఉపయోగించలేదు.
పై మార్పులకు అదనంగా, కింది సేవలు నా కాన్ఫిగరేషన్కు జోడించబడ్డాయి: hostapd - యాక్సెస్ పాయింట్ వర్చువలైజేషన్ కోసం సేవ, NTP స్థానిక నెట్వర్క్ క్లయింట్ల సమయాన్ని సమకాలీకరించడానికి, dnscrypt-proxy DNS ద్వారా కనెక్షన్లను గుప్తీకరించడానికి మరియు స్థానిక నెట్వర్క్ క్లయింట్లలో ప్రకటనలను నిలిపివేయడానికి మరియు నేను ఇంతకు ముందు చెప్పినట్లుగా, systemd-networkd నెట్వర్క్ ఇంటర్ఫేస్లను కాన్ఫిగర్ చేయడం కోసం.
అటువంటి రౌటర్ యొక్క అంతర్గత నిర్మాణం యొక్క సాధారణ బ్లాక్ రేఖాచిత్రం ఇక్కడ ఉంది.

కాబట్టి, ఈ కథనాల శ్రేణి యొక్క లక్ష్యాలు ఏమిటో నేను మీకు గుర్తు చేస్తాను:
- అన్ని OS కనెక్షన్లను SOCKSకి, అలాగే ల్యాప్టాప్ వలె ఒకే నెట్వర్క్లోని అన్ని పరికరాల నుండి కనెక్షన్లను రూట్ చేయండి.
- నా విషయంలో ల్యాప్టాప్ పూర్తిగా మొబైల్గా ఉండాలి. అంటే, డెస్క్టాప్ వాతావరణాన్ని ఉపయోగించడానికి మరియు భౌతిక స్థానానికి అనుసంధానించబడకుండా ఉండటానికి అవకాశం ఇవ్వడం.
- చివరి పాయింట్ అంతర్నిర్మిత వైర్లెస్ ఇంటర్ఫేస్ ద్వారా మాత్రమే కనెక్షన్ మరియు రూటింగ్ను సూచిస్తుంది.
- బాగా, మరియు కోర్సు యొక్క, సమగ్ర గైడ్ యొక్క సృష్టి, అలాగే నా నిరాడంబరమైన జ్ఞానం మేరకు సంబంధిత సాంకేతికతలను విశ్లేషించడం.
ఈ వ్యాసంలో ఏమి కవర్ చేయబడుతుంది:
- వెళ్ళండి — ప్రాజెక్ట్ రిపోజిటరీలను డౌన్లోడ్ చేయండి tun2socksTCP ట్రాఫిక్ని SOCKSకి మార్చడానికి అవసరం, మరియు create_ap — ఉపయోగించి వర్చువల్ యాక్సెస్ పాయింట్ సెటప్ను ఆటోమేట్ చేయడానికి స్క్రిప్ట్ hostapd.
- tun2socks — సిస్టమ్లో systemd సేవను నిర్మించి, ఇన్స్టాల్ చేయండి.
- systemd-networkd — వైర్లెస్ మరియు వర్చువల్ ఇంటర్ఫేస్లు, స్టాటిక్ రూటింగ్ పట్టికలు మరియు ప్యాకెట్ దారి మళ్లింపులను కాన్ఫిగర్ చేయండి.
- create_ap — సిస్టమ్లో systemd సేవను ఇన్స్టాల్ చేయండి, వర్చువల్ యాక్సెస్ పాయింట్ను కాన్ఫిగర్ చేయండి మరియు ప్రారంభించండి.
ఐచ్ఛిక దశలు:
- NTP — వర్చువల్ యాక్సెస్ పాయింట్ క్లయింట్లపై సమయాన్ని సమకాలీకరించడానికి సర్వర్ను ఇన్స్టాల్ చేసి కాన్ఫిగర్ చేయండి.
- dnscrypt-proxy — మేము DNS అభ్యర్థనలను గుప్తీకరిస్తాము, వాటిని SOCKSకి రూట్ చేస్తాము మరియు స్థానిక నెట్వర్క్ కోసం అడ్వర్టైజింగ్ డొమైన్లను నిలిపివేస్తాము.
ఇదంతా దేనికి?
స్థానిక నెట్వర్క్లో TCP కనెక్షన్లను భద్రపరిచే మార్గాలలో ఇది ఒకటి. ప్రధాన ప్రయోజనం ఏమిటంటే, అన్ని కనెక్షన్లు సాక్స్లో తయారు చేయబడతాయి, అసలు గేట్వే ద్వారా వాటికి స్థిరమైన మార్గం నిర్మించబడకపోతే. స్థానిక నెట్వర్క్లోని వ్యక్తిగత ప్రోగ్రామ్లు లేదా క్లయింట్ల కోసం మీరు SOCKS సర్వర్ సెట్టింగ్లను పేర్కొనవలసిన అవసరం లేదని దీని అర్థం - అవి అన్నీ డిఫాల్ట్గా SOCKSకి వెళ్తాయి, ఎందుకంటే మేము సూచించే వరకు ఇది డిఫాల్ట్ గేట్వే.
ముఖ్యంగా మేము ఒరిజినల్ రూటర్కు ముందు ల్యాప్టాప్గా రెండవ ఎన్క్రిప్టింగ్ రూటర్ని జోడిస్తాము మరియు ల్యాప్టాప్ యొక్క ఇప్పటికే గుప్తీకరించిన సాక్స్ అభ్యర్థనల కోసం అసలైన రూటర్ యొక్క ఇంటర్నెట్ కనెక్షన్ను ఉపయోగిస్తాము, ఇది LAN క్లయింట్ల నుండి అభ్యర్థనలను రూట్ చేస్తుంది మరియు ఎన్క్రిప్ట్ చేస్తుంది.
ప్రొవైడర్ దృక్కోణం నుండి, మేము గుప్తీకరించిన ట్రాఫిక్తో ఒక సర్వర్కు నిరంతరం కనెక్ట్ చేయబడతాము.
దీని ప్రకారం, అన్ని పరికరాలు ల్యాప్టాప్ యొక్క వర్చువల్ యాక్సెస్ పాయింట్కి కనెక్ట్ చేయబడ్డాయి.
సిస్టమ్లో tun2socksని ఇన్స్టాల్ చేయండి
మీ మెషీన్లో ఇంటర్నెట్ ఉన్నంత వరకు, అవసరమైన అన్ని సాధనాలను డౌన్లోడ్ చేయండి.
apt updateapt install git make cmakebadvpn ప్యాకేజీని డౌన్లోడ్ చేయండి
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
- పరామితి
-DBUILD_NOTHING_BY_DEFAULT=1badvpn రిపోజిటరీ యొక్క అన్ని భాగాల నిర్మాణాన్ని నిలిపివేస్తుంది. - -
DBUILD_TUN2SOCKS=1అసెంబ్లీలో ఒక భాగాన్ని కలిగి ఉంటుంది tun2socks. make install— మీ సిస్టమ్లో tun2socks బైనరీని ఇన్స్టాల్ చేస్తుంది/usr/local/bin/badvpn-tun2socks.
systemdలో tun2socks సర్వీస్ను ఇన్స్టాల్ చేయండి
ఫైల్ను సృష్టించండి /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- నెట్వర్క్ మేనేజర్-వెయిట్-ఆన్లైన్ సిస్టమ్డి నెట్వర్క్ ఉనికిపై ఆధారపడిన ఇతర సేవలను ప్రారంభించడానికి ముందు పని చేసే నెట్వర్క్ కనెక్షన్ కోసం వేచి ఉండే సేవ. మేము systemd-networkd అనలాగ్కు మారినప్పుడు మేము దానిని నిలిపివేస్తున్నాము.
దీన్ని వెంటనే ఎనేబుల్ చేద్దాం:
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 సర్వర్ చిరునామా.
systemd-networkd కోసం wpa_supplicantని కాన్ఫిగర్ చేయండి
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రిపోజిటరీని డౌన్లోడ్ చేయండి create_ap మీ కారుకు:
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-networkd వర్చువల్ ఇంటర్ఫేస్ ద్వారా నిర్వహించబడుతుంది.NO_DNSMASQ=1- అదే కారణంతో దాన్ని ఆఫ్ చేయండి.WIFI_IFACE=wlp6s0- ల్యాప్టాప్ వైర్లెస్ ఇంటర్ఫేస్.INTERNET_IFACE=tun2socks- tun2socks కోసం సృష్టించబడిన వర్చువల్ ఇంటర్ఫేస్.SSID=hostapd- వర్చువల్ యాక్సెస్ పాయింట్ పేరు.PASSPHRASE=12345678- పాస్వర్డ్.
సేవను ప్రారంభించడం మర్చిపోవద్దు:
systemctl enable create_apsystemd-networkdలో DHCP సర్వర్ని ప్రారంభించండి
ఆఫీసు 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 పబ్లిక్ 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.comdnscrypt-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పునartప్రారంభించుము systemd:
systemctl daemon-reloadకాన్ఫిగరేషన్ని సవరించండి /etc/dnscrypt-proxy/dnscrypt-proxy.toml:
server_names = ['adguard-dns']
tun2socks ద్వారా dnscrypt-proxy కనెక్షన్లను రూట్ చేయడానికి, దిగువన జోడించండి:
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
చివరికి
- ప్రొవైడర్ మీ SOCKS సర్వర్కి ఎన్క్రిప్ట్ చేసిన కనెక్షన్ను మాత్రమే చూస్తారు, అంటే వారికి ఏమీ కనిపించదు.
- ఇంకా ఇది మీ NTP అభ్యర్థనలను చూస్తుంది, దీన్ని నిరోధించడానికి, NTP సర్వర్ల కోసం స్టాటిక్ రూట్లను తీసివేయండి. అయితే, మీ SOCKS సర్వర్ NTP ప్రోటోకాల్ను అనుమతిస్తుందని ఖచ్చితంగా తెలియదు.
డెబెన్ 10పై క్రచ్ గుర్తించబడింది
మీరు కన్సోల్ నుండి నెట్వర్క్ సేవను పునఃప్రారంభించడానికి ప్రయత్నిస్తే, అది లోపంతో విఫలమవుతుంది. వర్చువల్ ఇంటర్ఫేస్ రూపంలో దానిలో కొంత భాగం tun2socks సేవతో ముడిపడి ఉండటమే దీనికి కారణం, అంటే అది ఉపయోగించబడుతుంది. నెట్వర్క్ సేవను పునఃప్రారంభించడానికి, మీరు ముందుగా tun2socks సేవను నిలిపివేయాలి. కానీ, నేను అనుకుంటున్నాను, మీరు చివరి వరకు చదివితే, ఇది ఖచ్చితంగా మీకు సమస్య కాదు!
సూచనలు
మూలం: www.habr.com
