您现在的位置是:百科 >>正文

centos7防火墙开放端口

百科4365人已围观

简介 centos7防火墙开放端口 CentOS 7用的是firewalld,不是老掉牙的iptables。很多人刚上手时习惯性去改/etc/sysconfig/iptables,结果重启后规则全没了,一 ...

centos7防火墙开放端口

CentOS 7用的防火放端是firewalld,不是墙开老掉牙的iptables。很多人刚上手时习惯性去改/etc/sysconfig/iptables,防火放端结果重启后规则全没了,墙开一脸懵。防火放端这事我踩过坑,墙开所以直接说重点:firewalld的防火放端规则是即时生效的,不用重启服务,墙开改完立刻能用。防火放端

先看最常用的墙开命令。开放端口,防火放端比如8080:

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

那个--permanent参数是墙开关键,不加的防火放端话重启防火墙就失效。加了它,墙开还得重新加载一下配置:

firewall-cmd --reload

这时候端口就通了。防火放端想确认下?firewall-cmd --list-ports,输出里应该有8080/tcp。

但有个坑,很多人不知道——如果你服务器上跑了Docker,或者用了Nginx代理,光在firewalld里开端口没用。Docker会自己操作iptables规则,绕过firewalld。我之前部署一个应用,8080端口在防火墙里开了,外部还是访问不了,查了半天才发现是容器端口映射的问题。所以遇到端口不通,先别急着怀疑防火墙,用ss -tlnp看看端口有没有在监听,再用curl 127.0.0.1:8080本地测一下,能通就说明应用没问题,问题在网络层。

还有种情况是端口范围,比如游戏服务器或FTP服务,需要开放一段端口。写法类似:

firewall-cmd --zone=public --add-port=1000-2000/udp --permanent

UDP和TCP要分开写,别指望一条命令搞定两种协议。我见过有人写--add-port=53,没带协议,firewalld直接报错。这玩意儿语法挺死板的,少个斜杠都不行。

再说说zone。默认是public,但如果你有多个网卡,比如一个连内网一个连外网,就得指定zone。查看当前zone用firewall-cmd --get-active-zones。内网那个网卡可以设成trusted,直接放行所有流量,省得一条条加端口。外网网卡保持public,只开必要的服务。这样配置好处是逻辑清晰,坏处是容易忘——上次我加了个新网卡,忘了设zone,结果所有端口都连不上,排查了半小时。

删除端口更简单,把add换成remove就行:

firewall-cmd --zone=public --remove-port=8080/tcp --permanent firewall-cmd --reload

如果临时测试某个端口,不想写进永久规则,去掉--permanent,直接生效,重启后自动消失。适合调试用。

最后提一句,firewalld底层还是iptables,但管理方式完全不同。别试图混用两种命令,会出乱子。要是实在不习惯,可以systemctl stop firewalld然后装iptables-services,但我不推荐——firewalld的zone概念其实挺好用,只是需要点时间适应。我用了两个月才摸清它的脾气,现在觉得比iptables直观多了。

Tags:

相关文章

  • webroot是什么意思

    百科

    Webroot是个杀毒软件公司的名字,总部在美国科罗拉多州。但你要是真用过它家的产品,大概会记住那个标志性的绿色小圆球图标——一个像素风格的地球,看着挺萌。 我第一次接触Webroot是在一台老旧的W ...

    【百科】

    阅读更多
  • 订单解密数据解密太频繁

    百科

    订单解密数据解密的频率,最近让我有点坐不住了。 上周五晚上,我正盯着后台的监控面板,一条告警弹了出来——某个核心接口的解密调用量在十分钟内飙到了平时的十二倍。起初以为是促销活动提前预热,查了下活动表, ...

    【百科】

    阅读更多
  • 学校防范非法宗教渗透工作实施方案

    百科

    校园里出现了一本画着十字架的小册子,放在图书馆三楼靠窗的阅览桌上。管理员收走时翻了一下,里面用繁体字印着“末世救赎”之类的话,落款是一个境外组织的邮箱。这件事没惊动学生,但安保处的监控记录显示,那本册 ...

    【百科】

    阅读更多


友情链接