డెబియన్ 10తో ల్యాప్‌టాప్‌లో సాక్స్‌లో రూటర్‌ను రూపొందించడం

మొత్తం సంవత్సరం (లేదా రెండు) నేను ప్రధాన కారణం కోసం ఈ కథనాన్ని ప్రచురించడాన్ని నిలిపివేసాను - నేను డెబియన్‌తో చాలా సాధారణ ల్యాప్‌టాప్ నుండి సాక్స్‌లో రూటర్‌ను సృష్టించే ప్రక్రియను వివరించిన రెండు కథనాలను ఇప్పటికే ప్రచురించాను.

అయినప్పటికీ, డెబియన్ యొక్క స్థిరమైన సంస్కరణ బస్టర్‌కి నవీకరించబడింది, సెటప్‌లో సహాయం కోసం తగినంత మంది వ్యక్తులు నన్ను ప్రైవేట్‌గా సంప్రదించారు, అంటే నా మునుపటి కథనాలు సమగ్రంగా లేవు. బాగా, వాటిలో వివరించిన పద్ధతులు సాక్స్‌లో రూటింగ్ కోసం Linuxని సెటప్ చేయడంలో ఉన్న అన్ని చిక్కులను పూర్తిగా బహిర్గతం చేయలేదని నేను ఊహించాను. అదనంగా, అవి డెబియన్ స్ట్రెచ్ కోసం వ్రాయబడ్డాయి మరియు బస్టర్‌కి అప్‌గ్రేడ్ చేసిన తర్వాత, systemd init సిస్టమ్‌లో, నేను సేవల పరస్పర చర్యలో చిన్న మార్పులను గమనించాను. మరియు వ్యాసాలలో, నేను systemd-networkdని ఉపయోగించలేదు, అయినప్పటికీ ఇది సంక్లిష్ట నెట్‌వర్క్ కాన్ఫిగరేషన్‌లకు బాగా సరిపోతుంది.

పై మార్పులకు అదనంగా, కింది సేవలు నా కాన్ఫిగరేషన్‌కు జోడించబడ్డాయి: hostapd - యాక్సెస్ పాయింట్ వర్చువలైజేషన్ కోసం సేవ, NTP స్థానిక నెట్‌వర్క్ క్లయింట్‌ల సమయాన్ని సమకాలీకరించడానికి, dnscrypt-proxy DNS ద్వారా కనెక్షన్‌లను గుప్తీకరించడానికి మరియు స్థానిక నెట్‌వర్క్ క్లయింట్‌లలో ప్రకటనలను నిలిపివేయడానికి మరియు నేను ఇంతకు ముందు చెప్పినట్లుగా, systemd-networkd నెట్‌వర్క్ ఇంటర్‌ఫేస్‌లను కాన్ఫిగర్ చేయడం కోసం.

అటువంటి రౌటర్ యొక్క అంతర్గత నిర్మాణం యొక్క సాధారణ బ్లాక్ రేఖాచిత్రం ఇక్కడ ఉంది.

డెబియన్ 10తో ల్యాప్‌టాప్‌లో సాక్స్‌లో రూటర్‌ను రూపొందించడం

కాబట్టి, ఈ కథనాల శ్రేణి యొక్క లక్ష్యాలు ఏమిటో నేను మీకు గుర్తు చేస్తాను:

  1. అన్ని OS కనెక్షన్‌లను SOCKSకి, అలాగే ల్యాప్‌టాప్ వలె ఒకే నెట్‌వర్క్‌లోని అన్ని పరికరాల నుండి కనెక్షన్‌లను రూట్ చేయండి.
  2. నా విషయంలో ల్యాప్‌టాప్ పూర్తిగా మొబైల్‌గా ఉండాలి. అంటే, డెస్క్‌టాప్ వాతావరణాన్ని ఉపయోగించడానికి మరియు భౌతిక స్థానానికి అనుసంధానించబడకుండా ఉండటానికి అవకాశం ఇవ్వడం.
  3. చివరి పాయింట్ అంతర్నిర్మిత వైర్‌లెస్ ఇంటర్‌ఫేస్ ద్వారా మాత్రమే కనెక్షన్ మరియు రూటింగ్‌ను సూచిస్తుంది.
  4. బాగా, మరియు కోర్సు యొక్క, సమగ్ర గైడ్ యొక్క సృష్టి, అలాగే నా నిరాడంబరమైన జ్ఞానం మేరకు సంబంధిత సాంకేతికతలను విశ్లేషించడం.

