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就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!


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

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