ഒരു ലാബ് പ്രിന്ററിനുള്ള ഒരു /24 രണ്ട് ip route show കോളുകൾക്കിടയിൽ അപ്രത്യക്ഷമാകുന്നു, ക്ലയന്റ് ലോഗ് നെറ്റ്വർക്ക് മാറി എന്ന് മാത്രം പറയുന്നു. കമാൻഡിലോ പ്രിഫിക്സിലോ നിങ്ങളുടെ അനുമതികളിലോ ഒന്നും തെറ്റായിരുന്നില്ല. ഹോസ്റ്റിന്റെ റൂട്ടിംഗ് മോഡലിന്റെ ഉടമസ്ഥതയുള്ള ഒരു കോർപ്പറേറ്റ് ക്ലയന്റ്, മറ്റാരെങ്കിലും അത് എഡിറ്റ് ചെയ്യുമ്പോഴെല്ലാം ആ മോഡൽ വീണ്ടും അടിച്ചേൽപ്പിക്കുന്നു, അതിനാൽ നിങ്ങൾ ചേർത്ത എൻട്രി കടന്നുകയറ്റക്കാരനായി നീക്കം ചെയ്യപ്പെടുന്നു. അതേ ടേബിളിൽ അതിനെതിരെ പോരാടുന്നത് തോൽക്കുന്ന സ്ഥാനമാണ്. പരിഹാരം, ആ ടേബിളിനായുള്ള മത്സരം പൂർണ്ണമായി നിർത്തി അപവാദം മോണിറ്റർ ഒരിക്കലും നോക്കാത്ത ഇടത്ത് വയ്ക്കുക എന്നതാണ്.

മോണിറ്റർ കാണാതായ റൂട്ട് വിശദീകരിക്കുന്നു

എന്തെങ്കിലും പുനർരൂപകൽപ്പന ചെയ്യുന്നതിന് മുമ്പ് ഇത് കാണിച്ചുകൊടുക്കുക: ടേബിൾ വായിക്കുക, പ്രിഫിക്സ് ചേർക്കുക, കുറച്ച് സെക്കൻഡ് കാത്തിരിക്കുക, വീണ്ടും വായിക്കുക. എൻട്രി ഇല്ലെങ്കിൽ, അത് നീക്കാൻ നിങ്ങൾ ഒന്നും ടൈപ്പ് ചെയ്തിട്ടില്ലെങ്കിൽ, ഏതോ ഏജന്റ് നിരീക്ഷിക്കുന്നു. ആ പെരുമാറ്റത്തിന്റെ ഉടമസ്ഥനായ പ്രോസസ് കണ്ടെത്തി, റൂട്ട് അപ്രത്യക്ഷമാകുന്ന നിമിഷത്തിന് ചുറ്റുമുള്ള അതിന്റെ ജേണൽ വായിക്കുക, കാരണം സാധാരണയായി അതേ സേവനമാണ് ടണൽ, പാക്കറ്റ് ഫിൽട്ടറുകൾ, റിസോൾവർ കോൺഫിഗറേഷൻ എന്നിവ പരിപാലിക്കുന്നത്. റൂട്ട് നിലനിർത്താൻ അതിനെ കൊല്ലുന്നത് അടുത്ത വീണ്ടും കണക്ട് ചെയ്യുമ്പോൾ നിങ്ങൾ ഖേദിക്കുന്ന ഒരു കൈമാറ്റമാണ്.

ip route show
ip route add 192.168.2.0/24 dev enp0s31f6
sleep 5; ip route show

മുകളിലെ പ്രിഫിക്സും ഇന്റർഫേസും പ്ലേസ്ഹോൾഡറുകളാണ്. മറ്റൊരു മെഷീനിൽ പ്രവർത്തിക്കുന്ന ഉദാഹരണത്തിൽ നിന്ന് ഇന്റർഫേസ് നാമം പകർത്തുന്നതാണ് ഈ പ്രദർശനം ഒന്നും ഉൽപ്പാദിപ്പിക്കാത്തതിന്റെ ഏറ്റവും സാധാരണ കാരണം.

രണ്ടാമത്തെ ടേബിൾ മോണിറ്ററിന് അദൃശ്യമാണ്

