Redian新闻
>
Centos7 如何配置 firewalld 防火墙规则

Centos7 如何配置 firewalld 防火墙规则

公众号新闻

链接:https://baijiahao.baidu.com/s?id=1778335500132577046

一、简单介绍


Firewalld是CentOS系统自带的一种动态防火墙管理工具。是一个前端工具,用于管理Linux系统上的netfilter防火墙规则。Firewalld提供了一种简化和易于使用的方法来配置和管理防火墙。



二、特点和功能:


2.1、区域(Zone):

Firewalld使用区域来定义不同的网络环境,如公共网络、内部网络和信任网络等。每个区域都有自己的防火墙规则集合,可以根据网络环境的不同选择适当的区域。预定义的区域包括公共(public)、私有(private)、可信(trusted)、工作(work)和家庭(home)。


2.2、运行时和永久配置:

Firewalld支持运行时和永久配置。运行时配置的更改在重新启动后会被重置,而永久配置则会持久保存并在系统重新启动后生效。


2.3、服务和端口:

Firewalld可以通过定义服务和端口来管理访问控制。服务是一组预定义的规则,用于允许或拒绝特定的网络服务。端口规则允许或拒绝特定的端口号。


2.4、动态更新:

Firewalld支持动态更新防火墙规则,这意味着您可以在运行时添加、删除或修改规则,而无需重新加载整个防火墙配置。


2.5、连接跟踪:

Firewalld使用连接跟踪来跟踪网络连接状态。它可以自动识别和允许与现有连接相关的回复流量。


2.6、D-Bus接口:

Firewalld提供了一个D-Bus接口,允许其他应用程序通过API与其交互,从而实现更高级的防火墙配置和管理。


总体而言,Firewalld提供了一种灵活而强大的方式来管理CentOS系统上的防火墙。它使管理员能够轻松配置和调整防火墙规则,以保护系统免受未经授权的访问和网络攻击。



三、如何设置规则



例子:使用Firewalld设置防火墙规则,以限制对nginx服务器8088端口的访问,只允许IP为192.168.2.100的运维服务器访问,同时对其他端口不做任何限制。


3.1、首先,确认防火墙服务已经启动并正在运行,如果服务未启动,请启动服务;


#检查防火墙状态

systemctl status firewalld


#启动防火墙服务

systemctl start firewalld


#检查是否设置开机启动

systemctl is-enabled firewalld


#设置开机启动

systemctl enable firewalld



3.2、新建防火墙规则的服务,添加端口的TCP访问规则;


#创建一个名为 "nginxserver" 的新服务,并设置其描述为 "nginx Service"。

firewall-cmd --permanent --new-service=nginxserver --set-description="nginx Service"



#将端口8088/tcp 添加到 "nginxserver" 服务的防火墙规则中。这将允许通过8088端口进行TCP通信。

firewall-cmd --permanent --service=nginxserver --add-port=8088/tcp



#重新加载防火墙配置,以使新的服务和规则生效。

firewall-cmd --reload



#查询所有已定义的服务

firewall-cmd --get-services



#查询特定服务的具体信息

firewall-cmd --info-service=nginxserver



#删除特定服务的规则

firewall-cmd --permanent --delete-service=nginx-http

firewall-cmd --reload



3.3、新建一个防火墙区域,将IP地址添加到区域的源地址列表中,将服务添加到区域的服务列表中;


#创建一个名为 "opsserver" 的新区域,并设置其描述为 "Ops Server Zone"。这将在防火墙中创建一个新的区域。

firewall-cmd --permanent --new-zone=opsserver --set-description="Ops Server Zone"



#将IP地址 192.168.2.100 添加到 "opsserver" 区域的源列表中。这意味着只有来自该IP地址的流量才能通过该区域。

firewall-cmd --permanent --zone=opsserver --add-source=192.168.2.100



#将"nginxserver" 服务添加到 "opsserver" 区域的源列表中

firewall-cmd --permanent --zone=opsserver --add-service=nginxserver



#重新加载firewalld配置,以使新的服务和规则生效。

firewall-cmd --reload



#查询已定义的区域

firewall-cmd --get-zones



#查询特定区域的具体信息

firewall-cmd --zone=opsserver --list-all



#删除特定区域的规则

firewall-cmd --permanent --delete-zone=

firewall-cmd --reload


#删除特定区域中的规则内容

firewall-cmd --zone=<区域名称> --remove-<规则类型>=<规则内容>

其中,将 <区域名称> 替换为要删除规则的区域名称,<规则类型> 替换为要删除的规则类型(例如rich-rule、service、port等),<规则内容> 替换为要删除的规则内容。

注意:

①确保你有足够的权限执行上述命令,否则可能需要使用 sudo

②以上命令中使用了 `--permanent` 选项,以确保规则在系统重启后仍然有效。如果您想要在不重启系统的情况下立即应用规则,请省略 `--permanent` 选项。


3.4、现在,只有来自 IP 地址为 192.168.2.100 的运维服务器的流量可以访问端口 8088,其他所有流量都将被阻止。对于其他端口,没有任何限制。


①当IP为192.168.2.100时,nginx访问正常,可以ping通,并且端口访问正常;





②当IP为192.168.2.13时,无法ping通nginx服务器,并且端口无法访问,但是其他端口不受限制,可以正常访问;





3.5、如果要设置仅可通过192.168.2.100访问nginx服务器的8088端口,而其他所有端口和IP都禁止访问,那么可以将默认的 Firewalld 区域设置为 "drop",在 "drop" 区域中,所有入站和出站的网络连接都将被丢弃,而不会给任何响应。


