એક ટેસ્ટ LAN ને તેનું પોતાનું WireGuard એક્ઝિટ કેવી રીતે આપવું
એક LAN ને સમર્પિત રૂટિંગ ટેબલ અને અગમ્ય ગાર્ડ સાથે WireGuard એક્ઝિટ સુધી મર્યાદિત કરો, જ્યારે ગેટવે તેનો સામાન્ય WAN ડિફોલ્ટ રૂટ રાખે છે.
ત્રણ ડિઝાઇન એક જ લેબ સમસ્યા હલ કરે છે: નાની LAN એ WireGuard પીઅર દ્વારા બહાર નીકળવું જોઈએ જ્યારે ગેટવે પોતે તેની સામાન્ય અપલિંક રાખે છે. લલચાવનારો શોર્ટકટ એ છે કે રાઉટરનો ડિફોલ્ટ રૂટ ટનલમાં ખસેડવો, પણ એ બોક્સનો પોતાનો મેનેજમેન્ટ માર્ગ અને તે જે બીજું ફોરવર્ડ કરે છે તે બધું તોડી નાખે છે. રસપ્રદ વિકલ્પ એ છે એક ઇન્ટરફેસ અને એક પ્રીફિક્સ સુધી મર્યાદિત પોલિસી રૂટિંગ. તમારી પાસે ખરેખર જે મશીન છે તેના વિશે ત્રણ પ્રશ્નોના જવાબ આપીને તેમાંથી પસંદ કરો.
એક્ઝિટ ક્યાં રહે છે તે નક્કી કરો
પ્રથમ પ્રશ્ન: શું આ હોસ્ટ બીજા કંઈક માટે પણ ફોરવર્ડ કરે છે? સમર્પિત લેબ ગેટવે ડિફોલ્ટ રૂપે બધું કાઢી નાખતી ફોરવર્ડિંગ પોલિસી સાથે જીવી શકે છે. ઉત્પાદનની જવાબદારી ધરાવતું રાઉટર એમ કરી શકતું નથી, અને મેનેજ્ડ ફાયરવોલ પર હરીફ નિયમસેટ ચઢાવવો એ જ રીતે વિક્ષેપો નિર્ધારિત થાય છે. બીજું: શું તમે બે પોલિસી ઑબ્જેક્ટ અને રીબૂટ દરમિયાન તેમનો ક્રમ ધરાવી શકો છો? ત્રીજું: તમારી પાસેનું પીઅર તમારા ટનલ સ્રોત સરનામાને અધિકૃત કરે છે અને ઇન્ટરનેટ ઇગ્રેસ આપે છે? જે પીઅર ફક્ત ખાનગી નેટવર્ક જ બતાવે છે તે બીજું ઉત્પાદન છે, અને કોઈ સ્થાનિક રૂટિંગ ફેરફાર એને સુધારતું નથી. જો કોઈ જવાબ ના હોય, તો એક્ઝિટને તેના બદલે નામાવકાશમાં અથવા એક વાર વપરાતા વર્ચ્યુઅલ મશીનમાં મૂકો.
નામાવકાશ અથવા VM મેમરીનો ખર્ચ કરે છે અને તમને સ્વચ્છ વિસ્ફોટ-ત્રિજ્યા આપે છે. પોલિસી રૂટિંગ બે નિયમોનો ખર્ચ કરે છે અને તમને ડિબગ કરવા એક જ બોક્સ છોડે છે.
તમારા સ્રોતને અધિકૃત કરતું એક્ઝિટ પસંદ કરો
આ લેબમાં મોટાભાગની નિષ્ફળતાઓ એક પણ ફાયરવોલ નિયમ અસ્તિત્વમાં આવે તે પહેલાં જ થાય છે. એક્ઝિટ ઓપરેટરે એ સ્રોત સરનામું સ્વીકારવું જોઈએ જે અનુવાદ પછી તમારા પેકેટ લઈ જાય છે, અને આ ડિઝાઇનમાં તે ટનલ સરનામું છે, LAN પ્રીફિક્સ નહીં. એટલે જ માસ્કરેડિંગ શરૂઆતથી જ ડિઝાઇનનો ભાગ છે, મોડા ઉમેરા તરીકે નહીં.
ઓપરેટર સાથે ત્રણ વસ્તુઓની પુષ્ટિ કરો: પીઅર તમારા ટનલ સરનામાને અધિકૃત કરે છે, તે પોતાના પર સમાપ્ત થવાને બદલે IPv4 ફોરવર્ડ કરે છે, અને તે ઇગ્રેસ NAT લાગુ કરે છે. પ્રથમ વિના તમારા પેકેટ પહોંચે છે અને અદૃશ્ય થઈ જાય છે. ત્રીજા વિના તે ખાનગી સ્રોત સાથે નીકળે છે અને આગલા હોપ પર મરી જાય છે. પછી તપાસો કે wg-quick પોતાનો ડિફોલ્ટ રૂટ સ્થાપિત કરતું નથી, જેને Table = off અટકાવે છે; એ સેટિંગ રૂટ બનાવવાનું દબાવે છે, પીઅરની AllowedIPs તપાસ કે તેની DNS પ્રક્રિયા નહીં.
બે પોલિસી ઑબ્જેક્ટ સ્ટીયરિંગ કરે છે
સ્ટીયરિંગ માટે ટેબલ અને નિયમ જોઈએ. ટેબલ બે રૂટ રાખે છે: LAN ઇન્ટરફેસમાંથી બહાર જતું LAN પ્રીફિક્સ અને ટનલમાંથી બહાર જતું ડિફોલ્ટ. નિયમ LAN ઇન્ટરફેસ પર આવતા અને એ પ્રીફિક્સ ધરાવતા ટ્રાફિકને ટેબલમાં મોકલે છે. સ્રોત મેચની સાથે iif સિલેક્ટર વાપરો, કારણ કે ગેટવેના પોતાના WireGuard પેકેટ સ્થાનિક રીતે ઉત્પન્ન થાય છે અને ક્યારેય આવતા ઇન્ટરફેસ સાથે મેળ ખાતા નથી.
ગાર્ડ લુકઅપ પહેલાં આવે છે, પછી નહીં. એ ક્રમ જ ડિઝાઇનની આખી સલામતી-લાક્ષણિકતા છે.
ગાર્ડ એ જ સિલેક્ટર પરનો બીજો નિયમ છે જેનો ચુકાદો unreachable છે. તેને ઊંચી સંખ્યાત્મક પ્રાયોરિટી આપો જેથી ટનલ ચાલુ હોય ત્યારે લુકઅપ જ જીતે. જ્યારે ટનલ રૂટ અદૃશ્ય થાય છે, ત્યારે લુકઅપ કંઈ પણ પરત કરતું નથી અને ગાર્ડ શોધને થોભાવી દે છે, તેને મુખ્ય ટેબલના WAN ડિફોલ્ટમાં પડવા દેતું નથી.
ip rule add from 192.168.50.0/24 iif lan0 lookup 51861 pref 1000
ip rule add from 192.168.50.0/24 iif lan0 unreachable pref 1001
ip route add table 51861 default dev wg0
પીછેહઠની ખાઈ ખોલતા પહેલાં બંધ કરો
પહેલાં ગાર્ડ અને પછી લુકઅપ સ્થાપિત કરો. ઊલટું કરવાથી સેકન્ડો લાંબી એવી વિન્ડો રહે છે જેમાં ટેસ્ટ ક્લાયન્ટનો ટ્રાફિક અપલિંક સુધી પહોંચી શકે છે.
ફિલ્ટર ચિત્ર પૂર્ણ કરે છે. forward હૂકમાં ટેસ્ટ પ્રીફિક્સ માટે LAN થી ટનલ દિશા અને સ્થાપિત પરત દિશા સ્વીકારો, પછી બાકીનું બધું કાઢી નાખો; એ પ્રીફિક્સ માટે ટનલ ઇન્ટરફેસ પરનું NAT postrouting માં જાય છે. ફોરવર્ડ ચેઇન પર policy drop રહેવા દેવું એ જ ખૂટતા રૂટને લીકને બદલે મૌનમાં ફેરવે છે. રિવર્સ-પાથ ફિલ્ટરિંગને ટનલ ઇન્ટરફેસ પર ઢીલી સ્થિતિ જોઈએ, કારણ કે ડિકેપ્સ્યુલેશન પછી આવતા જાહેર સ્રોતનો શ્રેષ્ઠ રિવર્સ રૂટ WAN બાજુ હોય છે. Linux all અને પ્રતિ-ઇન્ટરફેસ મૂલ્યોમાંથી ઊંચું લે છે, તેથી ટનલ ઇન્ટરફેસ સેટ કરવું એ બધે જ માન્યતા નબળી કરવા સમાન નથી.
નિષ્ફળતાના કિસ્સા સાથે તેને સાબિત કરો
કર્નલને ચોક્કસ પ્રશ્ન પૂછો: ક્લાયન્ટનું સ્રોત સરનામું અને તે જે ઇન્ટરફેસ પર આવે છે તેનું નામ આપો. બંને વિનાનું લુકઅપ બીજા પ્રશ્નનો જવાબ આપે છે અને બંને સ્થિતિમાં સાચું દેખાશે. પછી ફાયરવોલ કાઉન્ટર, પીઅરની ટ્રાન્સફર સ્થિતિ અને ક્લાયન્ટની પોતાની સેવા જુઓ.
દૂર કરવાની પ્રક્રિયા બરાબર ચકાસો. નિયમ અને ફિલ્ટર જગ્યાએ રાખીને ટનલ બંધ કરો: ક્લાયન્ટ અટકી જવો જોઈએ અને ગેટવેનો પોતાનો ટ્રાફિક ચાલુ રહેવો જોઈએ. પછી સ્થાનિક ઇન્ટરફેસને અડ્યા વિના પીઅર બંધ કરો, અને એ જ એ કિસ્સો છે જે ફક્ત રૂટની હાજરી પર આધાર રાખતી ડિઝાઇન પકડે છે. અંતે રીબૂટ કરો અને નિયમોનો ક્રમ ફરી તપાસો, કારણ કે ગાર્ડ દૂર કરતો ટિયરડાઉન હૂક આખી ડિઝાઇન મુખ્ય ટેબલને પાછી આપે છે. ટેબલ નંબર, પ્રાયોરિટી અને ઇન્ટરફેસના નામ ચેન્જ ટિકિટ પર નોંધો, કારણ કે નિયમ ઉમેરનારી આગલી વ્યક્તિ જ આને તોડશે.