બ્લેકહોલ રૂટ વિરુદ્ધ VPN કિલ સ્વિચ: દરેક શું કરે છે
બ્લેકહોલ રૂટ મેળ ખાતા ટ્રાફિકને કાઢી નાખે છે અને નિષ્ફળતા વખતે બંધ માર્ગ લાદે છે. તેની વ્યાપ્તિ અને અંધ જગ્યાઓને પેકેટ ફિલ્ટર આધારિત કિલ સ્વિચ સાથે સરખાવો.
એક પેકેટ લેપટોપમાંથી નીકળે છે, ક્યારેય VPN ગેટવે સુધી પહોંચતું નથી, અને કોઈ ફાયરવોલ કાઉન્ટર ખસતું નથી. રૂટ ટેબલ પહેલેથી જ પેકેટનું ભાવિ નક્કી કરી ચૂક્યું છે: એક બ્લેકહોલ એન્ટ્રી તેની સાથે મેળ ખાઈ અને કર્નલે તેને કોઈ પણ ઇન્ટરફેસ જોવાના પહેલાં કાઢી નાખ્યું. જ્યારે કોઈ ગંતવ્ય બંધ-નિષ્ફળ થવું જોઈએ ત્યારે આ વર્તન ઉપયોગી છે, પરંતુ તે સાંકડી વ્યાપ્તિની રૂટિંગ ક્રિયા છે. તેને સંપૂર્ણ કિલ સ્વિચ ગણવો એ જ જગ્યા છે જ્યાં ડિઝાઇન ખોટી પડે છે.
કાઢી નાખવાની ક્રિયા ખરેખર શું મેળ ખાય છે
રૂટ શોધ એક ટેબલ પસંદ કરે છે, પછી તેની અંદર સૌથી લાંબું મેળ ખાતું પ્રીફિક્સ પસંદ કરે છે. બ્લેકહોલ રૂટ એ સામાન્ય એન્ટ્રી છે જેની ક્રિયા કાઢી નાખવી છે, તેથી તે ફક્ત એ પેકેટને અસર કરે છે જે આખા નિર્ણય પછી એ એન્ટ્રી પસંદ કરે. પોલિસી નિયમથી ટેબલ બદલો, અથવા વધુ ચોક્કસ પ્રીફિક્સ ઉમેરો, અને કાઢી નાખવું હવે લાગુ પડતું નથી.
તેથી બ્લેકહોલની વ્યાપ્તિ ચોક્કસ અને કહેવામાં સહેલી છે: તે પ્રીફિક્સને, ટેબલમાં, તે એડ્રેસ કુટુંબ માટે આવરી લે છે. બીજા ટેબલ જીતી લે તેવા ગંતવ્યને તે આવરી લેતું નથી, અને ફક્ત IPv4 પ્રીફિક્સ કાઢી નાખવાથી તે IPv6 આવરી લેતું નથી.
ip route get કંઈપણ ડિપ્લોય કરવાના પહેલાં નિર્ણય દર્શાવે છે, જેમાં ટેબલ અને રૂટ પ્રકારનો સમાવેશ થાય છે. તે આઉટપુટ વાંચવું નિષ્ફળ વિનંતી પરથી અનુમાન કરવા કરતાં ઝડપી છે કે કયો નિયમ કે પ્રીફિક્સ અમલમાં આવ્યો.
બ્લેકહોલ એ unreachable કે prohibit જેવું નથી
Linux ત્રણ કાઢી નાખવા જેવા રૂટ પ્રકાર આપે છે, અને તે મોકલનાર શું જુએ છે તેમાં અલગ પડે છે. બ્લેકહોલ પેકેટને જવાબ વિના પડતું મૂકે છે, તેથી ક્લાયન્ટ સમયસીમા જુએ છે. unreachable રૂટ ICMP unreachable સંદેશ પાછો આપે છે, તેથી કનેક્શન હોસ્ટ કે નેટવર્ક ભૂલ સાથે ઝડપથી નિષ્ફળ જાય છે. prohibit રૂટ વહીવટી પ્રતિબંધની ભૂલ પાછી આપે છે, જે ઇરાદાપૂર્વકની પોલિસી નકાર સાથે વધુ નજીક છે.
તમે એપ્લિકેશનને જે વર્તન જોવા માંગો છો તે પસંદ કરો. જ્યારે પોલિસી જાહેર કરવી ન હોય ત્યારે શાંત કાઢી નાખવું યોગ્ય છે, અને જ્યારે વપરાશકર્તાઓએ સમજવું હોય કે ગંતવ્ય કેમ ઉપલબ્ધ નથી ત્યારે તાત્કાલિક ભૂલ વધુ સારી છે. નેટવર્કમાં પ્રકારો મિશ્ર કરવાથી એવી સપોર્ટ ટિકિટ બને છે જે એક જ પોલિસીને ત્રણ અલગ ખામી તરીકે વર્ણવે છે.
કનેક્શનનું નિદાન કરતી વખતે એવું ન ધારો કે દરેક કાઢી નાખવાની એન્ટ્રી એકબીજાના બદલે વાપરી શકાય છે. ભૂલનું લખાણ, સમય અને પેકેટ કેપ્ચર અલગ હોય છે, અને ટેબલમાંનો રૂટ પ્રકાર તમને કહે છે કે તમે કયું જોઈ રહ્યા છો. ip-route માર્ગદર્શિકા પ્રકારો અને તેમના ભૂલ વર્તનની યાદી આપે છે.
કિલ સ્વિચ સાથે તે કેવી રીતે સરખાય છે
કિલ સ્વિચ એ પેકેટ ફિલ્ટરિંગ છે: એક ફાયરવોલ નિયમ જે ટનલની બહાર જતું આઉટબાઉન્ડ ટ્રાફિક કાઢી નાખે છે. બ્લેકહોલ રૂટ એ સ્ટેકમાં પહેલાં લેવાયેલો ફોરવર્ડિંગ નિર્ણય છે. બંને ટ્રાફિક રોકી શકે છે, પરંતુ તેઓ અલગ વસ્તુઓ જુએ છે અને અલગ કિસ્સા ચૂકી જાય છે.
| Mechanism | What it blocks | What it misses | How failure looks |
|---|---|---|---|
| Blackhole route | Destinations matching the prefix and table | Other tables, other address families, traffic with a different route | Silent timeout |
| Firewall kill switch | Egress not bound to the tunnel interface | Rules that are too broad can break the endpoint or DHCP | Dropped packets with counters |
| WireGuard AllowedIPs | Destinations not routed into the interface | Traffic that never enters the interface at all | No tunnel route, direct egress |
વ્યાપ્તિ એ જ જગ્યા છે જ્યાં સરખામણી મહત્વની છે. ફાયરવોલ માલિક, પોર્ટ કે ઇન્ટરફેસ સાથે મેળ ખાઈ શકે અને એપ્લિકેશનને અવરોધે જ્યારે એન્ડપોઇન્ટ પહોંચી શકાય તેમ રહે; રૂટ તેમ કરી શકતું નથી. ઊલટું, રૂટ કોઈ પેકેટ ફિલ્ટર લોડ કર્યા વિના આખું પ્રીફિક્સ કાઢી નાખવામાં મોકલી શકે છે, જે ન્યૂનતમ સિસ્ટમ પર ઉપયોગી છે.
WireGuard નું AllowedIPs ક્રિપ્ટોકી રૂટિંગ છે, ફાયરવોલ નથી. તે નક્કી કરે છે કે કયા ગંતવ્ય પ્રીફિક્સ ઇન્ટરફેસમાં સ્વીકારવામાં આવે છે, અને ફક્ત ટનલ સબનેટની યાદી આપતી પ્રોફાઇલ બીજા ગંતવ્યોને સામાન્ય ડિફોલ્ટ રૂટ પર છોડી દે છે. તેથી જ ફુલ-ટનલ પ્રોફાઇલ 0.0.0.0/0 વાપરે છે અને તેથી જ wg-quick જ્યારે શકે ત્યારે ફાયરવોલ નિયમો પણ સ્થાપિત કરે છે.
ટનલ એન્ડપોઇન્ટને કાઢી નાખવાની બહાર રાખો
એન્ડપોઇન્ટનું બહારનું સરનામું ભૌતિક ઇન્ટરફેસ દ્વારા પહોંચી શકાય તેમ રહેવું જોઈએ. જે કાઢી નાખવું તે સરનામું પણ પકડે છે તે હેન્ડશેકને બહાર જતા અટકાવે છે, અને ટનલ ક્યારેય ઉપર આવતી નથી, જે રૂટિંગ પોલિસીને બદલે VPN નિષ્ફળતા જેવું લાગે છે. ફેરફાર પહેલાં અને પછી એન્ડપોઇન્ટનો રૂટ તપાસો.
મેનેજમેન્ટ ઍક્સેસ પણ એ જ સમીક્ષામાં આવે છે. જો રાઉટર કે ક્લાયન્ટ સુધીનો એકમાત્ર માર્ગ ટનલ હોય, તો વધુ પડતું વિશાળ કાઢી નાખવું તમને તે મશીનથી બહાર પૂરી શકે છે જે તેને દૂર કરવા દેતું. દસ્તાવેજીકૃત આઉટ-ઓફ-બેન્ડ રૂટ, કન્સોલ કે સમયબદ્ધ રોલબેક રાખો.
IPv6 ને પોતાની એન્ટ્રી અને પોતાની સમીક્ષા જોઈએ. જે ડિઝાઇન IPv4 ને બ્લેકહોલમાં કાઢી નાખે અને IPv6 ને ડિફોલ્ટ રૂટ પર છોડે તે બરાબર એ જ ટ્રાફિક લીક કરે છે જે પોલિસી રોકવા માંગતી હતી, અને ભૂલ ફક્ત IPv4 ની કસોટીમાં અદૃશ્ય રહે છે.
તેને ટાઇમર અને રોલબેક સાથે તબક્કાવાર લાગુ કરો
રૂટને ટૂંકા સ્વચાલિત દૂર કરવા સાથે લાગુ કરો જેથી ભૂલ રીબૂટ પછી ટકી ન રહે. નીચેના આદેશો દસ્તાવેજીકરણ શ્રેણી વાપરે છે; તેને તમારી ડિઝાઇન ખરેખર જે પ્રીફિક્સ કાઢી નાખે છે તેનાથી બદલો:
sudo ip route replace blackhole 10.0.0.0/8
ip route get 10.1.2.3
sudo systemd-run --on-active=60 /sbin/ip route del blackhole 10.0.0.0/8બીજો આદેશ બ્લેકહોલ રૂટ અને તે કયા ટેબલમાંથી આવ્યો તે જણાવવો જોઈએ. ત્રીજો એક મિનિટમાં દૂર કરવાનું નિર્ધારિત કરે છે, જે પોલિસીની પુષ્ટિ કરવા માટે પૂરતો સમય છે અને દૂરના હોસ્ટ પર ભૂલમાંથી પાછા ફરવા માટે પૂરતો ટૂંકો છે. વર્તનની પુષ્ટિ થાય પછી, અન્ય રૂટના માલિક એ જ કન્ફિગરેશન મેનેજમેન્ટ દ્વારા એન્ટ્રીને કાયમી બનાવો.
પ્રીફિક્સ, ટેબલ, એડ્રેસ કુટુંબ અને રોલબેક પદ્ધતિ નોંધીને ફેરફાર બંધ કરો. કાઢી નાખવું એ રૂટિંગ ડિઝાઇનમાં ઇરાદાપૂર્વકનો અપવાદ છે, અને આગલા ઇજનેરને એ જાણવું જરૂરી છે કે તે કયો ટ્રાફિક રોકવા માટે હતું તે નક્કી કરતા પહેલાં કે તે હજી પણ યોગ્ય છે કે નહીં.