આ માં અગાઉના પોસ્ટ અમે ફાયરવ asલ તરીકે કાર્ય કરવા માટે આઇપીટેબલ્સનું ગોઠવણી જોયું. હવે આપણે જોઈ શકીએ છીએ કે તે સ્ક્રિપ્ટો કેવી રીતે બનાવવી જેથી સિસ્ટમ શરૂ થાય ત્યારે નિયમો આપમેળે એક્ઝેક્યુટ થાય, અને અમે તે નિયમોને એક ક્ષણ માટે કેવી રીતે દૂર કરી શકીએ અથવા રોકી શકીએ.
સ્ક્રિપ્ટ કરવા પહેલાં અને તમને તે કેવી દેખાય છે તે બતાવવા પહેલાં, ચાલો NAT અને આપણે આ ઉપકરણો સાથે શું કરવા માંગીએ છીએ તે ખ્યાલ વિશે થોડી વાતો કરીએ.
NAT અને ઉદાહરણનો સંદર્ભ.
જ્યારે આપણે NAT વિશે વાત કરીએ છીએ, ત્યારે અમે આને રૂટીંગ સાથે મૂંઝવી શકીએ છીએ, કારણ કે બંને એકબીજા સાથે બે જુદા જુદા નેટવર્કને કનેક્ટ કરવા માટેનો હવાલો છે. વાસ્તવિક તફાવત એ છે કે એક સ્થાનિક નેટવર્કથી બીજામાં જવા માટે રૂટીંગ લાગુ કરવામાં આવે છે અને આ અન્ય નેટવર્ક રાઉટરથી કનેક્ટ થઈ શકે છે અને ઇન્ટરનેટ પર જઈ શકે છે.
જ્યારે, જ્યારે આપણે NAT વિશે વાત કરીએ છીએ, ત્યારે અમે સ્થાનિક અથવા ખાનગી નેટવર્કથી સાર્વજનિક નેટવર્ક અથવા ઇન્ટરનેટ પર રૂટ કરવાના પેકેટ્સ વિશે વાત કરીએ છીએ. તે ઇન્ટરનેટ પર જાય છે તે જાહેર આઈપી મૂકીને પેકેટોને માસ્ક કરીને આ કરે છે. તે છે, અમને રાઉટરની જરૂર નથી, કારણ કે જાહેર આઈપી સીધી જીએનયુ / લિનક્સ કમ્પ્યુટરની માલિકીની છે.
અમે આ સૂત્ર સાથે કાર્ય કરીશું કે અમે સ્થાનિક નેટવર્કમાંથી ઇન્ટરનેટ પર જવા માટે અમારા લિનક્સનો રાઉટર / ફાયરવ asલ તરીકે ઉપયોગ કરી રહ્યા છીએ. પરંતુ અહીં બે દૃશ્યો દેખાઈ શકે છે.
- કે આપણું લિનક્સ સેવા પ્રદાતાના રાઉટર અને સ્થાનિક નેટવર્કની વચ્ચે છે.
આ સ્થિતિમાં, રાઉટર અને આપણા લિનક્સ વચ્ચે એક નેટવર્ક હશે, અને લિનક્સ અને સ્થાનિક નેટવર્ક વચ્ચે ત્યાં બીજું અલગ નેટવર્ક હશે. આનો અર્થ એ છે કે અમારા રાઉટરમાં NAT જેટલું કરવું જોઈએ નહીં, સમજાવાયેલ એક સરળ ટ્રાફિક રૂટ સાથે અગાઉના પોસ્ટ તે સારૂં રહેશે.
- આપણા લિનક્સ પાસે ઇંટરફેસ છે જે સ્થાનિક નેટવર્કથી જોડાયેલું છે અને અન્ય ઇન્ટરફેસ દ્વારા તે સીધા જ એક જાહેર આઈપી મેળવે છે જેની સાથે તે શોધખોળ કરે છે.
આનો અર્થ એ છે કે આપણા લિનક્સને NAT કરવું આવશ્યક છે જેથી પેકેટ્સ ઇન્ટરનેટ પર પહોંચી શકે.
તે પછી આ નાનકડી પ્રયોગશાળાના હેતુઓ માટે, અમે કહીશું કે આપણા લિનક્સને સાર્વજનિક આઈપી સીધી મળે છે અને તેથી તે એનએટીની અસરો ચકાસી શકે છે.
NAT કરવા માટે આપણે સિન્ટેક્સનો ઉપયોગ કરીએ છીએ
iptables -t nat -A POSTROUTING -O eth1 -j માસ્કરેડ
જ્યાં ઇથ 1 એ ઇંટરફેસ છે જ્યાં આપણે સાર્વજનિક આઇપી પ્રાપ્ત કરીએ છીએ, એટલે કે, જ્યાં આપણે ઇન્ટરનેટ પર જઈએ છીએ.
Iptables સ્ક્રિપ્ટ બનાવી રહ્યા છે
માની લો કે પછી: 172.26.0.0 એ અમારું સ્થાનિક નેટવર્ક છે અને 81.2.3.4 એ જાહેર આઈપી છે કે જેની સાથે આપણે ઇન્ટરનેટ પર જઈએ છીએ. (તે સ્થિર આઈપી છે). મારી પાસે ઇંટરફેસસ ઇથિ (સ્થાનિક નેટવર્ક) છે
ઇથ 1 (સાર્વજનિક નેટવર્ક).
તેમાં મૂળભૂત રીતે એક સ્ક્રિપ્ટ બનાવવામાં આવે છે જેને /etc/init.d/firestop (ઉદાહરણ તરીકે) માંથી ક calledલ કરી શકાય છે. અને આ સ્ક્રિપ્ટમાંથી આપણે આપણા ગોઠવણીની સ્થિતિ શરૂ કરી, રોકી અથવા તપાસી શકીએ છીએ, જેમ આપણે કોઈપણ સિસ્ટમ ડિમન સાથે કરીએ છીએ.
માની લો કે મારા આઇપેબલ નિયમો છે:
#! / બિન / બેશ # મારા ઘરનો ફાયરવ .લ. # ફાઇલનું નામ / વગેરે / ફાયરવ_લ_એન દ્વારા # જેએલસીએમક્સ ટ્વિટર: @ જેએલસીએમક્સ # # મૂળભૂત નીતિ. iptables -P ઇનપુટ ડ્રROપ iptables -P Uપુટ ડ્ર Dપ iptables -P ફોરવર્ડ ડ્રોપ # #NAT ને ઇથિયાથી E0 ઇટિટેબલ્સ પર ઇન્ટરનેટ શેર કરવા માટે -t nat -A પોસ્ટ્રોટિંગ -O eth1 -j SNAT - થી-સ્રોત 81.2.3.4 # # મારા iptables દ્વારા પ્રારંભિક આવનારા કનેક્શન્સને મંજૂરી આપો -A ફોરવર્ડ-એમ રાજ્ય - સંબંધિત સ્થાપન, સંબંધિત- J ACCEPT # # અધિકૃત આઉટગોઇંગ ટ્રાફિક iptables -A ફોરવર્ડ -i એથ0 -o એથ 1 -p tcp --dport 80 -j ACCEPT iptables -એ ફોરવર્ડ -i એથ0 -o એથ 1 -પી ટીસીપી - ડીપોર્ટ 443 -જે એસીસીપીટી આઇપટેબલ્સ -એ ફોરવર્ડ -i એથ0 -o એથ 1 -પી યુડીપી --ડપોર્ટ 53 -જે એસીસીપીટી
સમજૂતી:
સ્ક્રિપ્ટ મૂળભૂત રીતે નીચે મુજબ કરે છે:
- પહેલા બધા નેવિગેશન, કનેક્શન્સ અને ટ્રાફિકને પ્રતિબંધિત કરો. (મૂળભૂત ફાયરવોલ નીતિઓ)
- પછી ગંતવ્ય eth1 સાથે NAT બનાવો. સૂચવે છે કે અમારી પાસે સ્થિર જાહેર આઈ.પી. "81.2.3.4"
- તે મારા દ્વારા શરૂ કરાયેલ કનેક્શંસના પેકેટો મેળવવા માટે જરૂરી બંદરો ખોલે છે.
- આઉટબાઉન્ડ HTTP, HTTPS અને DNS ટ્રાફિક સ્વીકારે છે.
જો આપણે નેવિગેટ કરવા માટે અમારા ઉપકરણોનો ઉપયોગ કરવા માંગતા હોય, તો આપણે લીટીઓનું પુનરાવર્તન કરવું જોઈએ અને ફોરવર્ડને ઇનપુટ અથવા આઉટપુટને યોગ્ય રૂપે બદલવું જોઈએ.
સ્ક્રિપ્ટ રદ કરો.
હવે આપણે એક સ્ક્રિપ્ટ બનાવવા જઈ રહ્યા છીએ જે ઉપરના બધાને ઓવરરાઇડ કરે છે અને કમ્પ્યુટરને આ બધાથી સાફ રાખે છે. (પરીક્ષણ હેતુઓ માટે અથવા અમે ફક્ત ફાયરવallલને બંધ કરવા માગીએ છીએ).
#! / બિન / બેશ # મારા ઘરનો ફાયરવ .લ. # ફાઇલનું નામ / વગેરે / ફાયરવ_લ_ઓફ # જેએલસીએમક્સ ટ્વિટર દ્વારા: @ જેલસીએમક્સ # # ડિપ્લીટ iptables રૂલ્સ -F # # ડિફ defaultલ્ટ નીતિઓ લાગુ કરવી (તમામ ટ્રાફિક સ્વીકૃત) Pપ્ટિબલ્સ -P ઇનપુટ એક્સેપ્ટ iptables -P Uપુટ ACCEPT iptables -P ફોરવર્ડ ACCEPT
સ્વચાલિત.
હવે આપણે અંદર સ્ક્રીપ્ટ બનાવવી જોઈએ /etc/init.d/ અને સેવા આપમેળે શરૂ થાય છે અને અમે તેને વધુ આરામદાયક રીતે મેનેજ કરી શકીએ છીએ.
#! / બિન / બેશ # મારા ઘરનો ફાયરવ .લ. # ફાઇલ નામ /etc/init.d/ ફાયરવallલ # Jlcmux Twitter દ્વારા: @JLCuxux કેસ $ 1 પ્રારંભમાં) / etc / ફાયરવ_લ_અન ;; રોકો) / વગેરે / ફાયરવ_લ_ઓફ; સ્થિતિ) iptables -L ;; *) ઇકો "રોંગ સિન્ટેક્સ. વેલિડ = /etc/init.d/ ફાયરવ startલ પ્રારંભ | સ્ટોપ | સ્ટેટસ;; એસએસીએક
સમજૂતી:
આ છેલ્લી સ્ક્રિપ્ટ અમે મૂકી /etc/init.d/ નામ સાથે ફાયરવ .લ. તેથી જો આપણે ફાયરવ manageલનું સંચાલન કરવું હોય તો આપણે આદેશનો ઉપયોગ કરી શકીએ છીએ /etc/init.d/ ફાયરવોલ પ્રારંભ. તે જ રીતે આપણે તેને રોકી શકીએ છીએ અથવા રાજ્ય જોઈ શકીએ છીએ.
હવે આપણે ફાઈલમાં ફેરફાર કરવા જઈ રહ્યા છીએ /etc/rc.local અને અમે કંઈક આ પ્રમાણે મૂક્યું: /etc/init.d/ ફાયરવોલ પ્રારંભ સિસ્ટમ સાથે શરૂ કરવા માટે.
તેમજ. આ બીજો ભાગ છે. હું આશા રાખું છું કે તે તમારા બધા માટે કંઈક લાવશે. આગળમાં આપણે પ્રોક્સી અને આઈડીએસ જોઈએ છીએ.
જો તમે ડેબિયનનો ઉપયોગ કરી રહ્યાં છો ત્યાં રેપોમાં એક પેકેજ છે (આઇપ્ટેબલ્સ-પર્સિસ્ટન્ટ) જે તે બરાબર કરે છે, તે તમારા વર્તમાન નિયમોને /etc/iptables/rules.v4 અથવા v6 માં મૂકે છે અને તમે જે વાપરો છો તેના આધારે અને પછી તેને તમારા પર લાગુ કરે છે તમે સિસ્ટમ ઉત્થાન.
વ્યવહારમાં, પરંપરાગત iptables ફાયરવ configurationલ રૂપરેખાંકનને સાફ કરવા (અને NAT નો ઉપયોગ મારા દૃષ્ટિકોણથી તેવું નથી), મોટાભાગના કિસ્સાઓમાં નિયમ ફ્લશ થાય છે અને ACCEPT પર ડિફોલ્ટ નીતિઓને ફરીથી સેટ કરવું તે પૂરતું છે.
પરંતુ સિદ્ધાંતમાં, અને જ્યાં સુધી હું જાણું છું, આ ઉપરાંત તમારે બિન-ડિફ defaultલ્ટ તારને સાફ કરવાની અને કાઉન્ટર્સને ફરીથી સેટ કરવાની પણ જરૂર છે. ધ્યાનમાં રાખીને કરવામાં આવતી ક્રિયાઓ કે "ફિલ્ટર" ઉપરાંત અન્ય કોષ્ટકો પણ છે, (આ માટે "/ proc / net / ip_tables_names" ફાઇલ વાંચવી ફરજિયાત છે).
માર્ગ દ્વારા, ઓર્થોડthodક્સી કહે છે કે નેટવર્ક છે તે પહેલાં ફાયરવ .લ પહેલેથી જ હોવી જોઈએ. મને ખબર નથી કે તે અન્ય લિનક્સ સિસ્ટમો પર કેવી રીતે પ્રાપ્ત થાય છે, પરંતુ ડેબિયન રાશિઓ પર સ્ક્રિપ્ટ અનુરૂપ થઈ શકે છે અને ડિરેક્ટરી "/etc/network/if-pre-up.d/" માં સેટ થઈ શકે છે.
દરેકને સારી ફાયરવallલિંગ. 😉
હેલો, પોસ્ટ ખૂબ સારી છે. મેં આખા 2 ભાગો વાંચ્યા છે.
આગામી Wa માટે રાહ જુએ છે
મારા અજ્oranceાનનો એક પ્રશ્ન, અમે iptables સાથે ચાલુ રાખીએ છીએ, પરંતુ ઘણા કર્નલ વર્ઝન માટે કે જે આપણી પાસે nftables છે, હું પહેલેથી જ પરીક્ષણ કરું છું, પ્રશ્નો છે, iptables ના સંદર્ભમાં nftables કંઈક બીટા છે? શું આઇપ્ટેબલ્સનો ઉપયોગ લાંબા સમય સુધી ચાલુ રહેશે?
આપનો આભાર.
એનફ્ટેબલ્સમાં iptables, ip6tables, arptables અને ebtables ની બધી વિધેયો શામેલ છે, બધા કર્નલસ્પેસ અને યુઝરસ્પેસમાં બંને નવા ઇન્ફ્રાસ્ટ્રક્ચરનો ઉપયોગ કરે છે, જે સારી કામગીરી અને સુધારેલ કાર્યક્ષમતાને સુનિશ્ચિત કરે છે. એનફ્ટેબલ્સ iptables અને ઉલ્લેખિત અન્ય તમામ ટૂલ્સને બદલશે પરંતુ તે સમય માટે નહીં, ઓછામાં ઓછું ત્યાં સુધી ન્ફટેબલ્સનો જેમ કે વધુ વ્યાપક ઉપયોગ થાય ત્યાં સુધી નહીં.
ખૂબ સારી પોસ્ટ, હું વધુ વાંચવા માંગુ છું કારણ કે તે ખૂબ સારી રીતે સમજાવાયેલ છે .. શુભેચ્છાઓ આભાર મહાન યોગદાન
નમસ્તે! બંને પોસ્ટ ખૂબ સારી.
ફાળો તરીકે તમે આ ભાગમાં અંત લાવી શકો છો:
"હવે અમે /etc/rc.local ફાઇલને સંપાદિત કરવા જઈ રહ્યા છીએ અને કંઈક: /etc/init.d/firestop શરૂ કરવા જઈશું જેથી તે સિસ્ટમથી શરૂ થાય."
આને rc.local માં ઉમેરો.
જો [-x /etc/init.d/ ફાયરવ ]લ]; પછી
/etc/init.d/ ફાયરવોલ પ્રારંભ
fi
જેનો અર્થ છે કે જો "ફાયરવ "લ" ને એક્ઝેક્યુશન પરવાનગી છે, તો તેને ચલાવો, જો નહીં.
જો તમે "ફાયરવ "લ" શરૂ ન કરવા માંગતા હો, તો ફક્ત મંજૂરીઓ દૂર કરો.
ઉદાહરણ તરીકે: chmod + x /etc/init.d/ ફાયરવ .લ
તેને દરેક સ્ટાર્ટઅપ પર ચલાવવા માટે અથવા ...
chmod -x /etc/init.d/ ફાયરવ .લ
તેને સંપૂર્ણપણે નિષ્ક્રિય કરવા માટે.
આભાર!