Linux防火墙Firewall和Iptables的使用
原创: 梦想de星空 [macrozheng](javascript:void(0)😉 6月6日
Linux中有两种防火墙软件,ConterOS7.0以上使用的是firewall,ConterOS7.0以下使用的是iptables,本文将分别介绍两种防火墙软件的使用。
Firewall
- 开启防火墙:
systemctl start firewalld
- 关闭防火墙:
systemctl stop firewalld
- 查看防火墙状态:
systemctl status firewalld
- 设置开机启动:
systemctl enable firewalld
- 禁用开机启动:
systemctl disable firewalld
- 重启防火墙:
firewall-cmd --reload
- 开放端口(修改后需要重启防火墙方可生效):
firewall-cmd --zone=public --add-port=8080/tcp --permanent
- 查看开放的端口:
firewall-cmd --list-ports
- 关闭端口:
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
Iptables
安装
由于CenterOS7.0以上版本并没有预装Iptables,我们需要自行安装。
- 安装前先关闭firewall防火墙
- 安装iptables:
yum install iptables
- 安装iptables-services:
yum install iptables-services
使用
- 开启防火墙:
systemctl start iptables.service
- 关闭防火墙:
systemctl stop iptables.service
- 查看防火墙状态:
systemctl status iptables.service
- 设置开机启动:
systemctl enable iptables.service
- 禁用开机启动:
systemctl disable iptables.service
- 查看filter表的几条链规则(INPUT链可以看出开放了哪些端口):
iptables -L -n
- 查看NAT表的链规则:
iptables -t nat -L -n
- 清除防火墙所有规则:
iptables -F
iptables -X
iptables -Z
- 给INPUT链添加规则(开放8080端口):
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
- 查找规则所在行号:
iptables -L INPUT --line-numbers -n
- 根据行号删除过滤规则(关闭8080端口):
iptables -D INPUT 1