ఈ వ్యాసంలో ఏమి కవర్ చేయబడుతుంది:

  1. వెళ్ళండి — ప్రాజెక్ట్ రిపోజిటరీలను డౌన్‌లోడ్ చేయండి tun2socksTCP ట్రాఫిక్‌ని SOCKSకి మార్చడానికి అవసరం, మరియు create_ap — ఉపయోగించి వర్చువల్ యాక్సెస్ పాయింట్ సెటప్‌ను ఆటోమేట్ చేయడానికి స్క్రిప్ట్ hostapd.
  2. tun2socks — సిస్టమ్‌లో systemd సేవను నిర్మించి, ఇన్‌స్టాల్ చేయండి.
  3. systemd-networkd — వైర్‌లెస్ మరియు వర్చువల్ ఇంటర్‌ఫేస్‌లు, స్టాటిక్ రూటింగ్ పట్టికలు మరియు ప్యాకెట్ దారి మళ్లింపులను కాన్ఫిగర్ చేయండి.
  4. create_ap — సిస్టమ్‌లో systemd సేవను ఇన్‌స్టాల్ చేయండి, వర్చువల్ యాక్సెస్ పాయింట్‌ను కాన్ఫిగర్ చేయండి మరియు ప్రారంభించండి.

ఐచ్ఛిక దశలు:

  • NTP — వర్చువల్ యాక్సెస్ పాయింట్ క్లయింట్‌లపై సమయాన్ని సమకాలీకరించడానికి సర్వర్‌ను ఇన్‌స్టాల్ చేసి కాన్ఫిగర్ చేయండి.
  • dnscrypt-proxy — మేము DNS అభ్యర్థనలను గుప్తీకరిస్తాము, వాటిని SOCKSకి రూట్ చేస్తాము మరియు స్థానిక నెట్‌వర్క్ కోసం అడ్వర్టైజింగ్ డొమైన్‌లను నిలిపివేస్తాము.

ఇదంతా దేనికి?

స్థానిక నెట్‌వర్క్‌లో TCP కనెక్షన్‌లను భద్రపరిచే మార్గాలలో ఇది ఒకటి. ప్రధాన ప్రయోజనం ఏమిటంటే, అన్ని కనెక్షన్‌లు సాక్స్‌లో తయారు చేయబడతాయి, అసలు గేట్‌వే ద్వారా వాటికి స్థిరమైన మార్గం నిర్మించబడకపోతే. స్థానిక నెట్‌వర్క్‌లోని వ్యక్తిగత ప్రోగ్రామ్‌లు లేదా క్లయింట్‌ల కోసం మీరు 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
  • పరామితి -DBUILD_NOTHING_BY_DEFAULT=1 badvpn రిపోజిటరీ యొక్క అన్ని భాగాల నిర్మాణాన్ని నిలిపివేస్తుంది.
  • -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_ap

systemd-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.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

పున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

చివరికి

  1. ప్రొవైడర్ మీ SOCKS సర్వర్‌కి ఎన్‌క్రిప్ట్ చేసిన కనెక్షన్‌ను మాత్రమే చూస్తారు, అంటే వారికి ఏమీ కనిపించదు.
  2. ఇంకా ఇది మీ NTP అభ్యర్థనలను చూస్తుంది, దీన్ని నిరోధించడానికి, NTP సర్వర్‌ల కోసం స్టాటిక్ రూట్‌లను తీసివేయండి. అయితే, మీ SOCKS సర్వర్ NTP ప్రోటోకాల్‌ను అనుమతిస్తుందని ఖచ్చితంగా తెలియదు.

డెబెన్ 10పై క్రచ్ గుర్తించబడింది

మీరు కన్సోల్ నుండి నెట్‌వర్క్ సేవను పునఃప్రారంభించడానికి ప్రయత్నిస్తే, అది లోపంతో విఫలమవుతుంది. వర్చువల్ ఇంటర్‌ఫేస్ రూపంలో దానిలో కొంత భాగం tun2socks సేవతో ముడిపడి ఉండటమే దీనికి కారణం, అంటే అది ఉపయోగించబడుతుంది. నెట్‌వర్క్ సేవను పునఃప్రారంభించడానికి, మీరు ముందుగా tun2socks సేవను నిలిపివేయాలి. కానీ, నేను అనుకుంటున్నాను, మీరు చివరి వరకు చదివితే, ఇది ఖచ్చితంగా మీకు సమస్య కాదు!

సూచనలు

  1. Linux - IBMలో స్టాటిక్ రూటింగ్
  2. systemd-networkd.service - Freedesktop.org
  3. Tun2socks · ambrop72/badvpn వికీ · GitHub
  4. oblique/create_ap: ఈ స్క్రిప్ట్ NATed లేదా Bridged WiFi యాక్సెస్ పాయింట్‌ని సృష్టిస్తుంది.
  5. dnscrypt-proxy 2 — గుప్తీకరించిన DNS ప్రోటోకాల్‌లకు మద్దతుతో సౌకర్యవంతమైన DNS ప్రాక్సీ.

మూలం: www.habr.com