admin管理员组

文章数量:1642335

实例:

如何修改Centos7的firewalld规则,开放mysql的3306端口。

Centos7 防火墙打开端口号

firewall-cmd --zone=public --add-port=3306/tcp --permanent

#下面3行是参数说明
#–zone                        #作用域
#–add-port=80/tcp        #添加端口,格式为:端口/通讯协议
#–permanent                    #永久生效,没有此参数重启后失效

重启防火墙后看看是否生效

firewall-cmd --reload        //重启防火墙 (一般我们在开放完新的端口后,需要重新启动防火墙)
firewall-cmd --list-ports    #查看已经开放的端口

如果想永久停止防火墙,执行下面操作

systemctl stop firewalld.service         #停止firewall
systemctl disable firewalld.service      #禁止firewall开机启动

查看防火墙状态

firewall-cmd --state        #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

firewalld端口转发

防火墙可以实现伪装IP的功能,下面的端口转发就会用到这个功能。

firewall-cmd --query-masquerade # 检查是否允许伪装IP
firewall-cmd --add-masquerade # 允许防火墙伪装IP
firewall-cmd --remove-masquerade# 禁止防火墙伪装IP

端口转发

端口转发可以将指定地址访问指定的端口时,将流量转发至指定地址的指定端口。转发的目的如果不指定ip的话就默认为本机,如果指定了ip却没指定端口,则默认使用来源端口。

如果配置好端口转发之后不能用,可以检查下面两个问题:

  • 比如我将80端口转发至8080端口,首先检查本地的80端口和目标的8080端口是否开放监听了
  • 其次检查是否允许伪装IP,没允许的话要开启伪装IP

# 将80端口的流量转发至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
# 将80端口的流量转发至
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.0.1192.168.0.1
# 将80端口的流量转发至192.168.0.1的8080端口
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1:toport=8080
  • 当我们想把某个端口隐藏起来的时候,就可以在防火墙上阻止那个端口访问,然后再开一个不规则的端口,之后配置防火墙的端口转发,将流量转发过去。
  • 端口转发还可以做流量分发,一个防火墙拖着好多台运行着不同服务的机器,然后用防火墙将不同端口的流量转发至不同机器。

常用命令介绍

firewall-cmd --state                           ##查看防火墙状态,是否是running
firewall-cmd --reload                          ##重新载入配置,比如添加规则之后,需要执行此命令
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                               ##查看帮助

本文标签: 端口防火墙