Lär dig hur man tillfälligt inaktiverar iptables-brandväggen i Linux i felsökningssyfte. Lär dig också hur du sparar policyer och hur du återställer dem när du aktiverar brandväggen igen.
Undertiden har du kravet att stänga av iptables brandväggen för att göra en viss felsökning av konnektiviteten och sedan behöver du slå på den igen. När du gör det vill du också spara alla dina brandväggsprinciper också. I den här artikeln går vi igenom hur du sparar brandväggspolicyer och hur du inaktiverar/aktiverar en iptables-brandvägg. För mer information om iptables brandvägg och policyer läs vår artikel om det.
Spara iptables policyer
Det första steget när du inaktiverar iptables brandväggen tillfälligt är att spara befintliga brandväggsregler/policyer. Kommandot iptables-save
listar alla dina befintliga policyer som du kan spara i en fil på din server.
root@kerneltalks # iptables-save# Generated by iptables-save v1.4.21 on Tue Jun 19 09:54:36 2018*nat:PREROUTING ACCEPT :INPUT ACCEPT :OUTPUT ACCEPT :POSTROUTING ACCEPT :DOCKER - ---- output trucated----root@kerneltalks # iptables-save > /root/firewall_rules.backup
Så iptables-save är kommandot med vilket du kan ta iptables policy backup.
Stoppa/avaktivera iptables brandvägg
För äldre Linuxkärnor har du möjlighet att stoppa tjänsten iptables med service iptables stop
, men om du använder den nya kärnan behöver du bara radera alla policyer och tillåta all trafik genom brandväggen. Detta är lika bra som att du stoppar brandväggen.
Använd nedanstående lista med kommandon för att göra detta.
root@kerneltalks # iptables -Froot@kerneltalks # iptables -Xroot@kerneltalks # iptables -P INPUT ACCEPTroot@kerneltalks # iptables -P OUTPUT ACCEPTroot@kerneltalks # iptables -P FORWARD ACCEPT
Varför –
- -F: Spola alla policykedjor
- -X: Ta bort användardefinierade kedjor
- -P INPUT/OUTPUT/FORWARD: Acceptera specificerad trafik
När du är klar kontrollerar du de aktuella brandväggsprinciperna. Den ska se ut som nedan vilket innebär att allt accepteras (så gott som din brandvägg är inaktiverad/stoppad)
# iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationChain OUTPUT (policy ACCEPT)target prot opt source destination
Restore firewall policies
När du är klar med felsökningen och du vill aktivera iptables igen med alla sina konfigurationer. Du måste först återställa policyer från den säkerhetskopia vi tog i det första steget.
root@kerneltalks # iptables-restore </root/firewall_rules.backup
Starta iptables brandvägg
Och starta sedan iptables-tjänsten om du har stoppat den i föregående steg med hjälp av service iptables start
. Om du inte har stoppat tjänsten räcker det med att återställa policyer. Kontrollera om alla policyer är tillbaka i iptables brandväggskonfigurationer :
root@kerneltalks # iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy DROP)target prot opt source destinationDOCKER-USER all -- anywhere anywhereDOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere-----output truncated-----
Det var allt! Du har lyckats inaktivera och aktivera brandväggen utan att förlora dina policyregler.
Desaktivera iptables brandvägg permanent
För att inaktivera iptables permanent följer du nedanstående process –
- Stoppa iptables-tjänsten
- Desaktivera iptables-tjänsten
- Släpp ut alla regler
- Spara konfiguration
Det här kan du göra med hjälp av nedanstående uppsättning kommandon.
root@kerneltalks # systemctl stop iptablesroot@kerneltalks # systemctl disable iptablesroot@kerneltalks # systemctl status iptablesroot@kerneltalks # iptables --flushroot@kerneltalks # service iptables saveroot@kerneltalks # cat /etc/sysconfig/iptables