您的位置:首页 > 路由器知识路由器知识
2024超全Linux防火墙服务清单!200+端口配置新手入门指南,看完就能上手
2026-02-23人已围观
2024超全Linux防火墙服务清单!200+端口配置新手入门指南,看完就能上手
今天咱们来聊聊Linux系统里一个特别重要的东西——防火墙。你可以把防火墙想象成你家小区的保安亭,所有想进小区或者从小区出去的人(网络流量)都得经过它的检查。而`firewall-cmd --permanent --get-services`这条命令,就相当于让保安亭拿出一张记录了所有"允许通行人员名单"的表格。当你在终端输入这条命令后,会看到一长串像"RH-Satellite-6"、"http"、"https"这样的名词,这些其实就是Linux系统已经预设好的"通行证模板",每个模板对应着特定的网络服务和端口规则。
一、这些服务都是啥?用大白话给你解释
咱们先挑几个最常用的服务来解释,你就明白这些名词背后是啥意思了:
http和https:这俩就像你家的大门和防盗门。http是普通大门(端口80),谁都能敲;https是加了密码锁的防盗门(端口443),需要验证身份才能进。你上网看网页、刷视频,基本都得经过这两道门。
ssh:这个相当于你家的后门钥匙(默认端口22)。远程登录服务器、管理VPS都靠它。没有它,你就只能搬着显示器去服务器跟前操作了。
ftp:文件传输的"快递小哥"(端口21)。你想把电脑上的文件传到服务器,或者从服务器下载东西,就需要它帮忙。不过现在更常用的是sftp,相当于给快递小哥配了个保险箱。
dns:这是网络世界的"通讯录"(端口53)。你输入"www.baidu.com",它就负责把这个好记的名字翻译成电脑能懂的IP地址,就像你查通讯录找朋友电话一样。
dhcp:相当于小区的"自动门卡发放机"(端口67/68)。你家路由器给手机、电脑分配IP地址,靠的就是它。没有它,你每次连网都得手动设置IP,麻烦死了。
mysql和postgresql:这俩是数据库的"仓库大门"(默认端口3306和5432)。网站的用户数据、订单信息都存在里面,就像超市的仓库,需要专门的钥匙才能进去。
二、基础操作:从安装到配置,小白也能看懂的步骤
1. 先看看防火墙是不是在工作
打开终端,输入这行命令:
```
systemctl status firewalld
```
如果看到"active (running)"绿色字样,说明防火墙正在工作;如果是"inactive",就得先启动它:
```
systemctl start firewalld
```
想让它开机自动启动?输这个:
```
systemctl enable firewalld
```
2. 查看当前开放了哪些服务
刚才咱们用的`firewall-cmd --permanent --get-services`是看系统支持哪些服务,要看当前实际开放了哪些,得用:
```
firewall-cmd --list-services
```
这就像查看当前小区保安实际放行了哪些人。
3. 添加一个服务,比如开个网页服务器
想让别人能访问你的网页,得开放http服务:
```
firewall-cmd --permanent --add-service=http
```
注意"--permanent"参数就像"永久生效"的印章,不加这个的话,重启防火墙后设置就没了。改完之后记得刷新一下:
```
firewall-cmd --reload
```
现在再用`firewall-cmd --list-services`看看,http是不是已经在列表里了?
4. 不想开放整个服务?单独开个端口也行
有时候系统预设的服务端口不符合你的需求,比如想开放8080端口跑Java程序,就用:
```
firewall-cmd --permanent --add-port=8080/tcp
```
这里的"/tcp"表示只允许TCP协议,如果你用UDP协议(比如视频流),就改成"/udp"。
三、网络配置进阶:给不同场景搭"防护网"
1. 家庭服务器:只开必要的门
如果你在家用旧电脑搭了个服务器,建议只开放这几个服务就够了:
- ssh(远程管理)
- http/https(如果搭网站)
- samba(和Windows电脑传文件)
命令参考:
```
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
```
2. 办公环境:限制特定IP访问
在公司里,可能只允许内部IP访问数据库,这时候可以这样设置(假设数据库是mysql,允许192.168.1.0网段访问):
```
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="mysql" accept'
```
这条命令就像给保安说:"只有192.168.1开头的住户才能进数据库仓库"。
3. 临时开放端口:用完就关
有时候临时调试程序需要开放端口,用完就想关掉,不用写"永久生效":
```
firewall-cmd --add-port=8080/tcp
```
这样重启防火墙或者服务器后,这个端口就自动关闭了,安全又方便。
四、常见问题解决:遇到这些情况别慌
1. 明明开了端口,外面还是访问不了?
先检查防火墙规则是不是真的生效了:
```
firewall-cmd --list-ports
```
如果列表里有你开的端口,那可能是路由器没做端口映射(家里宽带的话),或者公司网络有上层防火墙限制。这时候可以用`telnet 服务器IP 端口号`来测试,比如`telnet 192.168.1.100 80`,能通就说明防火墙没问题。
2. 防火墙把自己挡在外面了!
远程操作时不小心把ssh端口关了,这下连不上服务器了怎么办?别慌,如果是云服务器,一般有网页版的VNC控制台,通过那个登录进去重新开放端口就行。如果是物理服务器,只能接显示器操作了——所以改防火墙规则前,最好先开个备用ssh连接,万一出事还能救场。
3. 服务名和端口对不上?
比如你把http服务的端口改成了8080,这时候直接开放http服务是没用的,因为系统默认http对应80端口。这时候有两种办法:要么开放8080端口,要么修改http服务的端口配置文件(在`/usr/lib/firewalld/services/`目录下,找http.xml文件编辑)。
4. 防火墙导致网速变慢?
防火墙规则太多太复杂时,确实会影响网络性能。这时候可以精简规则,把不用的服务都关掉,或者用`firewall-cmd --direct`添加更高效的直接规则。另外,确保用的是最新版本的firewalld,开发者一直在优化性能。
5. 重启后防火墙规则丢了?
那肯定是你加规则的时候忘了加`--permanent`参数!记住,不带这个参数的规则都是"临时暂住证",重启就失效。补救办法:重新加一遍规则,这次别忘了加`--permanent`,然后`firewall-cmd --reload`。
五、10个实用小技巧:让你的防火墙更好用
1. 保存当前规则:`firewall-cmd --runtime-to-permanent`,把临时规则转成永久规则,相当于"存档"。
2. 查看端口对应的服务:`firewall-cmd --service=ssh --get-ports`,能看到ssh服务用的是22/tcp端口。
3. 克隆服务配置:`cp /usr/lib/firewalld/services/http.xml /etc/firewalld/services/myhttp.xml`,然后修改端口,就能创建自定义服务了。
4. 批量添加端口:`firewall-cmd --permanent --add-port=8000-8010/tcp`,一下子开放11个端口。
5. 拒绝特定IP:`firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1.2.3.4" reject'`,把捣乱的IP拉黑。
6. 设置默认zone:`firewall-cmd --set-default-zone=public`,zone就像不同的安全区域,public是公共区,home是家庭区,规则可以不一样。
7. 查看活跃zone:`firewall-cmd --get-active-zones`,看看你的网络接口属于哪个zone。
8. 端口转发:`firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.101`,把80端口的流量转发到另一台机器。
9. 定时清理规则:写个脚本定期运行`firewall-cmd --reload`,适合临时规则比较多的场景。
10. 备份配置:`cp -r /etc/firewalld/ /firewalld_backup`,万一配置乱了,还能恢复回来。
六、新手避坑清单:这些错误千万别犯
1. 不要关防火墙! 有些新手觉得防火墙麻烦就直接`systemctl stop firewalld`,这相当于把你家大门拆了,等着小偷上门呢。
2. 别开放不必要的服务:比如ftp、telnet这些不安全的服务,能用sftp、ssh替代就尽量替代。
3. 规则改完要reload:很多人加了规则没刷新,结果以为配置没生效,白忙活半天。
4. 注意端口协议:TCP和UDP别搞混,比如DNS用UDP,HTTP用TCP,搞错了服务就起不来。
5. 别用root权限瞎操作:虽然防火墙配置需要root,但操作前最好先想好命令对不对,输错一个参数可能就把自己锁外面了。
6. 云服务器记得看厂商防火墙:阿里云、腾讯云这些还有厂商自带的安全组,光配系统防火墙还不够,两边都得设置。
7. 别把所有端口都开放:有些人为了图省事,直接`--add-port=1-65535/tcp`,这和没开防火墙没区别,等于把家钥匙插在门上。
七、长期使用体验:防火墙配置的"心得体会"
用了这么多年Linux防火墙,我发现最关键的是"最小权限原则"——只开需要的端口和服务,其他全关。刚开始可能觉得麻烦,但习惯之后会发现,这样不仅安全,系统也更稳定,很少出莫名其妙的网络问题。
另外,定期检查防火墙规则也很重要。我一般每个月会用`firewall-cmd --list-all`看一下当前规则,把不用的服务删掉。有一次就是这样发现服务器莫名其妙开了个tftp服务(文件传输协议),赶紧关掉了,后来才知道是之前调试设备时临时开的,差点忘了关。
对于新手来说,不用追求一下子学会所有高级功能,先把常用的ssh、http/https配置明白,然后慢慢学rich rule(富规则)、端口转发这些进阶功能。firewalld比传统的iptables友好多了,只要记住那几个基本命令,日常使用完全够用。
话说回来,防火墙就像给你的Linux系统请了个保安,配置得好,它能默默守护系统安全;配置不好,要么形同虚设,要么把自己人挡在门外。希望这篇文章能帮你当好这个"保安队长",让你的服务器既安全又好用。记住,网络安全无小事,多花点时间在防火墙上,总比出了问题再补救要划算得多。
最新发布
- 2024最详细T12焊台制作指南:从元件到PID算法,新手也能看懂的STM32实战教程
- 2025年SEO实战数据复盘:持续系统性投入如何让企业站排名稳增120%
- 2025TCP异常处理完全指南:从崩溃恢复到性能调优
- 2025年家庭网络完全指南:从入门到进阶的实战手册
- 2025最新Docker容器访问宿主机网络全攻略:3大方案+10个避坑技巧,新手也能秒懂
- 2026年超全解析:ThinkCMF框架50+核心公共函数,新手小白也能秒懂的实用指南
- 2026路由器配置完全指南:从路由策略到PBR实战,小白也能看懂的网络优化手册
- 2026年超全IPv4协议实战指南:从基础原理到网络优化
- 2025物联网芯片选购指南:一文读懂ESP32-C6系列的4大核心优势与10项实用技巧
- 2025年OpenWrt完全开发指南:从源码编译到多系统部署的7大核心技能
相关文章
- 2024最详细T12焊台制作指南:从元件到PID算法,新手也能看懂的STM32实战教程
- 2025TCP异常处理完全指南:从崩溃恢复到性能调优
- 2025年家庭网络完全指南:从入门到进阶的实战手册
- 2025最新Docker容器访问宿主机网络全攻略:3大方案+10个避坑技巧,新手也能秒懂
- 2026年超全解析:ThinkCMF框架50+核心公共函数,新手小白也能秒懂的实用指南
- 2026路由器配置完全指南:从路由策略到PBR实战,小白也能看懂的网络优化手册
- 2026年超全IPv4协议实战指南:从基础原理到网络优化
- 2025物联网芯片选购指南:一文读懂ESP32-C6系列的4大核心优势与10项实用技巧
- 2025年OpenWrt完全开发指南:从源码编译到多系统部署的7大核心技能
- 2025年搞定虚拟机网络:桥接NATHost-Only实战指南(附10个避坑技巧)