Linux删除防火墙规则

时间:2020-01-09 14:16:15  来源:igfitidea点击:

我想删除Linux下基于iptables的防火墙规则。
如何在CentOS或Fedora Linux或基于RHEL的服务器下单独或一次删除规则?
您可以使用以下命令删除RHEL/Fedora/CentOS/Scientific/Red Hat Enterprise Linux下的防火墙规则:

Linux IPv4防火墙命令

  • /sbin/iptables管理基于IPv4的防火墙,即添加/删除/修改防火墙规则。
  • /sbin/chkconfig iptables on在引导时打开IPv4防火墙。
  • /sbin/chkconfig iptables off在启动时关闭IPv4防火墙。
  • /sbin/service iptables start启动基于IPv4的防火墙并读取存储在/etc/sysconfig/iptables文件中的配置。
  • /sbin/chkconfig iptables stop停止IPv4防火墙并刷新所有规则。
  • /sbin/chkconfig iptables restart重新启动IPv4防火墙。
  • /sbin/chkconfig iptables save将基于IPv4的防火墙保存在/etc/sysconfig/iptables文件中。
  • /sbin/chkconfig iptables status请参阅基于IPv4的防火墙的状态。

Linux IPv6防火墙命令

  • /sbin/ip6tables管理基于IPv6的防火墙,即添加/删除/修改防火墙规则。
  • /sbin/chkconfig ip6tables启用在引导时打开IPv6防火墙。
  • /sbin/chkconfig ip6tables off在启动时关闭IPv6防火墙。
  • /sbin/service ip6tables start启动基于IPv6的防火墙并读取存储在/etc/sysconfig/iptables文件中的配置。
  • /sbin/chkconfig ip6tables stop停止IPv6防火墙并刷新所有规则。
  • /sbin/chkconfig ip6tables restart重新启动IPv6防火墙。
  • /sbin/chkconfig ip6tables保存将基于IPv6的防火墙保存在/etc/sysconfig/iptables文件中。
  • /sbin/chkconfig ip6tables status请参阅基于IPv6的防火墙的状态。

例子

您必须以root用户身份执行以下命令:

一次删除防火墙

首先,保存现有的防火墙(可选):

# /sbin/service iptables save

接下来,停止防火墙:

# /sbin/service iptables stop

查看防火墙的当前状态:

# /sbin/service iptables status

或者

# /sbin/iptables -v -n

一次启动防火墙

# /sbin/service iptables start
# /sbin/iptables -v -n

分别删除防火墙(即一次删除一条规则)

首先,列出规则和行号:

# /sbin/iptables -L -v -n --line-numbers

输出示例:

Chain INPUT (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      207 15336 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 3 reject-with icmp-host-prohibited 
3        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 12 reject-with icmp-host-prohibited 
4        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 5 reject-with icmp-host-prohibited 
5        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 9 reject-with icmp-host-prohibited 
6        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 10 reject-with icmp-host-prohibited 
7        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 4 reject-with icmp-host-prohibited 
8        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 11 reject-with icmp-host-prohibited 
9        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
10       0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
11       0     0 ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0           
12       0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
13       0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80 
14       2    96 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 3 reject-with icmp-host-prohibited 
3        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 12 reject-with icmp-host-prohibited 
4        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 5 reject-with icmp-host-prohibited 
5        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 9 reject-with icmp-host-prohibited 
6        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 10 reject-with icmp-host-prohibited 
7        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 4 reject-with icmp-host-prohibited 
8        0     0 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 11 reject-with icmp-host-prohibited 
9        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

要删除INPUT链上的规则编号6,请输入:

# /sbin/iptables -D INPUT 6

您只能按照以下方式列出来自OUTPUT或INPUT或自定义链的规则:

# /sbin/iptables -L INPUT -v -n --line-numbers

或者

# /sbin/iptables -L OUTPUT -v -n --line-numbers

关于其他Linux发行版的说明

您可以使用以下命令或脚本停止规则:

#!/bin/sh
echo "Saving current firewall rules at /root/current.firewall file..."
iptables-save > /root/current.firewall
echo "Stopping firewall and allowing everyone..."
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