ഏജന്റ് തന്റെ ഉടമസ്ഥതയിലുള്ള ടേബിൾ മാത്രമേ പുനർനിർമ്മിക്കുന്നുള്ളൂ. അപവാദത്തിന് സ്വന്തം ടേബിളും യോജിക്കുന്ന ലക്ഷ്യസ്ഥാനങ്ങൾ അവിടേക്ക് അയക്കുന്ന നിയമവും നൽകുക, പ്രധാന ടേബിൾ ഒരിക്കലും മാറില്ല, അതിനാൽ ഏജന്റിന് തിരുത്താൻ ഒന്നും ബാക്കിയില്ല. ഇതാണ് മുഴുവൻ ആശയം: മറ്റൊരാൾ പരിപാലിക്കുന്ന റൂട്ടുകളുടെ ഒരു നെയിംസ്പേസും, നിങ്ങൾ മാത്രം സ്പർശിക്കുന്ന മറ്റൊന്നും.

കൈമാറ്റം പരിപാലനമാണ്. രണ്ട് ഒബ്ജക്റ്റുകൾ അകന്നുപോകാം, ലിസ്റ്റിലെ നിയമത്തിന്റെ സ്ഥാനം അത് തിരഞ്ഞെടുക്കുന്ന ടേബിളിലെ റൂട്ടിനോളം തന്നെ പ്രധാനമാണ്.

അപവാദം നിർമ്മിച്ച് അതിനെ വിജയിപ്പിക്കുക

ടേബിൾ സൃഷ്ടിക്കുക, റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുക, ആ ലക്ഷ്യസ്ഥാനത്തിന് ടേബിൾ തിരഞ്ഞെടുക്കുന്ന ഒരു നിയമം ചേർക്കുക. നിങ്ങളുടെ നിയമം ക്ലയന്റ് ചേർത്ത നിയമങ്ങൾക്ക് മുമ്പോ ശേഷമോ പരിശോധിക്കപ്പെടുമെന്ന് മുൻഗണന തീരുമാനിക്കുന്നു, പിന്നീട് ക്രമീകരിക്കുന്ന നിയമത്തിലേക്ക് ഒരിക്കലും എത്തില്ല, അതിനാൽ സംഖ്യ അലങ്കാരമല്ല, ഡിസൈനിന്റെ ഭാഗമാണ്. എന്നിട്ട് കർണലിനോട് അത് യഥാർത്ഥത്തിൽ എന്ത് ചെയ്യുമെന്ന് ചോദിക്കുക, അത് നിങ്ങൾ കോൺഫിഗർ ചെയ്തതിൽ നിന്ന് വ്യത്യസ്തമായ ചോദ്യമാണ്.

ip rule add to 192.168.2.0/24 table 110 pref 30010
ip route add 192.168.2.0/24 dev enp0s31f6 table 110
ip route get 192.168.2.50

ip route get കർണൽ ഉപയോഗിക്കുന്ന റൂട്ട് പരിഹരിക്കുന്നു, ഉപകരണവും സോഴ്സ് വിലാസവും ഉൾപ്പെടെ. ഇത് ടേബിൾ ഐഡന്റിഫയർ പ്രിന്റ് ചെയ്യുന്നില്ല, അതിനാൽ അതിനെ ip rule show മായി ജോടിയാക്കുക, ഏത് ടേബിൾ വിജയിച്ചുവെന്ന് സ്ഥിരീകരിക്കാൻ ആവശ്യമുള്ളപ്പോൾ. ഒരുമിച്ച് അവ ഏക പ്രധാന ചോദ്യത്തിന് ഉത്തരം നൽകുന്നു: ആ വിലാസത്തിലേക്കുള്ള ട്രാഫിക് നിങ്ങൾ ഉദ്ദേശിച്ച ഇടത്തുനിന്ന് പുറത്തുപോകുന്നുണ്ടോ?

അതേ ആശയത്തിന്റെ മറ്റ് രൂപങ്ങൾ

ലക്ഷ്യസ്ഥാനങ്ങളിൽ ചിന്തിക്കുന്നത് നിർത്തുമ്പോൾ മാതൃക പൊതുവാകും. ടണൽ ഡിഫോൾട്ട് റൂട്ട് നിലനിർത്തുമ്പോഴും പ്രാദേശിക സബ്നെറ്റ് എത്തിച്ചേരാവുന്നതായിരിക്കാം. LAN-ൽ ബന്ധിപ്പിച്ച SSH സർവറിന്റെ മറുപടികൾ ടണലിൽ അപ്രത്യക്ഷമാകുന്നതിനുപകരം വന്ന ഇന്റർഫേസിലൂടെ പുറത്തുപോകാം. ഇന്റർഫേസ് അടിസ്ഥാനമാക്കിയ നിയമം വയർലെസ് ഇന്റർഫേസിൽ വരുന്ന എല്ലാം ടണലിലേക്ക് തള്ളാം, ഹോസ്റ്റ് സ്വയം സൃഷ്ടിക്കുന്ന ട്രാഫിക് Ethernet-ൽ തുടരുമ്പോൾ:

