如何在Linux中禁用Iptables防火墙

时间:2020-01-09 10:43:54  来源:igfitidea点击:

如何在Linux中禁用防火墙以进行测试。
如何在CentOS和RHEL版本4.4/5/6 Linux中禁用防火墙?

Linux防火墙是基于软件的防火墙,可在服务器(工作站)与Internet或者网络上的损坏内容之间提供保护。
它将尝试保护您的计算机免受恶意用户和软件的侵害,例如病毒/蠕虫。

禁用/关闭Linux防火墙(Red Hat/CentOS/Fedora Core)

执行以下两个命令(您必须以root用户身份登录):

# /etc/init.d/iptables save
# /etc/init.d/iptables stop

在启动时关闭防火墙:

# chkconfig iptables off

启用/打开Linux防火墙(Red Hat/CentOS/Fedora Core)

执行以下命令以打开iptables防火墙:

# /etc/init.d/iptables start

在启动时打开防火墙:

# chkconfig iptables on

查看相关媒体

请参阅防火墙启动和停止视频教程:

关于其他Linux发行版的说明

如果您使用的是其他Linux发行版,例如Debian/Ubuntu/Suse/Slaccware Linux等,请尝试以下通用过程。
首先,保存当前的防火墙规则,执行:

# iptables-save > /root/firewall.rules

或者

$ sudo iptables-save > /root/firewall.rules

接下来,在bash提示符下执行以下命令(以root用户身份登录):

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 OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

或者按如下所示创建一个shell脚本并运行它以禁用防火墙:

#!/bin/bash
# reset.fw - Reset firewall
# set x to 0 - No reset
# set x to 1 - Reset firewall
# --------------------------------------------------------------------------------------------------------------
# Added support for IPV6 Firewall
# --------------------------------------------------------------------------------------------------------------
# Written by  <[email protected]>
# --------------------------------------------------------------------------------------------------------------
# You can copy / paste / redistribute this script under GPL version 2.0 or above
# =============================================================
x=1
 
# set to true if it is CentOS / RHEL / Fedora box
RHEL=false
 
### no need to edit below  ###
IPT=/sbin/iptables
IPT6=/sbin/ip6tables
 
if [ "$x" == "1" ];
then
	if [ "$RHEL" == "true" ];
	then
	      # reset firewall using redhat script
		/etc/init.d/iptables stop
		/etc/init.d/ip6tables stop
	else
		# for all other Linux distro use following rules to reset firewall
		### reset ipv4 iptales ###
		$IPT -F
		$IPT -X
		$IPT -Z
		for table in $(</proc/net/ip_tables_names)
		do
			$IPT -t $table -F
			$IPT -t $table -X
			$IPT -t $table -Z
		done
		$IPT -P INPUT ACCEPT
		$IPT -P OUTPUT ACCEPT
		$IPT -P FORWARD ACCEPT
		### reset ipv6 iptales ###
		$IPT6 -F
		$IPT6 -X
		$IPT6 -Z
		for table in $(</proc/net/ip6_tables_names)
		do
			$IPT6 -t $table -F
			$IPT6 -t $table -X
			$IPT6 -t $table -Z
		done
		$IPT6 -P INPUT ACCEPT
		$IPT6 -P OUTPUT ACCEPT
		$IPT6 -P FORWARD ACCEPT
	fi
else
        :
fi

要恢复或者打开防火墙,请执行以下命令:

# iptables-restore < /root/firewall.rules