在CentOS6中的防火墙是iptables,但是在CentOS7以后便更改为firewall,而且linux系统已经默认安装了iptables和firewalld两款防火墙管理工具,同时firewalld和iptables是相互独立的防火墙管理工具
0. 开启关闭
(1)重启后生效(开机启动后) 开启: chkconfig iptables/firewalld on 关闭: chkconfig iptables/firewalld off (2)即时生效,重启后失效(临时使用): 开启: service iptables/firewalld start 关闭: service iptables/firewalld stop
1. iptables
(1)iptables基本操作命令
service iptables status # 查看防火墙的状态
service iptables start # 开启防火墙
service iptables stop # 关闭防火墙
service iptables restart # 重启防火墙
(2)配置参数:修改iptables文件,添加开放端口
# 添加一条规则,允许22端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
2.firewalld
(1)firewalld基本操作命令 service firewalld status # 查看防火墙的状态 service firewalld start # 开启防火墙 service firewalld stop # 关闭防火墙 service firewalld restart # 重启防火墙 (2)管理端口 # 开启一个端口 firewall-cmd --zone=public --add-port=80/tcp --permanent # 重新载入 firewall-cmd --reload # 查看某个端口的状态是否开启 firewall-cmd --zone=public --query-port=80/tcp # 关闭某个端口 firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 查看所有开放端口
firewall-cmd --zone=public --list-ports
3. systemctl
systemctl是融合了chkconfig和service的系统管理工具,更强大更方便
systemctl start firewalld # 开启防火墙 systemctl stop firewalld # 关闭防火墙,开机启动 systemctl restart firewalld # 重新启动防火墙 systemctl status firewalld # 查看防火墙的状态 systemctl disable firewalld # 永久关闭防火墙,不再开机自启动 systemctl enable firewalld # 设置防火墙开机自启动 systemctl is-enabled firewalld systemctl start iptables # 开启防火墙 systemctl stop iptables # 关闭防火墙,开机启动 systemctl restart iptables # 重新启动防火墙 systemctl status iptables # 查看防火墙的状态 systemctl disable iptables # 永久关闭防火墙,不再开机自启动 systemctl enable iptables # 设置防火墙开机自启动