ഫോണുകൾ ആക്സസ് പോയിന്റിലേക്ക് ചേരുന്നു, വിലാസം സ്വീകരിക്കുന്നു, പിന്നീട് ടണൽ ഉയരുമ്പോൾ ഒന്നിലും എത്തുന്നില്ല. ആ അവസ്ഥയിൽ hostapd സാധാരണയായി ആരോഗ്യകരമാണ്, OpenVPN-ഉം അങ്ങനെ തന്നെ; തകരുന്നത് ഡിഫോൾട്ട് റൂട്ടാണ്, അത് ബ്രിഡ്ജിൽ ഒരിക്കലും ഉണ്ടായിരുന്നില്ല, അല്ലെങ്കിൽ VPN സെർവറിലേക്കുള്ള വഴി വിടാതെ ടണൽ അത് മാറ്റി. ഈ ഗൈഡ് ആ റൂട്ട് അതിന്റെ സ്ഥാനത്ത് തിരികെ വയ്ക്കുന്നു, ഫലം Pi-യിൽ നിന്നല്ല, ക്ലൈന്റിൽ നിന്ന് തെളിയിക്കുന്നു. ഓരോ ഘട്ടവും പഴയപടിയാക്കാം, ഇവിടെ ഒന്നും ടണലിന്റെ കോൺഫിഗറേഷൻ മാറ്റുന്നില്ല, അതിനുള്ളിൽ ഏത് ട്രാഫിക് വേണമെന്ന് അറിയുന്നതുവരെ.

എന്തെങ്കിലും എഡിറ്റ് ചെയ്യുന്നതിന് മുൻപ് ഇന്റർഫേസുകൾ ലിസ്റ്റ് ചെയ്യുക

പരിചിതമായ രൂപകൽപ്പന വയർലെസ് റേഡിയോയും വയേർഡ് പോർട്ടും br0-നുള്ളിൽ വയ്ക്കുന്നു, ബ്രിഡ്ജിനെതിരെ hostapd ആരംഭിക്കുന്നു, dnsmasq-ൽ നിന്ന് ലീസുകൾ വിതരണം ചെയ്യുന്നു, OpenVPN ക്ലൈന്റ് tun0 സൃഷ്ടിക്കുന്നു. അപ്പോൾ മൂന്ന് വേറിട്ട ആവശ്യങ്ങൾ ഒന്നുപോലെ തോന്നുന്നു: ആക്സസ് പോയിന്റ് ക്ലൈന്റുകൾക്ക് അവരുടെ ഗേറ്റ്വേ ആയി Pi വേണം, Pi-ക്ക് അതിന്റെ സെർവർ എത്താൻ ഇന്റർനെറ്റിലേക്ക് റൂട്ട് വേണം, ബ്രിഡ്ജിന് ആ ക്ലൈന്റുകൾക്ക് ഉപയോഗിക്കാവുന്ന ഗേറ്റ്വേ വിലാസം വേണം.

മാറ്റുന്നതിന് മുൻപ് നിലവിലെ അവസ്ഥ വായിക്കുക, കാരണം ഈ നാല് കമാൻഡുകൾ ഇന്റർഫേസ് പ്രശ്നത്തെ റൂട്ടിംഗ് പ്രശ്നത്തിൽ നിന്ന് വേർതിരിക്കുന്നു.

ip -br addr
ip route show
ip link show master br0
bridge link show

br0-ന് വിലാസം ഉണ്ടെങ്കിലും ഡിഫോൾട്ട് റൂട്ട് ഇല്ലെങ്കിൽ, ക്ലൈന്റുകൾ Pi വരെ എത്തുന്നു, അതിനപ്പുറം ഒന്നിലും എത്തുന്നില്ല. ടണൽ താഴെയിരിക്കുമ്പോൾ ഡിഫോൾട്ട് റൂട്ട് tun0-ലേക്ക് ചൂണ്ടുന്നുവെങ്കിൽ, Pi-ക്ക് പ്രവർത്തിക്കുന്ന വഴിയേ ഇല്ല, ക്ലൈന്റിന്റെ ലക്ഷണം കൃത്യമായി അതുപോലെ കാണപ്പെടുന്നു. രണ്ട് സാഹചര്യങ്ങളും ഫോണിൽ നിന്ന് ഒരുപോലെ കാണപ്പെടുന്നു, അതിനാൽ റൂട്ട് പട്ടിക നേരിട്ട് വായിക്കണം.

