બે VPN ક્લાયન્ટ, બે જાહેર સરનામાં: SNAT મેળવો
સ્રોત આધારિત SNAT જાહેર સરનામું પસંદ કરી શકે છે, પરંતુ ત્યાં સુધી જ જ્યાં સુધી ગેટવે હજી ક્લાયન્ટને અલગ ઓળખી શકે. નિયમ લખતાં પહેલાં બચેલો સ્રોત તપાસો.
બે VPN ક્લાયન્ટ બે અલગ જાહેર IPv4 સરનામાં દ્વારા બહાર જઈ શકે છે, અને તે કરતો નિયમ મોટાભાગના લોકો ધારે તેના કરતાં ટૂંકો છે. તેને કામ કરતો બનાવે છે iptables વાક્યરચના નહીં, પરંતુ પેકેટ જ્યારે એગ્રેસ ચેઇન સુધી પહોંચે ત્યારે તેની સ્થિતિ: ત્યાંનું સ્રોત સરનામું હજી પણ ક્લાયન્ટને અલગ પાડવું જોઈએ. જો અગાઉના masquerade એ બંનેને પહેલેથી એક જ સરનામા પર ભેગા કર્યા હોય, તો કોઈ પણ ક્લાયન્ટ-વાર નિયમ તે ભેદ પાછો લાવી શકતો નથી. પહેલાં આ પ્રશ્ન નક્કી કરો, પછી અનુવાદ લખો.
કઈ ઓળખ ગેટવે સુધી ટકે છે
નિયમ પેકેટના સ્રોત સરનામા સાથે મેળ ખાય છે, VPN વપરાશકર્તાનામ સાથે નહીં અને ક્લાયન્ટ એપ્લિકેશન જે નામ બતાવે તેની સાથે પણ નહીં. માર્ગ પર પહેલાં પેકેટનું જે પણ રૂપાંતર કરે છે તે નક્કી કરે છે કે તમારો નિયમ હજી શું જોઈ શકે છે. nat કોષ્ટક ક્રમમાં ચલાવો અને તે બિંદુ શોધો જ્યાં સ્રોત હજી પણ દરેક ક્લાયન્ટ માટે અલગ છે.
iptables -t nat -S POSTROUTING
તે યાદી ઉપરથી વાંચો. ઉપરની નજીકનો masquerade નિયમ દરેક મેળ ખાતા ફ્લો માટે સ્રોત ફરીથી લખે છે, અને તેના પછી મૂકેલી ક્લાયન્ટ-વાર એન્ટ્રીઓ એવા સરનામા સાથે મેળ ખાય છે જે હવે અસ્તિત્વમાં નથી. જ્યારે બે LAN ઉપકરણો એક ટનલ વહેંચે છે અને એક જ આંતરિક સરનામા તરીકે આવે છે, ત્યારે ફાયરવોલ પહેલાં ડિઝાઇન બદલવી પડશે: તેમની સ્રોત શ્રેણીઓ અલગ રાખો અથવા દરેકને પોતાનું આંતરિક સરનામું આપો.
આંતરિક સરનામાની ફાળવણીને પ્રમાણિત ક્લાયન્ટ સાથે જોડો. તે સરનામું બીજા ઉપકરણને આપવાથી એગ્રેસ નીતિ પણ સાથે જાય છે, અને સ્રોત રૂપાંતર પોતે જ ઓળખનો પુરાવો નથી.
રૂપાંતર સરનામું શોધી કાઢી શકતું નથી
દરેક જાહેર સરનામું આ એગ્રેસ બિંદુને ફાળવવું જોઈએ અથવા ત્યાં રૂટ કરવું જોઈએ, અને જવાબોએ ત્યાં પાછા આવવાનો રસ્તો શોધવો જોઈએ. જે નિયમ એવા સરનામા પરથી ટ્રાફિક મોકલે છે જ્યાં કોઈ પાછું રૂટ કરતું નથી, તે દૂરના છેડે કાઢી નાખવામાં આવે છે અથવા એવા હોસ્ટને જવાબ આપવામાં આવે છે જેણે કદી માંગ્યું ન હતું. ક્લાઉડ પ્રદાતાના ઇન્સ્ટન્સનું જાહેર સરનામું સામાન્ય રીતે પેકેટ નીકળતા પહેલાં ખાનગી ઇન્ટરફેસ સરનામામાં રૂપાંતરિત થાય છે, તેથી SNAT સ્રોત એ સરનામું હોવું જોઈએ જે પ્રદાતા સ્વીકારશે, કન્સોલ જે મૂલ્ય બતાવે તે નહીં. પ્રદાતાનું સરનામા મોડેલ વાંચો અને દરેક પેકેટમાં જાહેર મૂલ્ય કૉપિ કરવાને બદલે તેને અનુસરો.
વ્યવહારમાં તેનો અર્થ એ છે કે ફાયરવોલને સ્પર્શ કરતાં પહેલાં પ્રદાતાના કન્સોલમાં રૂટ કરેલો પ્રીફિક્સ તપાસવો, અને જ્યારે મેપિંગ એક-એક હોય ત્યારે ખાનગી ઇન્ટરફેસ સરનામાને રૂપાંતર સ્રોત તરીકે વાપરવો. નીચેના ઉદાહરણોમાં વપરાયેલા સરનામાં દસ્તાવેજીકરણ શ્રેણીઓમાંથી આવે છે, તેથી પહેલું બદલવાનું સરનામાનું લખાણ પોતે છે.
સામાન્ય masquerade પહેલાં દાખલ કરો
કંઈપણ ઉમેરતાં પહેલાં એગ્રેસ ઇન્ટરફેસ અને વર્તમાન ચેઇનની ખાતરી કરો. પ્રથમ નક્કી કરે છે કે નિયમ કયા પેકેટ સાથે મેળ ખાઈ શકે, અને બીજું બતાવે છે કે તેની સામે પહેલેથી શું ઊભું છે.
ip -4 route show default
iptables -t nat -L POSTROUTING -n -v --line-numbers
પ્રથમ આદેશ એ ઇન્ટરફેસનું નામ આપે છે જેમાંથી ઇન્ટરનેટ તરફનું પેકેટ ખરેખર નીકળે છે. બીજો લાઇન નંબર સાથે ચેઇન છાપે છે. સામાન્ય masquerade એન્ટ્રી એ લાઇન છે જેની ઉપર રહેવું છે.
iptables -t nat -I POSTROUTING 1 -s 10.88.4.20/32 -o ens3 -j SNAT --to-source 198.51.100.77
iptables -t nat -I POSTROUTING 1 -s 10.88.4.21/32 -o ens3 -j SNAT --to-source 198.51.100.78
ઉપરની બે નિયમો દરેક એક આંતરિક સરનામા સાથે મેળ ખાય છે, મેળને એગ્રેસ ઇન્ટરફેસ સુધી મર્યાદિત કરે છે અને સ્રોત સ્પષ્ટ રીતે સેટ કરે છે. ઉમેરવાને બદલે દાખલ કરો: સ્થાન 1 પર તે masquerade લાઇન પહેલાં મૂલ્યાંકિત થાય છે. બંને વચ્ચેનો ક્રમ મહત્વનો નથી કારણ કે તેમના સ્રોત અલગ છે. રૂટ આદેશે જે જણાવ્યું તેનાથી ens3 બદલો, અને અન્ય ફાયરવોલ મેનેજરોને એ જ હૂક્સથી દૂર રાખો, કારણ કે બે સાધનો એક કોષ્ટક લખવું એ સાચા નિયમની અસર ન થવાનું સામાન્ય કારણ છે.
નવા ફ્લો સાથે સ્રોત સાબિત કરો
સ્ટેટફુલ NAT ફ્લો શરૂ થાય ત્યારે રૂપાંતર બાંધે છે અને પછીના પેકેટ માટે તેનો ફરી ઉપયોગ કરે છે, તેથી બદલાવ પહેલાં ખોલેલું સત્ર બદલાવ પછી પણ તેનો જૂનો સ્રોત રાખે છે. ફક્ત નવેસરથી શરૂ કરાયેલ જોડાણ જ નિયમ સાબિત કરે છે.
conntrack -L -s 10.88.4.20 -p tcp --dport 443
તે એન્ટ્રીની જવાબ દિશા વાંચો: તેનું લક્ષ્ય એ સરનામું છે જે દૂરનો છેડો સ્રોત તરીકે જુએ છે. તેની તમે ઇચ્છેલા જાહેર સરનામા સાથે તુલના કરો, અને જૂનું સરનામું ધરાવતી એન્ટ્રીને તૂટેલા નિયમના બદલે ઘણા વહેલા શરૂ થયેલા ફ્લોના પુરાવા તરીકે ગણો. ક્લાયન્ટને નવું જોડાણ ખોલવા કહો, પછી ક્વેરી ફરી કરો. પરીક્ષણ ફરજિયાત કરવા આખું ટ્રેકિંગ કોષ્ટક ફ્લશ કરવું ગેટવે પરના દરેક બીજા સત્રને વિક્ષેપિત કરે છે.
રૂપાંતર હજી રૂટ પસંદ કરતું નથી, ફિલ્ટર દ્વારા ફ્લો પસાર કરતું નથી કે ઇનબાઉન્ડ સેવા પ્રકાશિત કરતું નથી. ખોટો રૂટ અને ખૂટતો પરવાનગી નિયમ સંપૂર્ણ SNAT નિયમ પછી પણ નિષ્ફળ રહે છે. IPv6 અને કોઈપણ ગૌણ એગ્રેસ માર્ગ પણ તપાસો, પછી ફાયરવોલના દસ્તાવેજીકરણમાં આંતરિક-થી-જાહેર જોડીઓ નોંધો જેથી આગળનો બદલાવ નિયમના લખાણને બદલે મેપિંગથી શરૂ થાય.