VPN-ഉം വീട്ടിലെ LAN-ഉം ഒരേ സബ്നെറ്റിൽ: ആദ്യം റൂട്ട് പരിശോധിക്കുക
രണ്ട് അഡാപ്റ്ററുകളും 192.168.1.0/24 ക്ലെയിം ചെയ്യുന്നു, ഒരു റൂട്ട് മാത്രം വിജയിക്കുന്നു. പുനർനമ്പർ ചെയ്യുന്നതിനോ DNS-നെ കുറ്റപ്പെടുത്തുന്നതിനോ മുൻപ് അഡാപ്റ്റർ പട്ടികയും വിജയിച്ച റൂട്ടും തിരികെയുള്ള വഴിയും പരിശോധിക്കുക.
നിങ്ങൾ ഓഫീസ് VPN-ലേക്ക് കണക്റ്റ് ചെയ്യുന്നു, ട്രേ ഐക്കൺ പച്ചയാകുന്നു, ഇന്ട്രാനെറ്റ് ലോഡ് ചെയ്യുന്നു, രണ്ട് മീറ്റർ അകലെയുള്ള പ്രിന്റർ ഉത്തരം നൽകുന്നത് നിർത്തുന്നു. രാവിലെ പ്രവർത്തിച്ചിരുന്ന ഷെയർ അതേ മെഷീനിൽ സമയപരിധി കഴിയുന്നു, ഒരു ലോഗിലും പ്രിന്ററിനെക്കുറിച്ച് പരാമർശമില്ല. ആദ്യ പ്രതികരണം DNS ആണ്, കാരണം പരിഹരിക്കപ്പെടാത്ത പേര് നിലവിലില്ലാത്ത പേരിനെപ്പോലെ തോന്നുന്നു, പക്ഷേ പ്രശ്നം വിലാസത്തിലാണ്: രണ്ട് അഡാപ്റ്ററുകൾ ഇപ്പോൾ 192.168.1.0/24 ക്ലെയിം ചെയ്യുന്നു, ആ പ്രിഫിക്സ് ഒരു റൂട്ടിന് മാത്രമേ നേടാനാകൂ. ഈ ക്രമത്തിൽ പരിശോധിക്കുക, എന്തെങ്കിലും മാറ്റുന്നതിന് മുൻപ് ഏത് അഡാപ്റ്റർ അത് എടുത്തുവെന്ന് കാണാം.
ലക്ഷണത്തിൽ നിന്ന് തുടങ്ങുക, ടണലിൽ നിന്നല്ല
സൂചന പരിധിയാണ്. ഇന്ട്രാനെറ്റ് പ്രവർത്തിക്കുകയും എല്ലാ ലോക്കൽ ഉപകരണങ്ങളും പരാജയപ്പെടുകയും ചെയ്താൽ, ടണൽ ആരോഗ്യകരമാണ്, ലോക്കൽ വഴിയല്ല. ലോക്കൽ ഉപകരണങ്ങൾ പ്രവർത്തിക്കുകയും ഇന്ട്രാനെറ്റ് പരാജയപ്പെടുകയും ചെയ്താൽ, തിരിച്ച്. ഒരു ഹോസ്റ്റ് ഒഴികെ എല്ലാം പ്രവർത്തിച്ചാൽ, ഇരുവശത്തും നിലനിൽക്കുന്ന ഒരു വിലാസമാണ് നിങ്ങൾ കാണുന്നത്.
ഏതെങ്കിലും ക്രമീകരണം തൊടുന്നതിന് മുൻപ് ഒരു ലോക്കൽ, ഒരു ദൂര വിലാസം എഴുതിവയ്ക്കുക. “പ്രിന്റർ” പരിശോധിക്കാനാവില്ല; 192.168.1.40 ആവും. ആ ഒരു ചുവട് ഈ പ്രശ്നത്തിലെ ഏറ്റവും സാധാരണമായ നഷ്ടപ്പെട്ട മണിക്കൂർ ഒഴിവാക്കുന്നു, അതായത് റൂട്ടിംഗ് തീരുമാനത്തിനായി DNS ക്രമീകരണങ്ങൾ വീണ്ടും എഴുതുന്നത്.
ഘട്ടം 1: പ്രിഫിക്സ് ക്ലെയിം ചെയ്യുന്ന രണ്ട് അഡാപ്റ്ററുകളും കാണുക
നെറ്റ്വർക്ക് കണക്ഷനുകൾ (ncpa.cpl) തുറന്ന് രണ്ട് അഡാപ്റ്ററുകളും അടുത്തടുത്ത് വായിക്കുക. Ethernet അഡാപ്റ്റർ 192.168.1.50/24 ഉം ഗേറ്റ്വേ 192.168.1.1 ഉം കാണിക്കുന്നു. VPN അഡാപ്റ്റർ സർവർ അയച്ച 192.168.1.201/24 കാണിക്കുന്നു. രണ്ടും സാധുവാണ്, രണ്ടും പ്രിഫിക്സ് on-link ആണെന്ന് വിശ്വസിക്കുന്നു, സ്റ്റാക്ക് അതിനായി ഒരു റൂട്ട് മാത്രം സൂക്ഷിക്കും.
Get-NetIPAddress -AddressFamily IPv4 വിലാസങ്ങൾ ലിസ്റ്റ് ചെയ്യുന്നു, Get-NetIPInterface | Sort-Object InterfaceMetric സ്റ്റാക്ക് അവ ഏത് ക്രമത്തിൽ ഉപയോഗിക്കുമെന്ന് കാണിക്കുന്നു. ആ മെട്രിക് കോളം ഇപ്പോൾ നിങ്ങൾ വായിക്കാൻ പോകുന്ന തീരുമാനമാണ്, അതിനാൽ ഓർമ്മിക്കാൻ ശ്രമിക്കാതെ സംഖ്യകൾ എഴുതിവയ്ക്കുക.
DNS സിദ്ധാന്തം കുറഞ്ഞ ചെലവിൽ തെറ്റാണെന്ന് തെളിയിക്കുക: Resolve-DnsName printer.office.lan ഇന്നലെ നൽകിയ അതേ വിലാസം നൽകുന്നു. പേര് പരിഹരിക്കപ്പെട്ടു; പിന്നീട് പാക്കറ്റ് തെറ്റായ അഡാപ്റ്ററിലൂടെ പുറത്തുപോയി. ഇവിടെ രണ്ട് മിനിറ്റ് റിസോൾവർ ക്രമീകരണങ്ങളിൽ ഒരു ഉച്ചയ്ക്ക് ശേഷം ലാഭിക്കുന്നു.
ഘട്ടം 2: യഥാർത്ഥത്തിൽ വിജയിച്ച റൂട്ട് വായിക്കുക
Find-NetRoute -RemoteIPAddress 192.168.1.40 ആ വിലാസത്തിനായി സ്റ്റാക്ക് ഉപയോഗിക്കുന്ന ഇന്റർഫേസ്, അടുത്ത ഹോപ്പ്, ഉറവിടം എന്നിവ അച്ചടിക്കുന്നു. ഈ ഔട്ട്പുട്ടിനെ സൂചനയല്ല, ഉത്തരമായി കാണുക. ഏത് എൻട്രി എത്രത്തോളം തോറ്റു എന്ന് കാണാൻ route print -4 മുഴുവൻ പട്ടിക നൽകുന്നു.
നിർദ്ദിഷ്ടത ഉദ്ദേശ്യത്തെ തോൽപ്പിക്കുന്നു. അയച്ച 192.168.0.0/25 ലോക്കൽ 192.168.0.0/24-നെ തോൽപ്പിക്കുന്നു, കാരണം പ്രിഫിക്സ് നീളമുള്ളതാണ്, അതിനാൽ 192.168.0.0 മുതൽ 192.168.0.127 വരെ ടണലിലൂടെ പുറത്തുപോകുന്നു, മുകൾ പകുതി ലോക്കൽ ആയി തുടരുന്നു. പിശക് സന്ദേശമില്ലാതെ പകുതി LAN അപ്രത്യക്ഷമാകുന്നത് ആ പട്ടികയുടെ ശരിയായ പെരുമാറ്റമാണ്.
tracert -d 192.168.1.40 പട്ടികയ്ക്ക് പുറത്തുനിന്ന് ഇത് സ്ഥിരീകരിക്കുന്നു: ആദ്യ ഹോപ്പ് നിങ്ങളുടെ സ്വന്തം റൗട്ടറിന് പകരം ടണൽ വിലാസമാണെങ്കിൽ, റൂട്ട് തന്നെയാണ് മുഴുവൻ കഥ. Linux-ൽ അതേ ചോദ്യം ip route get 192.168.1.40 ആണ്, അത് ഉറവിട വിലാസവും ഉപകരണവും ഒരു വരിയിൽ അച്ചടിക്കുന്നു. ഉത്തരം tun0 എന്ന് പറയുമ്പോൾ ബ്രൗസർ നോക്കുന്നത് നിർത്തുക.
ഘട്ടം 3: ക്ലയന്റിനെ കുറ്റപ്പെടുത്തുന്നതിന് മുൻപ് തിരികെയുള്ള വഴി പരിശോധിക്കുക
ശരിയായ മുന്നോട്ടുള്ള റൂട്ടും ദൂര വശത്തിന് ഉത്തരം നൽകാനാകാത്തപക്ഷം പരാജയപ്പെടുന്നു. ക്ലയന്റിന്റെ LAN-ൽ ടണലിലൂടെ എത്തുമ്പോൾ, ആ LAN-ന്റെ ഗേറ്റ്വേ ടണൽ പൂൾ എവിടെയാണെന്ന് അറിയണം: ആ റൗട്ടറിൽ ip route add 10.8.0.0/24 via 192.168.1.12, കൂടാതെ ക്ലയന്റുകൾ തിരികെയുള്ള വഴി അറിയാൻ സർവറിൽ നിന്ന് push “route 192.168.1.0 255.255.255.0”.
ആദ്യ എൻട്രി ഇല്ലാതെ ഉത്തരം ലക്ഷ്യത്തെ വിട്ട് അതിന്റെ ഡിഫോൾട്ട് ഗേറ്റ്വേയിലേക്ക് പോകുന്നു, അത് സ്വകാര്യ വിലാസം ISP-യിലേക്ക് കൈമാറി ഉപേക്ഷിക്കുന്നു. ലക്ഷണം ഏകദിശയാണ്, തെറ്റായി വായിക്കാൻ എളുപ്പമാണ്: അഭ്യർത്ഥനകൾ tun0-ൽ പ്രത്യക്ഷപ്പെടുന്നു, ഉത്തരങ്ങൾ ഒരിക്കലുമില്ല.
VPN ഹോസ്റ്റിലെ masquerade നിയമം ആ സ്ഥിര റൂട്ടിന്റെ ആവശ്യം ഒഴിവാക്കുന്നു: iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE. അത് യഥാർത്ഥ ഉറവിട വിലാസങ്ങളും മറയ്ക്കുന്നു, ഇത് പിന്നീടുള്ള ഓരോ ലോഗ് ചോദ്യവും ബുദ്ധിമുട്ടാക്കുന്നു. തെറ്റായ ഡിഫോൾട്ട് ഗേറ്റ്വേയുള്ള ലക്ഷ്യ ഹോസ്റ്റും അതേ നിശബ്ദത സൃഷ്ടിക്കുന്നു, മികച്ച സാഹചര്യത്തിൽ ICMP റീഡയറക്ടും സാധാരണ സാഹചര്യത്തിൽ കറുത്ത ദ്വാരവും, അതിനാൽ ക്യാപ്ചർ രണ്ട് അറ്റത്തും വേണം.
ഘട്ടം 4: ഒപ്പം ജീവിക്കാനാകുന്ന അറ്റകുറ്റപ്പണി തിരഞ്ഞെടുക്കുക
ഇതിനായി അഞ്ച് അറ്റകുറ്റപ്പണികൾ ഉപയോഗിക്കുന്നു, അവ പരസ്പരം മാറ്റാനാവില്ല. ഏത് കമാൻഡ് ചെറുതാണെന്നല്ല, ഒരേ സമയം എന്ത് എത്തിച്ചേരാനാകണം എന്നതിന്റെ അടിസ്ഥാനത്തിൽ തിരഞ്ഞെടുക്കുക.
| Repair | What it fixes | What it costs |
|---|---|---|
| Flip interface metrics | Alternating access: office now, home later, never both | Get-NetAdapter -Name "Ethernet 2" | Set-NetIPInterface -InterfaceMetric 21; set the VPN adapter back to 5000. A client that rewrites metrics on connect defeats it |
| Renumber one side | Every host reachable in both directions | DHCP reservations, printer queues, firewall rules and hard-coded addresses all move |
| Narrow the advertised prefix | Remote hosts really live in the upper half | Breaks the day someone adds a host below the cut |
| Translate with client-nat | Both address plans stay untouched | Stateless per-client mapping, unreadable logs, anything embedding addresses breaks |
| Publish one service with DNAT | One service on the VPN host reachable from the LAN | Both address plans stay; source addresses and reverse lookups stop being meaningful |
മെട്രിക്കുകൾ വിലകുറഞ്ഞ ഓപ്ഷനാണ്, ആളുകൾ ആദ്യം കൈയിടുന്നതും അതിൽ തന്നെ. മാറ്റം ഇന്റർഫേസിന് ബാധകമാണ്, അതിനാൽ ടണൽ ഉയർന്നിരിക്കുന്നിടത്തോളം പ്രവർത്തിക്കുന്നു, അതിന്റെ സ്ഥാനം ക്ലയന്റിന് അടുത്തുള്ള സ്ക്രിപ്റ്റിലാണ്, നിങ്ങൾ മറക്കുന്ന ഷെല്ലിലല്ല. ഒരേ വിലാസത്തിലേക്ക് രണ്ട് നെറ്റ്വർക്കുകളിൽ ഒരേസമയം പ്രവേശനം നൽകാനാവില്ല, ആ പരിധിയാണ് ബാക്കിയുള്ളവരെ പട്ടികയുടെ താഴേക്ക് അയക്കുന്നത്.
വീട്ടിലെ LAN പുനർനമ്പർ ചെയ്യുന്നത് 10.10.0.0/24-ലേക്ക് വൃത്തിയുള്ള പരിഹാരമാണ്: ഒരു DHCP ലീസ് പുതുക്കൽ കൂടാതെ പഴയ ശ്രേണി പരാമർശിക്കുന്ന റിസർവേഷനുകൾ, പ്രിന്റർ ക്യൂകൾ, ഹാർഡ്കോഡ് വിലാസങ്ങൾ. ഓഫീസ് ഭാഗം പുനർനമ്പർ ചെയ്യുന്നത് സാധാരണയായി നിങ്ങളുടെ തീരുമാനമല്ല. രണ്ട് നെറ്റ്വർക്കുകളിലും ഉണ്ടെങ്കിൽ IPv6 കൂട്ടിയിടി പൂർണ്ണമായി ഒഴിവാക്കുന്നു, ഓർമ്മിക്കാനെളുപ്പമുള്ള എന്തിനെക്കാളും fd00::/8-ൽ നിന്നുള്ള അദ്വിതീയ ലോക്കൽ പ്രിഫിക്സ് ഉപയോഗിച്ച്, പക്ഷേ ആപ്ലിക്കേഷൻ TCP-യിൽ പരിശോധിക്കുക, ping-ൽ അല്ല, കാരണം ICMP പ്രവർത്തിച്ചാലും സേവനം പ്രവർത്തിക്കണമെന്നില്ല.
OpenVPN-ന്റെ സ്വന്തം വിവർത്തന ഓപ്ഷനാണ് അവസാന മാർഗം, സർവറിൽ നിന്ന് ക്ലയന്റ്-നിർദ്ദിഷ്ട ഡയറക്ടറി എൻട്രിയിലേക്ക് അയക്കുന്നു. ഓപ്ഷന്റെ പേരിന് ശേഷം നാല് പാരാമീറ്ററുകൾ എടുക്കുന്നു — ദിശ, നെറ്റ്വർക്ക്, നെറ്റ്മാസ്ക്, അലിയാസ് — അലിയാസ് ഓപ്ഷണലല്ല: push "route 192.168.2.0 255.255.255.0", push "client-nat dnat 192.168.2.0 255.255.255.0 192.168.1.0". നെറ്റ്വർക്കും മാസ്കും ക്ലയന്റ് കാണുന്ന ശ്രേണിയാണ് (192.168.2.0/24), അലിയാസ് സർവർ ഭാഗത്തെ യഥാർത്ഥ ഓഫീസ് ശ്രേണിയാണ് (192.168.1.0/24), അയച്ച റൂട്ടാണ് ആ ദൃശ്യ ശ്രേണിയെ എത്തിച്ചേരാവുന്നതാക്കുന്നത്. അപ്പോൾ ഓഫീസ് ആ ക്ലയന്റിന് 192.168.2.x-ന് കീഴിൽ കാണാം. പ്രൊഫൈലിൽ മാപ്പിംഗ് രേഖപ്പെടുത്തുക, അല്ലെങ്കിൽ അടുത്ത ആൾ അത് റൂട്ടിംഗ് തകരാറായി ഡീബഗ് ചെയ്യും.
ഒരു സേവനം മാത്രം പ്രസിദ്ധീകരിക്കുന്നത് വിവർത്തനത്തിന്റെ ഇടുങ്ങിയ പതിപ്പാണ്, അതിന് OpenVPN ഓപ്ഷൻ ഒട്ടും ആവശ്യമില്ല. VPN ഹോസ്റ്റിലെ DNAT നിയമം ഒരു പോർട്ട് വീണ്ടും പ്രസിദ്ധീകരിക്കുന്നു, അതിനാൽ LAN അതിന്റെ വിലാസങ്ങൾ നിലനിർത്തി തനിക്ക് ഇതിനകം അറിയാവുന്ന ഹോസ്റ്റ് വിലാസത്തിൽ സേവനത്തിലെത്തുന്നു. ചെലവ് സാധാരണമാണ്: സേവനം VPN ഹോസ്റ്റിനെ ഉറവിടമായി കാണുന്നു, അതിനാൽ ക്ലയന്റ് അനുസരിച്ചുള്ള ലോഗുകളും വിപരീത തിരയലുകളും അർത്ഥം നഷ്ടപ്പെടുത്തുന്നു. ഇത് ഒരു പ്രിന്റർ ക്യൂവോ ഒരു അഡ്മിൻ പേജോ ഉൾക്കൊള്ളുന്നു, ഇരു വശത്തുമുള്ള ഹോസ്റ്റുകൾ പരസ്പരം എത്തുന്നതല്ല.
ഇനിയും എന്ത് പ്രവർത്തിക്കില്ല, എന്ത് രേഖപ്പെടുത്തണം
ബ്രോഡ്കാസ്റ്റ് റൂട്ട് ചെയ്ത ടണലിനെ കടക്കുന്നില്ല. DLNA, UPnP, NetBIOS ബ്രൗസിംഗ്, Wake-on-LAN എന്നിവ tun ഉപകരണം വഹിക്കാത്ത ബ്രോഡ്കാസ്റ്റിനെയോ മൾട്ടികാസ്റ്റിനെയോ ആശ്രയിക്കുന്നു, അതിനാൽ ഒരു റൂട്ടും കണ്ടെത്തൽ ശരിയാക്കുന്നില്ല. dev tap ഉപയോഗിച്ചുള്ള ബ്രിഡ്ജിംഗ് സെഗ്മെന്റ് വിപുലീകരിക്കുന്നു, അതോടൊപ്പം DHCP ബ്രോഡ്കാസ്റ്റുകൾ, ARP, മറ്റ് കണ്ടെത്തൽ പാക്കറ്റുകൾ; ദൂര റൗട്ടറിന്റെ LAN ഭാഗ വിലാസത്തിന് route 192.168.2.1 255.255.255.255 പോലുള്ള യൂണികാസ്റ്റ് ഹോസ്റ്റ് റൂട്ട് തിരഞ്ഞെടുക്കുക.
ഒരേ വഴിയിൽ രണ്ടും 192.168.1.1 ഉപയോഗിക്കുന്ന രണ്ട് റൗട്ടറുകൾ ഒരേ പ്രശ്ന കുടുംബത്തിൽ പെടുന്നു: ലോക്കൽ വിലാസം എപ്പോഴും വിജയിക്കുന്നു, അതിനാൽ ഒരു LAN മാറുന്നതുവരെ ദൂര റൗട്ടറിന്റെ പേജ് എത്താനാവാത്തതായി തുടരും. രണ്ടാം അഡാപ്റ്റർ ചേർക്കുന്നത് രണ്ട് സാഹചര്യങ്ങളിലും ഒന്നും മാറ്റുന്നില്ല.
എന്തെങ്കിലും എഡിറ്റ് ചെയ്യുന്നതിന് മുൻപ് തെളിവുകൾ രേഖപ്പെടുത്തുക: ip route get അല്ലെങ്കിൽ Find-NetRoute, ബന്ധപ്പെട്ട വിലാസത്തിലേക്ക് ping -c 3, ഒരു traceroute, ക്ലയന്റിൽ tcpdump -ni tun0 icmp, തുടർന്ന് സർവറിൽ റൂട്ടിംഗ് പട്ടികയും NAT കൗണ്ടറുകളും. ഒരു ദിശയിൽ പ്രവർത്തിച്ച് മറുദിശയിൽ മരിക്കുന്ന ping ടണലിനെയല്ല, തിരികെയുള്ള വഴിയെയാണ് ചൂണ്ടുന്നത്, ആ ഒരു വ്യത്യാസമാണ് മുകളിലെ ഏത് അറ്റകുറ്റപ്പണി യഥാർത്ഥത്തിൽ വേണമെന്ന് തീരുമാനിക്കുന്നത്.