Jak mogę usunąć określone reguły z iptables?
Hostuję specjalne usługi HTTP i HTTPS odpowiednio na portach 8006 i 8007. Używam iptables, aby „aktywować” serwer; tj. do kierowania przychodzących portów HTTP i HTTPS:
<code>iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 8006 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 8007 -j ACCEPT iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8006 iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8007 iptables -A OUTPUT -t nat -d 127.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8006 iptables -A OUTPUT -t nat -d 127.0.0.1 -p tcp --dport 443 -j REDIRECT --to-ports 8007 </code>
To działa jak urok. Chciałbym jednak utworzyć inny skrypt, który ponownie wyłącza mój serwer; tj. przywróć iptables do stanu, w jakim był przed uruchomieniem powyższych linii. Trudno mi jednak zrozumieć składnię, aby usunąć te reguły. Jedyna rzecz, która wydaje się działać, to kompletny kolor:
<code>iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT </code>
Ale to również usunie inne reguły iptables, które są niepożądane.