详解firewall的规则设置与命令(白名单设置)
一.设置firewall规则
例1:对外暴露8080端口
firewall-cmd--permanent--add-port=8080/tcp
例2:使mysql服务的3306端口只允许192.168.1.1/24网段的服务器能访问
#添加规则 firewall-cmd--permanent--add-rich-rule="rulefamily="ipv4"sourceaddress="192.168.1.1/24"portprotocol="tcp"port="3306"accept" #reload使生效 firewall-cmd--reload
例3:端口转发,将到本机的3306端口的访问转发到192.168.1.1服务器的3306端口
#开启伪装IP firewall-cmd--permanent--add-masquerade #配置端口转发 firewall-cmd--permanent--add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.2:toport=13306
注意:如果不开启伪装IP,端口转发会失败;其次,要确保源服务器上的端口(3306)和目标服务器上的端口(13306)是开启的。
二.firewall命令
1.启动,停止,重启firewalld
1.停止
systemctlstopfirewalld.service
2.启动
systemctlstartfirewalld.service
3.重启
systemctlrestartfirewalld.service
4.查看状态:
systemctlstatusfirewalld
5.禁止firewall开机启动
systemctldisablefirewalld
6.设置开机启用防火墙:
systemctlenablefirewalld.service
2.查看firewall规则与状态
1.查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
firewall-cmd--state
2.查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)
firewall-cmd--list-all
3.查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)
firewall-cmd--list-all-zones
4.重新加载配置文件
firewall-cmd--reload
3.配置firewalld-cmd
查看版本:firewall-cmd--version 查看帮助:firewall-cmd--help 显示状态:firewall-cmd--state 查看所有打开的端口:firewall-cmd--zone=public--list-ports 更新防火墙规则:firewall-cmd--reload 查看区域信息:firewall-cmd--get-active-zones 查看指定接口所属区域:firewall-cmd--get-zone-of-interface=eth0 拒绝所有包:firewall-cmd--panic-on 取消拒绝状态:firewall-cmd--panic-off 查看是否拒绝:firewall-cmd--query-panic
4.那怎么开启一个端口呢
1.添加(--permanent永久生效,没有此参数重启后失效)
firewall-cmd--zone=public--add-port=80/tcp--permanent
2.重新载入(修改规则后使其生效)
firewall-cmd--reload
3.查看
firewall-cmd--zone=public--query-port=80/tcp
4.删除
firewall-cmd--zone=public--remove-port=80/tcp--permanent
因为在/usr/lib/firewalld/services/中事先定义了ssh.xml的相应的规则
5.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctlstartfirewalld.service 关闭一个服务:systemctlstopfirewalld.service 重启一个服务:systemctlrestartfirewalld.service 显示一个服务的状态:systemctlstatusfirewalld.service 在开机时启用一个服务:systemctlenablefirewalld.service 在开机时禁用一个服务:systemctldisablefirewalld.service 查看服务是否开机启动:systemctlis-enabledfirewalld.service 查看已启动的服务列表:systemctllist-unit-files|grepenabled 查看启动失败的服务列表:systemctl--failed
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。