firewalld防火墙配置#yyds干货盘点#(firewalld 配置)

网友投稿 458 2022-09-19


firewalld防火墙配置#yyds干货盘点#(firewalld 配置)

一、白名单相关配置

添加白名单

一、修改配置文件

#cat firewalld.conf | grep -Ev "^#|^$"DefaultZone=trusted #主要是这个位置,必须修改trusted的MinimalMark=100CleanupOnExit=yesLockdown=noIPv6_rpfilter=yesIndividualCalls=noLogDenied=offAutomaticHelpers=system

二、启动防火墙并设置开机自启

systemctl enable firewalldsystemctl start firewalld

三、查看默认区并设置默认区为trusted

firewall-cmd --get-default-zonefirewall-cmd --set-default-zone=trustedfirewall-cmd --list-all-zone #查看所有规则

四、添加新的分区(名字自己定义)

firewall-cmd --permanent --new-zone=mysql

五、添加允许访问的IP和端口

firewall-cmd --permanent --zone=mysql --add-source=172.17.6.247firewall-cmd --permanent --zone=mysql --add-source=172.17.6.250firewall-cmd --permanent --zone=mysql --add-port=2049/tcp#重新加载firewalld,让其生效firewall-cmd --reload

六、添加drop 访问规则

firewall-cmd --permanent --zone=trusted --add-rich-rule="rule family="ipv4" port protocol="tcp" port="3306" drop"#重新加载firewall-cmd --reload

#####################################################################

批量IP添加白名单,配合ipset使用

ipset配置会在 /etc/firewalld/ipsets 里面

zone 在/etc/firewalld/zones 里面

1、新建分区、新建ipset

firewall-cmd --permanent --new-zone=mysqlfirewall-cmd --permanent --new-ipset=msyql --type=hash:ip

2、手动修改配置文件

[root@dam05 zones]# cd /etc/firewalld/zones/[root@dam05 zones]# cat mysql.xml [root@dam05 zones]# cd /etc/firewalld/ipset/[root@dam05 ipsets]# cat mysql.xml 172.17.8.220 ................. 172.17.7.230#如果需要添加个别IP到这个ipset,执行:for i in `cat ip.txt`; do firewall-cmd --permanent --ipset=mysql --add-entry=$i; done

3、重新加载

firewall-cmd --reload

4、禁止所有机器访问端口,阻断端口流量

firewall-cmd --permanent --zone=trusted --add-rich-rule="rule family="ipv4" port protocol="tcp" port="3306" drop"

5、重新重载

firewall-cmd --reload

##################################################

二. 设置firewall规则

白名单设置:

例1:对外暴露8080端口

firewall-cmd --permanent --add-port=8080/tcp

例2:使mysql服务的3306端口只允许192.168.1.1/24网段的服务器能访问

#添加规则firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.1/24" port protocol="tcp" port="3306" accept"#reload使生效firewall-cmd --reload

例3:端口转发,将到本机的3306端口的访问转发到192.168.1.1服务器的3306端口

# 开启伪装IPfirewall-cmd --permanent --add-masquerade# 配置端口转发firewall-cmd --permanent --add-forward-port=port=3306:proto=tcp:toaddr=192.168.1.2:toport=3306

注意:如果不开启伪装IP,端口转发会失败;其次,要确保源服务器上的端口(3306)和目标服务器上的端口(13306)是开启的。

三. firewall命令

1.启动, 停止, 重启firewalld

1. 停止systemctl stop firewalld.service 2. 启动systemctl start firewalld.service 3. 重启systemctl restart firewalld.service4. 查看状态: systemctl status firewalld 5.禁止firewall开机启动systemctl disable firewalld6. 设置开机启用防火墙:systemctl enable firewalld.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 --permanent2. 重新载入(修改规则后使其生效)firewall-cmd --reload3. 查看firewall-cmd --zone= public --query-port=80/tcp4. 删除firewall-cmd --zone= public --remove-port=80/tcp --permanent 因为在/usr/lib/firewalld/services/中事先定义了ssh.xml的相应的规则

5. systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

启动一个服务:systemctl start firewalld.service关闭一个服务:systemctl stop firewalld.service重启一个服务:systemctl restart firewalld.service显示一个服务的状态:systemctl status firewalld.service在开机时启用一个服务:systemctl enable firewalld.service在开机时禁用一个服务:systemctl disable firewalld.service查看服务是否开机启动:systemctl is-enabled firewalld.service查看已启动的服务列表:systemctl list-unit-files|grep enabled查看启动失败的服务列表:systemctl --failed


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:网络工程师面试题(网络工程师面试题库及答案解析)
下一篇:postman中实现传递@RequestBody参数
相关文章

 发表评论

暂时没有评论,来抢沙发吧~