firewall防火墙
firewall防火墙是CentOS 7中一个非常的强大的功能,是CentOS 6.5中iptables防火墙的升级版。
防火墙基本命令
# 安装 firewalld (centos7默认安装firewalld)
yum install firewalld firewall-config
# 查看 firewalld 是否启用
systemctl status firewalld
或者 systemctl status firewalld.service
或者 firewall-cmd –state
# 启动 firewalld
systemctl start firewalld.service
# 停止firewalld
systemctl stop firewalld.service
# 停止firewalld
systemctl restart firewalld.service
# 启用firewalld(设置开机自启,否则重启系统后会再次关闭)
systemctl enable firewalld.service
# 禁用firewalld(取消开机自启,否则重启系统后会再次启动)
systemctl disable firewalld.service
# firwall-cmd:是Linux提供的操作firewall的一个工具
# 修改规则之后,需要重载配置才能生效
firewall-cmd --reload
# 查看防火墙规则
firewall-cmd --list-all
# 比较常用的命令
firewall-cmd --get-zones ## 列出支持的zone
firewall-cmd --get-services ## 列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ## 查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ## 临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ## 永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ## 永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ## 永久添加80端口
iptables -L -n ## 查看规则,这个命令是和iptables的相同的
man firewall-cmd ## 查看帮助
示例
端口开放或限制(不限制ip)
## 开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
# --permanent:表示设置为持久
# 记得要 重载才能生效设置
firewall-cmd --reload
# 查看是否生效
firewall-cmd --zone=public --query-port=80/tcp
# 查看系统所有开放的端口
firewall-cmd --zone=public --list-ports
# 限制端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 记得要 重载才能生效设置
firewall-cmd --reload
# 查看是否生效
firewall-cmd --zone=public --query-port=80/tcp
# 查看系统所有开放的端口
firewall-cmd --zone=public --list-ports
# 批量开放或限制端口
# 批量开放端口,如从8000到9000这之间的端口我们全部要打开
firewall-cmd --zone=public --add-port=8000-9000/tcp --permanent
# 批量限制端口,如从8000到9000这之间的端口我们全部要打开
firewall-cmd --zone=public --remove-port=8000-9000/tcp --permanent
开放端口 限制指定ip
# 对 指定ip 开放 指定端口
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=192.168.16.8 port protocol=udp port=80 accept"
# 效果: 80端口只有 192.168.16.8 可以访问,其他ip都无法访问。
# 记得要 重载才能生效设置
firewall-cmd --reload
# 查看系统所有开放的端口
firewall-cmd --zone=public --list-ports
# 查看已经设置的规则
firewall-cmd --zone=public --list-rich-rules
# 关闭 已对指定ip 指定端口 开放(删除对应rule)
firewall-cmd --permanent --remove-rich-rule="rule family=ipv4 source address=192.168.16.8 port protocol=udp port=80 accept"
# 对 指定ip 限制 指定端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.16.8" port protocol="tcp" port="80" reject"
# 记得要 重载才能生效设置
firewall-cmd --reload
# 查看已经设置的规则
firewall-cmd --zone=public --list-rich-rules
# 对 指定ip段(192.168.16.0 - 192.168.16.255) 限制 指定端口(其中 address 子网掩码规则, 见https://baike.baidu.com/item/子网掩码)
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.16.0/24" port protocol="tcp" port="80" reject"
# 记得要 重载才能生效设置
firewall-cmd --reload
# 查看已经设置的规则
firewall-cmd --zone=public --list-rich-rules