1. 什么是Linux系统防火墙?
防火墙首先是一个网络安全产品,它作为网络和内网的守门人,通过监视进出网络传输的数据包来控制网络流量和保护网络安全。Linux系统自带了自己的防火墙,叫做iptables。iptables是一个命令行的工具,用来配置Linux内核的网络层,以便过滤、转送、修改或丢弃网络流量。如果您的Linux系统直接接入Internet,这是关闭防火墙的一个危险的举动;而内网系统的防火墙则可以根据您的需要进行配置和管理。
2. 如何查看Linux防火墙状态?
2.1 查看iptables规则
在Linux系统中查看iptables防火墙的默认规则非常容易,只需要一个命令:
iptables -L -n
其中,“-L”参数表示查看规则列表,“-n”参数可以使运行速度更快,因为它不会对IP地址或者端口进行DNS反向查询。
当您运行这个命令,你会看到类似下面的输出:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
这代表iptables并没有处理任何输入、输出或者转发的领域;所有的请求都顺利通过了防火墙。
2.2 查看Linux防火墙的状态
您也可以通过检查防火墙的状态来判断是否已经启用了防火墙,如果通过这个命令您可以看到“Active: active”这个字眼,那么说明防火墙已经启用:
sudo systemctl status firewalld
输出结果为:
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor
Active: active (running) since Tue 2015-06-16 16:37:33 BST; 14h ago
Main PID: 1014 (firewalld)
3. 关闭Linux防火墙
3.1 直接关闭iptables
如果你想要完全关闭Linux系统的iptables防火墙,只需要依次运行以下三个命令:
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
sudo iptables -X
其中,“-F”参数表示清除所有链表上面的规则,“-X”参数表示清除用户自定义的链表。
3.2 暂时关闭iptables
如果您只是需要暂时关闭防火墙(例如,为了测试用途),那么可以运行下面的命令:
sudo systemctl stop firewalld
执行此命令之后,防火墙将会被停止,并且在重启机器前都是不会自动启动的。如果需要永久关闭防火墙,您需要使用以下命令:
sudo systemctl disable firewalld
这个命令将禁用防火墙并且不允许其自启。
3.3 关闭某个服务或端口
如果您想要为特定的端口或者服务关闭防火墙,那么可以使用“-I”参数指定特定的规则,例如:如果您想要关闭80端口的HTTP访问,只需要运行下面的命令:
sudo iptables -I INPUT -p tcp --dport http -j ACCEPT
这条命令将在输入链列表中插入一条规则,允许HTTP访问。
总结
关闭Linux系统的防火墙需要根据实际情况进行决策,如果您的Linux系统没有接入互联网(内部领域),那么关闭防火墙并不会对网络安全造成大的影响。在实际操作中,我们第一步需要先查看防火墙的状态,确定Linux系统安装的是哪种防火墙,在此基础上再进行行动。关闭防火墙时要注意不要影响到机器的正常操作。