ip rule add iif wlan0 table 10
ip route add default dev tun0 table 10

ആ അവസാന കേസ് ലക്ഷ്യസ്ഥാനത്തിന് പകരം വരുന്ന ഇന്റർഫേസുമായി യോജിക്കുന്നു, അത് വ്യത്യസ്ത നിയമ തരവും വ്യത്യസ്ത മാനസിക മാതൃകയുമാണ്. ഫോർവേഡ് ചെയ്യുന്ന ട്രാഫിക് net.ipv4.ip_forward പ്രവർത്തനക്ഷമമായിരിക്കണം, കൂടാതെ ദൂരെയുള്ള അറ്റം സോഴ്സ് ശ്രേണി തിരികെ റൂട്ട് ചെയ്യുകയോ വിവർത്തനം ചെയ്യുകയോ വേണം; ഒരു മെഷീനിലെ നിയമം ഒരിക്കലും പാതയുടെ മറ്റേ പകുതി സൃഷ്ടിക്കുന്നില്ല.

നിയമത്തെ ഒറ്റത്തവണ ഉപയോഗിക്കാവുന്നതായി കാണുക

നിയമങ്ങളും ടേബിൾ റൂട്ടുകളും മെമ്മറിയിൽ ജീവിക്കുന്നു. വീണ്ടും കണക്ട് ചെയ്ത ശേഷം ടണൽ ഉപകരണം പുനർനാമകരണം ചെയ്യപ്പെടാം, അനുവദിച്ച വിലാസം മാറാം, പഴയ മൂല്യം വഹിക്കുന്ന നിയമം നിശബ്ദമായി യോജിക്കുന്നത് നിർത്തും. മുഴുവൻ മാറ്റവും അതിന്റെ ഉടമസ്ഥതയുള്ള ഒരൊറ്റ സ്ക്രിപ്റ്റിൽ നിന്ന് വീണ്ടും പ്രയോഗിക്കുക, തുടർന്ന് അപവാദത്തിൽ വിശ്വസിക്കുന്നതിന് മുമ്പ് ip rule show, നിലവിലെ ഉപകരണ നാമം, പുതിയ ip route get എന്നിവ യഥാർത്ഥ ലക്ഷ്യസ്ഥാനത്തിനെതിരെ വീണ്ടും പരിശോധിക്കുക.

എത്ര ശ്രദ്ധിച്ചാലും രണ്ട് അതിരുകൾ അവശേഷിക്കുന്നു. ക്ലയന്റ് ഇപ്പോഴും അതിന്റെ ഫിൽട്ടർ നിയമങ്ങളും റിസോൾവർ കോൺഫിഗറേഷനും നിയന്ത്രിക്കുന്നു, റൂട്ടിംഗ് അപവാദം രണ്ടിനെയും അസാധുവാക്കുന്നില്ല. ക്ലയന്റ് നിങ്ങളുടെ പോളിസി നിയമവും ഇല്ലാതാക്കുകയാണെങ്കിൽ, പിന്തുണയ്ക്കുന്ന വഴികൾ അതിന്റെ സ്വന്തം സ്പ്ലിറ്റ്-ടണൽ പോളിസിയോ OpenConnect പോലുള്ള റൂട്ടുകൾ കൈകാര്യം ചെയ്യാൻ അനുവദിക്കുന്ന ക്ലയന്റോ ആണ്; മോണിറ്റർ നിശബ്ദമാക്കാൻ വെണ്ടറിന്റെ ബൈനറി പാച്ച് ചെയ്യുന്നത് സമഗ്രതാ പരിശോധനയോട് ചേർന്ന പരിപാലന ബാധ്യതയാണ്.

ടേബിൾ നമ്പർ, മുൻഗണന, ലക്ഷ്യസ്ഥാനം എന്നിവ സ്ക്രിപ്റ്റിന് അടുത്തുള്ള കുറിപ്പിൽ എഴുതുക. അല്ലെങ്കിൽ അടുത്ത വ്യക്തി ടണലിനെ മറികടക്കുന്ന ഒരു നിയമം കണ്ടെത്തും, എന്തുകൊണ്ടെന്ന് അറിയാൻ വഴിയുണ്ടാകില്ല.

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