“本文介绍了firewall防火墙的常用简单命令,以CentOS系统为例展示了防火墙的启用、关闭及通行规则设置等命令。
”
- 查看/开启/关闭/重启/加载防火墙
- 防火墙开机自启设置
- 按端口查询/开放/移除放行规则
- 按服务查询/开放/移除放行规则
- 端口转发
- 扩展
查看/开启/关闭/重启/加载防火墙
#查看防火墙状态
systemctl status firewalld
#开启防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld
#重启防火墙
systemctl restart firewalld
# 重新加载防火墙
firewall-cmd --reload
firewall-cmd --complete-reload
# 两者的区别就是第一个不会断开连接,就是firewalld特性之一动态添加规则,第二个会断开所有连接,类似重启服务加载
防火墙开机自启设置
#查看防火墙是否自启,disabled则是开机不自动启动的
systemctl is-enabled firewalld
#设置防火墙开机自启
systemctl enable firewalld
#设置防火墙禁止开机自启
systemctl disable firewalld
按端口查询/开放/移除放行规则
#查询所有已经开放的端口列表
firewall-cmd --zone=public --list-ports
#查看指定端口开放状态
firewall-cmd --zone=public --query-port=端口号/协议
#永久开放指定端口,permanent参数为永久生效去掉则重启后失效
firewall-cmd --permanent --zone=public --add-port=端口/协议
#永久移除已开放的指定端口,permanent参数为永久生效去掉则重启后失效
firewall-cmd --permanent --zone=public --remove-port=端口/协议
#批量开放多个连续端口
firewall-cmd --permanent --zone=public --add-port=端口-端口/协议
#移除批量开放的连续端口,端口范围需与开放时的范围一致
firewall-cmd --permanent --zone=public --add-port=端口-端口/协议
#永久开放或移除服务开放规则后需重新加载防火墙规则后生效,临时的无需重新加载
firewall-cmd --reload
按服务查询/开放/移除放行规则
#查询支持开放的服务列表
firewall-cmd --get-services
#查询已开放的服务列表
firewall-cmd --zone=public --list-services
#查询某个服务是否开放
firewall-cmd --zone=public --query-service=服务名
#永久开放指定服务,permanent参数为永久生效去掉则重启后失效
firewall-cmd --permanent --zone=public --add-service=服务名
#永久移除指定服务,permanent参数为永久生效去掉则重启后失效
firewall-cmd --permanent --zone=public --remove-service=服务名
#永久开放或移除服务开放规则后需重新加载防火墙规则后生效,临时的无需重新加载
firewall-cmd --reload
端口转发
#查看所有端口转发规则
firewall-cmd --zone=public --list-forward
#本机端口转发,将80端口的流量转发至8080端口,permanent参数为永久生效去掉则重启后失效
firewall-cmd --permanent --zone=public --add-forward-port=port=80:proto=tcp:toport=8080
#服务器之间转发,将本机80端口的流量转发至192.168.0.12服务器上,permanent参数为永久生效去掉则重启后失效
firewall-cmd --permanent --zone=public --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.12 --permanent
#服务器之间转发,将本机80端口的流量转发至192.168.0.12的8080端口上,permanent参数为永久生效去掉则重启后失效
firewall-cmd --permanent --zone=public --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.12:toport=8080 --permanent
#移除端口转发规则
firewall-cmd --permanent --zone=public --remove-forward-port=port=80:proto=tcp:toport=8080
#永久开放或移除服务开放规则后需重新加载防火墙规则后生效,临时的无需重新加载
firewall-cmd --reload
#服务器之间转发需允许防火墙伪装IP
firewall-cmd --query-masquerade # 检查是否允许伪装IP
firewall-cmd --add-masquerade # 允许防火墙伪装IP
firewall-cmd --remove-masquerade # 禁止防火墙伪装IP
扩展
zone的概念
命令中如果不加zone信息,会将规则作用于默认域
#查看默认域
firewall-cmd --get-default-zone
-
public(公共) —— [默认]公网访问,不受任何限制。 -
work(工作) —— 用于工作区。基本信任的网络,仅仅接收经过选择的连接。 -
home(家庭) —— 用于家庭网络。基本信任的网络,仅仅接收经过选择的连接。 -
trusted(信任) —— 接收的外部网络连接是可信任、可接受的。 -
block(限制) —— 任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝。 -
dmz(隔离区) —— 英文”demilitarized zone”的缩写,此区域内可公开访问,它是非安全系统与安全系统之间的缓冲区。 -
drop(丢弃) —— 任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。 -
external(外部) —— 允许指定的外部网络进入连接,特别是为路由器启用了伪装功能的外部网。 -
internal(内部) —— 内部访问。只限于本地访问,其他不能访问。
firewall-cmd常用命令格式
#列出放行规则
firewall-cmd [--permanent] [--zone=zone] --list-sources
#查询放行规则状态
firewall-cmd [--permanent] [--zone=zone] --query-source=source[/mask]
#添加放行规则
firewall-cmd [--permanent] [--zone=zone] --add-source=source[/mask]
#移除放行规则
firewall-cmd [--permanent] [--zone=zone] --remove-source=source[/mask]
#更换放行规则作用域
firewall-cmd [--zone=zone] --change-source=source[/mask]
原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/77751.html