ബ്രിഡ്ജിന് അതിന്റേതായ ഒരു ഡിഫോൾട്ട് റൂട്ട് നൽകുക

Raspberry Pi OS പലപ്പോഴും ബ്രിഡ്ജിനെ ഡിഫോൾട്ട് റൂട്ട് ഇല്ലാതെ വിടുന്നു, ഇന്റർഫേസ് ഫയൽ എഴുതിയതിന് ശേഷമാണ് ബ്രിഡ്ജ് ഉണ്ടായതെങ്കിൽ. ബ്ലോക്ക് /etc/dhcpcd.conf-ൽ ആയിരിക്കണം, അത് Pi-യെയല്ല, മുകളിലെ റൗട്ടറിനെ പേര് പറയണം.

interface br0
static ip_address=192.168.50.2/24
static routers=192.168.50.1
static domain_name_servers=192.168.50.1

ആ ഉദാഹരണത്തിൽ 192.168.50.1 നിലവിലുള്ള റൗട്ടറാണ്, 192.168.50.2 അതേ സബ്നെറ്റിലെ Pi-യുടെ ബ്രിഡ്ജ് വിലാസമാണ്, അതിനാൽ അക്കങ്ങൾ പകർത്താതെ നിങ്ങളുടെ സ്വന്തം പ്ലാൻ ഇടുക. ബ്രിഡ്ജ് അംഗങ്ങളും റൗട്ടറുകൾ ആവശ്യപ്പെടരുത്, അല്ലെങ്കിൽ Pi-ക്ക് മത്സരിക്കുന്ന ഡിഫോൾട്ടുകൾ അവശേഷിക്കും, അവയുടെ വിജയി മെട്രിക്, സമയം എന്നിവയെ ആശ്രയിക്കും, ഉദ്ദേശ്യത്തെയല്ല.

systemctl restart dhcpcd-ന് ശേഷം ip route show default br0 ഒരിക്കൽ മാത്രം കാണിക്കണം, വയേർഡ് പോർട്ടിൽ നിന്ന് തനിപ്പകർപ്പ് ഉണ്ടാകരുത്. പട്ടികയല്ല, തിരയൽ സ്ഥിരീകരിക്കുക, കാരണം പഴയ എൻട്രി വിജയിച്ച എൻട്രിക്ക് അടുത്ത് ഇരിക്കാം: ip -4 route get 203.0.113.10 br0-നെ പേര് പറയണം. ആ വിലാസം TEST-NET-3 ഡോക്യുമെന്റേഷൻ ശ്രേണിയിൽ നിന്നാണ്, അതിനാൽ ഇത് വായിക്കുമ്പോൾ അത് യഥാർത്ഥ സെർവറുമായി കൂട്ടിയിടിക്കാനാവില്ല.

ടണൽ അതിന്റെ സ്വന്തം സെർവറിലേക്കുള്ള വഴി തട്ടിയെടുക്കുന്നത് തടയുക

redirect-gateway സ്വീകരിക്കുന്ന OpenVPN ക്ലൈന്റ് ഡിഫോൾട്ട് റൂട്ട് ഏറ്റെടുത്ത് ടണലിലേക്ക് തിരിക്കുന്നു. എല്ലാ ആക്സസ് പോയിന്റ് ക്ലൈന്റുകളും VPN ഉപയോഗിക്കേണ്ടപ്പോൾ ഇത് ശരിയാണ്, ചില ലക്ഷ്യങ്ങൾ മാത്രം ഉപയോഗിക്കേണ്ടപ്പോൾ തെറ്റാണ്. ഏതായാലും, Pi-യുടെ സെർവറുമായുള്ള സ്വന്തം കണക്ഷൻ അത് ഇപ്പോഴും നിർമ്മിക്കുന്ന ടണലിനുള്ളിലൂടെ പോകരുത്. OpenVPN ഡിഫോൾട്ട് റീഡയറക്ട് ചെയ്യുമ്പോൾ യഥാർത്ഥ ഗേറ്റ്വേ വഴി വിദൂരത്തിലേക്ക് ഒരു ഹോസ്റ്റ് റൂട്ട് ചേർക്കുന്നു, അതാണ് ട്രാൻസ്പോർട്ടിനെ ജീവിച്ചിരിക്കാൻ സഹായിക്കുന്ന സ്വഭാവം; ആ റൂട്ട് ഇല്ലെങ്കിൽ, ടണൽ സ്ഥാപിതമാകുമ്പോൾ തന്നെ തകരുന്നു.