#将默认的防火墙区域设置为 "drop",即丢弃所有连接。

firewall-cmd --set-default-zone=drop

firewall-cmd --reload



如何需要限制其他端口和IP访问,只需要替换上面例子中的IP地址和端口号为你实际使用的值即可。



四、简单的规则设置


在上面的方法中,我们通过新建规则中的服务和区域实现对特定服务的访问控制,并根据网络环境的安全性要求来限制不同区域的访问权限。


当然,如果不需要复杂的控制也可直接在public区域中添加要限制的端口和IP地址就可以了。


4.1、检查默认的区域,如果默认的Zone不是Public,则需切换到Public Zone;


#查询默认的区域

firewall-cmd --get-default-zone


#将默认区域设置为public

firewall-cmd --set-default-zone=public


4.2、添加限制端口及IP的规则


#添加允许访问端口8088的规则,只允许IP为192.168.2.100的访问

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.2.100" port protocol="tcp" port="8088" accept'


#重新加载防火墙配置:

firewall-cmd --reload


4.3、验证规则是否生效:

firewall-cmd --list-all


通过以上步骤同样可以实现限制对端口8088的访问,只允许IP为192.168.2.100的运维服务器访问,并不对其他端口做任何限制。



五、查询防火墙配置


#查看当前生效的防火墙规则

firewall-cmd --list-all

这将显示当前活动区域的所有规则,包括允许的端口、源地址等信息。


#查看特定区域的规则

firewall-cmd --zone=--list-all

将``替换为你要查看规则的区域名称,例如`public`、`restricted`等。


#查看特定端口的规则

firewall-cmd --zone=--list-ports

将``替换为你要查看规则的区域名称。这将显示指定区域中允许的端口列表。


#查看特定服务的规则

firewall-cmd --zone=--list-services

将``替换为你要查看规则的区域名称。这将显示指定区域中允许的服务列表。


通过以上命令将显示与防火墙规则相关的信息,包括允许的端口、源地址、服务等。另外,也可以直接查看配置文件,Firewalld的配置目录为/etc/firewalld/。



六、最后要说的


因为是边学边写的这篇文章,所以内容很简陋仅有一个例子,但也希望通过这一遍文章能够让你对firewalld防火墙配置有一点点了解,如果要熟练的掌握还需要深入的学习和不断的练习,文章中如有错误请您留言指出,感谢感谢。

END

官方站点:www.linuxprobe.com

Linux命令大全:www.linuxcool.com

刘遄老师QQ:5604215

Linux技术交流群:2636170

(新群,火热加群中……)

想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
小说:兰欣与乌茶 26Hebei: Man Held for Defrauding Millions Meant for Sick Children静脉泵入药物如何配置?走速多少?全都总结在这里啦!高效防护,简易运维,锐捷发布RG-WALL 1600-Z3100防火墙"妈妈让我来自首",7岁男孩在派出所写下"bǎozhèng书"白规则、灰规则、黑规则:中国社会的循环魔咒两篇Cell和两篇Cancer Cell揭示驱动多种癌症生长的关键蛋白及其调控方式专访丨积家CEO Catherine Rénier:情感联结和艺术表达对腕表也至关重要Chinese Children Trapped in Myanmar Scam Centers: Report周末谈:张柏芝为何配合陈冠希拍照?多年后含泪说出实情!谢贤却...Deadly School Stampede Renews Calls For Scheduling Reform斗鱼CEO失联近三周;华为智界S7开启预售;理想汽车2023年Q3营收同比增271.2%;下周科技股财报密集披露|一周市场盘点管住口从现在开始!cell + cell repors研究表明:高脂肪饮食会影响肠道微生物以及代谢,加剧患癌风险!枯井【纽约周边滑雪场推荐 】北美最长滑索道Hunter Mountian、 100%雪地覆盖Mountain Creek...心理在线服务专业性如何?能否筑起抑郁防火墙北面、icebreaker、攀山鼠等一批“首店”登场,New Balance举办大秀等64条运动户外品牌最新中国动态不容错过!网易海外再成立新工作室Worlds Untold,由《质量效应》制作人领导外卖买药试点医保支付,斗鱼证实CEO失联,李佳琦双十一成交金额创近年新低,华为将发布首款轿车智界S7,这就是今天的其他大新闻!How Residents Are Rebuilding Shanghai’s Urban CommunitiesChina Railway Express (Xiamen) breaks 100K TEU thresholdAs Viewers Fret, China Vows to Streamline Fees for OTT ContentThree Reasons Luxury Should Remain ResilientZhengzhou Delays Paying Residents to Have Children【广发策略】经济低敏+美债低敏下如何配置?——周末五分钟全知道(10月第2期)尼采“There are no facts, only interpretations”如何理解?债券配置创10年新高!险资权益配置受期待 | 另类投资气象第421期投资性价比最高选择,自住投资两相宜--多家庭别墅推荐--Somerville/Revere/Boston/Everett面试技巧|如何回答How would your boss and colleagues describe you?老钱:这完全是人祸,这就是屠杀!一场做不完的糊涂梦AmEx refer 功能突然消失现象及解决方案【更新:大部分卡恢复refer了,但Gold/BCE又不行了】第八章 现代社会的诞生 (4)至今已发13篇Nature/Science/Cell,施一公学生李晓淳再发Cell筑牢这道「防火墙」,要摸着游戏过河
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。