കണക്ഷന് മുൻപും ശേഷവുമുള്ള ആ ട്രാൻസ്പോർട്ട് വഴിയുടെ വേഗത്തിലുള്ള താരതമ്യം ആ പത്ത് സെക്കൻഡിന് അർഹമാണ്. ip -4 route get 203.0.113.10 രണ്ട് അവസ്ഥകളിലും അടിസ്ഥാന ഉപകരണത്തിന്റെ പേര് പറയണം, മാറുന്നത് മെട്രിക് മാത്രം. ടണൽ ഉയർന്നതിന് ശേഷം അത് tun0-നെ പേര് പറഞ്ഞാൽ, ഹോസ്റ്റ് റൂട്ട് ഒരിക്കലും ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ല, അടുത്ത വീണ്ടും കണക്ഷൻ പരാജയപ്പെടും.

തിരഞ്ഞെടുത്ത പ്രിഫിക്സുകൾ മാത്രം ടണൽ കടക്കണമെങ്കിൽ, route-nopull ഉപയോഗിച്ച് ആവശ്യമുള്ള റൂട്ടുകൾ കൈകൊണ്ട് ചേർക്കുക, അല്ലെങ്കിൽ സെർവറിൽ നിന്ന് കൂടുതൽ ഇടുങ്ങിയ ഗണം അയയ്ക്കുക. ആ രൂപകൽപ്പനയിൽ ബ്രിഡ്ജ് ഡിഫോൾട്ട് റൂട്ട് നിലനിർത്തുന്നു, DNS അടുത്ത തീരുമാനമാകുന്നു: dnsmasq വീട്ടിലെ റിസോൾവറിലേക്ക് ഫോർവേഡ് ചെയ്യുന്നത് യഥാർത്ഥത്തിൽ അവിടെ താമസിക്കുന്ന പേരുകൾക്ക് മാത്രം അർത്ഥവത്താണ്.

ഫോർവേഡിംഗും NAT-ഉം തീരുമാനിക്കുക

പൂർണ്ണ ടണലിന് Pi-യിൽ ഫോർവേഡിംഗ് പ്രവർത്തനക്ഷമമാക്കണം, ആക്സസ് പോയിന്റ് സബ്നെറ്റ് റൂട്ട് ചെയ്യാൻ തയ്യാറായ എതിർവശത്തെ ഗേറ്റ്വേ വേണം. എല്ലാറ്റിനും മുൻപ് ഫോർവേഡിംഗ് പരിശോധിക്കുക, കാരണം പൂജ്യം എല്ലാ റൂട്ട് മാറ്റത്തെയും അപ്രസക്തമാക്കുന്നു.

sysctl net.ipv4.ip_forward
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o tun0 -j MASQUERADE

NAT നിയമം സെർവർ ആക്സസ് പോയിന്റ് പ്രിഫിക്സ് സ്വീകരിക്കാത്തപ്പോൾ പ്രവർത്തിക്കുന്ന ഷോർട്ട്കട്ടാണ്, എന്നാൽ അതിന്റെ വില എതിർവശത്തെ ലോഗുകളിൽ ഓരോ ക്ലൈന്റും Pi-യുടെ ടണൽ വിലാസമായി കാണപ്പെടുന്നു. NAT ഇല്ലാതെ പ്രിഫിക്സ് റൂട്ട് ചെയ്യുന്നത് വിലാസങ്ങൾ കാണാവുന്നതായി നിലനിർത്തുന്നു കൂടാതെ വീട്ടുവശത്ത് 192.168.50.0/24-നുള്ള മടക്ക റൂട്ടിനെ ആശ്രയിക്കുന്നു.

ഫയർവാൾ നിയമങ്ങൾക്ക് അടുത്ത് തിരഞ്ഞെടുപ്പ് എഴുതിവയ്ക്കുക, കാരണം രൂപകൽപ്പനയിൽ കാണാത്ത NAT നിയമം ആറ് മാസത്തിന് ശേഷം വിശദീകരിക്കാനാവാത്തതാകും. IPv6 അതേ തീരുമാനത്തിൽ നിർത്തുക; തകർന്ന IPv6 വഴിക്ക് അടുത്ത് പ്രവർത്തിക്കുന്ന IPv4 വഴി ബ്രൗസറിൽ ഇപ്പോഴും പകുതി തകർന്നതായി വായിക്കപ്പെടുന്നു.

ക്ലൈന്റിൽ നിന്ന് പരിശോധിച്ച്, പിന്നീട് വൃത്തിയായി റോൾബാക്ക് ചെയ്യുക

ആക്സസ് പോയിന്റിലുള്ള ഫോണിൽ നിന്നോ ലാപ്ടോപ്പിൽ നിന്നോ ഈ ക്രമത്തിൽ പരീക്ഷിക്കുക: dnsmasq-ൽ നിന്ന് ലീസ്, ബ്രിഡ്ജ് വിലാസത്തിലേക്ക് ping, പിന്നീട് ടണലിന്റെ എതിർവശത്തുള്ള ഒരു ലക്ഷ്യം. ഓരോ ഘട്ടവും ഒരു പാളി വേർതിരിക്കുന്നു, ഒരൊറ്റ ഉപയോഗശൂന്യമായ പരാജയം ഉണ്ടാക്കുന്നതിന് പകരം.

ip -4 route get 203.0.113.10
ping -c 3 -I br0 203.0.113.10

പിന്നീട് Pi-ക്ക് ഇപ്പോഴും സ്വന്തം പുറത്തേക്കുള്ള വഴി ഉണ്ടെന്ന് സ്ഥിരീകരിക്കുക: ip route get 203.0.113.10 അടിസ്ഥാന ഉപകരണത്തിന്റെ പേര് പറയണം, സെർവർ ICMP അനുവദിച്ചാൽ ping -c 3 -I br0 203.0.113.10 ഉത്തരം നൽകണം. ആദ്യ രണ്ട് ക്ലൈന്റ് ഘട്ടങ്ങൾ കടന്ന് മൂന്നാമത്തേത് പരാജയപ്പെട്ടാൽ, തകരാർ ഫോർവേഡിംഗിലോ NAT-ലോ ആണ്. രണ്ടാം ഘട്ടം പരാജയപ്പെട്ടാൽ, ബ്രിഡ്ജോ DHCP-ഓ ഇപ്പോഴും അപൂർണ്ണമാണ്.

റോൾബാക്ക് ഒരു ഫയൽ എഡിറ്റും രണ്ട് കമാൻഡുകളുമാണ്: ബ്ലോക്ക് നീക്കം ചെയ്യുക, dhcpcd വീണ്ടും ആരംഭിക്കുക, ഡിഫോൾട്ട് റൂട്ട് വ്യക്തമായി ip route replace default via 192.168.50.1 dev br0 ഉപയോഗിച്ച് മാറ്റുക. അറ്റകുറ്റപ്പണി വിൻഡോ അടയുന്നതിന് മുൻപ് ഇത് ചെയ്യുക, അതിന് ശേഷമല്ല, കാരണം ഡിഫോൾട്ട് റൂട്ട് നഷ്ടപ്പെട്ട Pi അത് നന്നാക്കാൻ ഉപയോഗിക്കുന്ന നെറ്റ്വർക്കിൽ നിന്ന് എത്താനാവില്ല.

അനുബന്ധ ലേഖനങ്ങൾ