CentOS7 firewalld开放80、443端口永久生效命令

前言

CentOS7 默认用 firewalld 管理防火墙,新装系统后外网访问 80、443 经常被拒,浏览器打不开网站。很多人只在临时会话里加规则,重启或 reload 后端口又被关。本篇给出永久开放 80、443 的完整命令和验证方法。

一、先确认防火墙状态

systemctl status firewalld
firewall-cmd --state

返回 running 表示防火墙在运行;如果是 not running,先启动并设为开机自启:

systemctl start firewalld
systemctl enable firewalld

二、永久开放80、443端口

关键是 --permanent 参数,不加它规则只在当前运行时生效,reload 或重启就丢失。

# 永久开放HTTP 80
firewall-cmd --permanent --add-port=80/tcp
# 永久开放HTTPS 443
firewall-cmd --permanent --add-port=443/tcp
# 重载使永久规则立即生效
firewall-cmd --reload

也可以用服务名方式(firewalld 自带 http/https 服务定义):

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

三、查看已开放端口,确认生效

# 查看永久规则里已开放的端口
firewall-cmd --permanent --list-ports
# 查看当前运行时生效的服务
firewall-cmd --list-services

能看到 80/tcp 443/tcp 或 http https 即成功。

四、开放单个/多个端口常用命令汇总

# 永久开放单个端口
firewall-cmd --permanent --add-port=8080/tcp
# 永久移除某个端口
firewall-cmd --permanent --remove-port=8080/tcp
# 开放一段端口范围(如30000-30100)
firewall-cmd --permanent --add-port=30000-30100/tcp
# 开放UDP(DNS、视频流用)
firewall-cmd --permanent --add-port=53/udp

每加完一条都要 firewall-cmd --reload。

五、常见坑

  1. 加了规则但不 reload:运行时看不到,外网照样访问不通;
  2. 忘记 --permanent:重启服务器后规则消失,以为没生效;
  3. 协议选错:Web 是 tcp,写成 udp 无效;
  4. 云服务器安全组没放行:系统防火墙开了,云厂商控制台安全组还拦着,两边都要开;
  5. 服务本身没监听:ss -tlnp 确认 nginx 在 80/443 上监听,否则放了端口也连不上。

总结

记住三步:--add-port=端口/tcp --permanent → --reload → --list-ports 验证。系统防火墙和云安全组同时放行,网站才能从外网访问。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-20 07:22 

Linux防火墙配置

Linux防火墙配置

引言

云服务器安全不能只靠系统防火墙,开通端口是上线必经步骤。CentOS 7以上默认使用firewalld,很多新手忘了放行端口,导致网站、SSH、数据库从外部连不上。

firewalld常用命令

#查看防火墙状态
firewall-cmd --state

#查看已放行端口
firewall-cmd --list-ports

#永久放行80、443端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp

#重新加载生效
firewall-cmd --reload

#移除某个端口
firewall-cmd --permanent --remove-port=3306/tcp

区域概念

firewalld分public、internal等zone,默认public。--permanent写入永久规则,不加只对当前会话生效,重启失效。改完必须reload。

常用放行场景

  • Web服务:80、443;
  • SSH远程:22(建议改非默认端口再放行);
  • 不要对公网开放3306、6379、27017等数据库端口;
  • 只允许指定IP访问管理端口更安全:
    firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=1.2.3.4 port port=22 protocol=tcp accept'

注意事项

  • 云服务器除了系统防火墙,还要在云厂商控制台安全组同步放行;
  • 改SSH端口前先确认新端口放行,避免把自己挡在门外;
  • 防火墙规则最小化,只开放必要端口。

总结

firewalld核心:查看列表、永久加端口、reload生效。记住系统防火墙和云安全组两层都要放行,数据库端口绝不暴露公网,管理端口限制来源IP。


emer 发布于  2026-10-18 07:22 

Linux 防火墙配置详解

Linux 防火墙配置详解

服务器安全第一步就是防火墙,学会配置很重要。

1. firewalld(CentOS 7+)

查看状态:

systemctl status firewalld

开启/关闭:

# 开启
systemctl start firewalld

# 关闭
systemctl stop firewalld

# 开机自启
systemctl enable firewalld

2. 开放端口

开放单个端口:

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

开放多个端口:

firewall-cmd --zone=public --add-port=80-90/tcp --permanent

重新加载生效:

firewall-cmd --reload

3. 查看端口

# 查看所有开放端口
firewall-cmd --list-ports

# 查看某个端口是否开放
firewall-cmd --query-port=80/tcp

4. 关闭端口

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

5. iptables(旧版)

查看规则:

iptables -L -n

开放端口:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

保存规则:

service iptables save

6. 常用端口

# 常用端口
22      SSH
80      HTTP
443     HTTPS
3306    MySQL
6379    Redis
8080    Tomcat

7. 常见问题

1)端口开了还是访问不了:

  • 检查云服务商安全组
  • 检查服务器内部防火墙

2)远程连接不上:

  • 检查 22 端口是否开放
  • 检查 sshd 是否启动

总结

Linux 防火墙要点:

  • firewalld 管理端口
  • --permanent 永久生效
  • --reload 重新加载
  • 记得开放安全组
  • 常用端口按需开放

做运维,防火墙是基本功。


emer 发布于  2026-10-8 07:22 

Linux 防火墙配置详解

Linux 防火墙配置详解

服务器安全第一关就是防火墙,配置错了就远程连不上了,这篇讲常用配置。

1. firewalld(CentOS7 默认)

查看状态:

# 查看防火墙状态
firewall-cmd --state

# 查看开放的端口
firewall-cmd --list-ports

# 查看开放的服务
firewall-cmd --list-services

开放端口:

# 开放 80 端口
firewall-cmd --permanent --add-port=80/tcp

# 开放 443 端口
firewall-cmd --permanent --add-port=443/tcp

# 开放多个端口范围
firewall-cmd --permanent --add-port=8000-9000/tcp

# 重载生效
firewall-cmd --reload

关闭端口:

# 关闭 80 端口
firewall-cmd --permanent --remove-port=80/tcp

# 重载
firewall-cmd --reload

开放服务:

# 开放 nginx 服务
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

# 重载
firewall-cmd --reload

2. iptables(老系统常用)

查看规则:

iptables -L -n

开放端口:

# 开放 22 端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 开放 80 端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# 保存规则
service iptables save

3. 常用安全配置

只允许指定 IP 访问 SSH:

# 只允许 192.168.1.100 访问 22 端口
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' port protocol='tcp' port='22' accept"

# 拒绝其他所有 IP
firewall-cmd --permanent --remove-service=ssh

firewall-cmd --reload

4. 常用端口说明

端口 服务
22 SSH 远程连接
80 HTTP 网站
443 HTTPS 网站
3306 MySQL 数据库
6379 Redis 缓存
8080 应用服务

5. 常见问题

1)SSH 连不上了:

  • 检查防火墙是不是把 22 端口关了
  • 用控制台登录服务器重新开放

2)网站打不开:

  • 检查 80/443 端口开了没
  • 重载防火墙生效

3)数据库连不上:

  • 3306 端口别对公网开放
  • 只允许本地或指定 IP 访问

总结

防火墙配置记住三点:

  • 先开 22 端口,不然自己都连不上
  • 网站开 80 和 443
  • 数据库别对外网开放

安全第一,别图省事直接关防火墙。


emer 发布于  2026-10-7 07:16 

CentOS7 关闭防火墙,永久关闭firewalld

前言

刚装好的 CentOS7 默认开了防火墙,很多端口都访问不了。有时候为了省事想直接关掉防火墙,本文讲一下怎么操作,以及临时关和永久关的区别。

查看防火墙状态

先看看防火墙现在是开还是关:

systemctl status firewalld

输出里有 active (running) 就是开着,inactive (dead) 就是关了。

或者用:

firewall-cmd --state

输出 running 就是开着,not running 就是关了。

临时关闭防火墙

只关掉当前运行状态,重启后又会自动开起来:

systemctl stop firewalld

永久关闭防火墙

永久关闭,重启后也不会再开:

systemctl stop firewalld
systemctl disable firewalld

两条命令一起执行,先停掉当前的,再禁止开机自启。

重新开启防火墙

如果以后又想开起来:

systemctl start firewalld
systemctl enable firewalld

验证是否关闭成功

执行完之后再看一下状态:

systemctl status firewalld

应该显示 inactive (dead)。

常见坑

坑1:只 stop 了但没 disable

执行了 systemctl stop firewalld,但重启后防火墙又自己开起来了。

原因: 只停了当前运行,没关开机自启。

解决: 还要执行 systemctl disable firewalld。

坑2:关了防火墙但还是访问不了

防火墙关了,但外部还是访问不了网站。

原因: 除了系统防火墙,云服务商还有一层安全组。

解决: 去云服务商控制台(阿里云、腾讯云、华为云等)的安全组里,把对应的端口也开放了。

坑3:Ubuntu 用的不是 firewalld

在 Ubuntu 上执行 firewalld 命令报错。

原因: Ubuntu 默认用 ufw 防火墙,不是 firewalld。

解决: Ubuntu 关防火墙用:

ufw stop
ufw disable

坑4:关闭防火墙不安全

直接关了防火墙,服务器暴露在公网上很危险。

建议: 生产环境不要直接关防火墙,而是只开放需要的端口。比如只开 80、443、22 端口,其他都关。

总结

操作 命令
查看防火墙状态 systemctl status firewalld
临时关闭 systemctl stop firewalld
永久关闭 systemctl stop firewalld && systemctl disable firewalld
开启防火墙 systemctl start firewalld
开机自启 systemctl enable firewalld

注意: 生产环境建议不要直接关防火墙,用开放指定端口的方式更安全。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-6 08:00 

CentOS7 防火墙开放端口范围,一次性开放多个端口

前言

有时候需要一次性开放很多端口,或者开放一段端口范围,一个个加太麻烦。CentOS7 的 firewalld 支持开放端口范围,也支持一次性开放多个端口,本文讲一下怎么操作。

查看当前开放的端口

先看看现在防火墙开了哪些端口:

firewall-cmd --list-ports

输出类似:

80/tcp 443/tcp 8080/tcp

开放单个端口

永久开放

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

然后重载生效:

firewall-cmd --reload

开放 UDP 端口

把 tcp 改成 udp 就行:

firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload

一次性开放多个端口

方法一:一条命令加多个

firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp --add-port=8080/tcp
firewall-cmd --reload

多个 --add-port 用空格分开就行。

方法二:开放端口范围

如果要开放一段连续的端口,比如 8000 到 9000:

firewall-cmd --permanent --add-port=8000-9000/tcp
firewall-cmd --reload

这样 8000 到 9000 之间所有 TCP 端口都开放了。

方法三:同时开放 TCP 和 UDP

firewall-cmd --permanent --add-port=53/tcp --add-port=53/udp
firewall-cmd --reload

移除端口

移除单个端口

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

移除端口范围

firewall-cmd --permanent --remove-port=8000-9000/tcp
firewall-cmd --reload

常见场景

场景1:开放 20 到 80 之间的所有端口

firewall-cmd --permanent --add-port=20-80/tcp
firewall-cmd --reload

场景2:同时开放 HTTP 和 HTTPS 服务

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

场景3:只允许某个 IP 访问某个端口

这个更安全,只允许 192.168.1.100 访问 3306 端口:

firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' port protocol='tcp' port='3306' accept"
firewall-cmd --reload

常见坑

坑1:加了端口没生效

执行了 add-port 但还是访问不了。

原因: 没加 --permanent,或者没 reload。

解决: 一定要加 --permanent 参数,然后执行 firewall-cmd --reload。

坑2:端口范围写反了

写成了 9000-8000,报错。

原因: 范围必须从小到大写。

正确写法: 8000-9000/tcp
错误写法: 9000-8000/tcp

坑3:防火墙没启动

执行 firewall-cmd 报错。

原因: firewalld 服务没启动。

解决:

systemctl start firewalld
systemctl enable firewalld

坑4:开了端口但还是访问不了

防火墙开了端口,但是外部还是访问不了。

原因: 除了防火墙,还有可能是云服务商的安全组没开。

解决: 去云服务商控制台(阿里云、腾讯云等)的安全组里,把对应的端口也开放了。

总结

操作 命令
开放单个端口 firewall-cmd --permanent --add-port=80/tcp
开放多个端口 firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp
开放端口范围 firewall-cmd --permanent --add-port=8000-9000/tcp
移除端口 firewall-cmd --permanent --remove-port=8080/tcp
查看已开放端口 firewall-cmd --list-ports
重载生效 firewall-cmd --reload

记住:加完端口一定要 --reload 才生效。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-6 07:53 

CentOS7 firewalld开放80、443端口永久生效命令

前言

CentOS 7 开始,系统默认的防火墙管理工具从原来的 iptables 换成了 firewalld。很多刚接触 CentOS 7 的运维同学,部署完 Nginx 或者 Apache 之后发现网站访问不了,最后排查半天发现是防火墙没放行 80 和 443 端口。

这篇文章就详细讲讲 CentOS 7 下用 firewalld 开放 80、443 端口,并且确保重启后依然生效的完整操作步骤。

操作步骤

1. 先确认 firewalld 服务状态

在配置端口之前,先确认防火墙服务是否正在运行:

systemctl status firewalld

如果看到 active (running) 就说明防火墙正在运行。如果是 inactive 状态,说明防火墙没启动,可以先启动它:

systemctl start firewalld
systemctl enable firewalld

2. 查看当前已经开放的端口和服务

firewall-cmd --list-all

执行完之后会看到类似下面的输出:

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

从这里可以看到,默认只开放了 ssh 和 dhcpv6-client 两个服务,80 和 443 端口都没开。

3. 永久开放 80 端口

这里要注意,必须加上 --permanent 参数,否则重启服务器之后配置就丢了。

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

执行成功之后会返回 success。

4. 永久开放 443 端口

同样的方式开放 443 端口,这个是 HTTPS 默认端口:

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

5. 重载防火墙使配置生效

很多同学加完端口就以为完事了,其实不对。firewalld 有运行时配置和永久配置之分,加了 --permanent 的配置写入了永久配置,但还需要重载一下才能在当前运行时生效:

firewall-cmd --reload

6. 验证端口是否真的开放了

最后再检查一下:

firewall-cmd --list-ports

如果看到 80/tcp 和 443/tcp 都在列表里,就说明配置成功了。

常见坑

坑 1:忘记加 --permanent 参数

这是最常见的错误。如果不加 --permanent,配置只在当前运行时生效,服务器一重启就没了。很多同学配置完当时测试没问题,第二天服务器重启网站又打不开了,就是这个原因。

正确写法:firewall-cmd --permanent --add-port=80/tcp

坑 2:加完端口忘记 reload

加了 --permanent 之后,必须执行 firewall-cmd --reload 才能生效。不然你会发现配置写进去了,但端口还是不通。

坑 3:想一次性开放多个端口怎么办

如果要开放一批连续的端口,比如 1000 到 2000,可以用这个写法:

firewall-cmd --permanent --add-port=1000-2000/tcp

如果要开放多个不连续的端口,就执行多次 add-port 命令就行。

坑 4:怎么移除已经开放的端口

如果不小心开错了端口,要移除的话用 remove-port:

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

总结

CentOS 7 下 firewalld 开放端口的核心就三步:

  1. 用 --permanent --add-port=端口号/tcp 添加永久规则
  2. 执行 firewall-cmd --reload 重载生效
  3. 用 firewall-cmd --list-ports 确认结果

记住这三个关键点,基本不会踩坑。Web 服务常用的 80 和 443 端口开放之后,外部才能正常访问你的网站。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-5 08:17 

CentOS7 firewalld开放80、443端口永久生效命令

前言

刚装好 CentOS7 服务器,部署完 Nginx 网站后,外网却访问不了?十有八九是防火墙没放行端口。CentOS7 默认用 firewalld 代替了旧版的 iptables,很多刚接触的朋友不太熟悉操作。本文就详细讲解如何在 CentOS7 上永久开放 80、443 等常用端口,以及操作中容易踩的坑。

操作步骤

1. 检查 firewalld 运行状态

首先确认防火墙服务是否正在运行:

systemctl status firewalld

如果显示 active (running) 说明防火墙已启动。如果没启动,先启动它:

systemctl start firewalld
systemctl enable firewalld

2. 查看当前已开放的端口

firewall-cmd --list-ports

这个命令会列出当前防火墙放行的所有端口。

3. 永久开放 80 端口

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

参数说明:

  • --permanent:永久生效,不加这个参数重启防火墙后就失效
  • --add-port=80/tcp:开放 80 端口,协议为 TCP

4. 永久开放 443 端口

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

5. 同时开放多个端口

如果需要一次性开放多个端口,可以这样写:

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

6. 开放端口范围

如果要开放一整段端口,比如 3000 到 4000:

firewall-cmd --permanent --add-port=3000-4000/tcp

7. 重载防火墙使配置生效

修改完规则后,必须重载才能生效:

firewall-cmd --reload

8. 验证端口是否开放成功

firewall-cmd --list-ports

如果输出里能看到 80/tcp 443/tcp 就说明开放成功了。

9. 移除开放的端口(如果需要)

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

常见坑

坑1:忘了加 --permanent 参数

很多朋友执行了 firewall-cmd --add-port=80/tcp,当时测试是通的,但重启服务器或者重启防火墙后就又不通了。原因就是没加 --permanent,这种方式只是临时生效,重启后规则丢失。

解决: 开放端口时一定要加 --permanent 参数,然后执行 firewall-cmd --reload 重载配置。

坑2:改完规则忘了 reload

执行完 --add-port 后,规则只是写入了配置文件,还没有真正生效。必须执行 firewall-cmd --reload 才能让新规则生效。

坑3:以为开放了端口就一定能访问

防火墙只是第一道关卡。如果网站还是访问不了,还要检查:

  1. Nginx/Apache 是否启动并监听了对应端口
  2. 安全组(云服务器)是否也放行了端口
  3. 服务器内部的应用是否正常运行

坑4:用了 iptables 命令却不生效

CentOS7 默认是 firewalld 管理防火墙,如果你用 iptables 命令添加规则,firewalld 重启后会把规则覆盖掉。要么用 firewalld 命令,要么先关掉 firewalld 再用 iptables。

总结

CentOS7 开放端口的核心命令就是三步:

  1. firewall-cmd --permanent --add-port=端口号/tcp 添加规则
  2. firewall-cmd --reload 重载生效
  3. firewall-cmd --list-ports 验证结果

记住 --permanent 和 --reload 这两个关键点,90% 的问题都能解决。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-5 07:23 

CentOS7 firewalld开放80、443端口永久生效命令

CentOS 7 默认使用 firewalld 作为防火墙管理工具。很多新手搭建网站后发现外网访问不了,90% 都是因为 80、443 端口没开放。下面是完整的操作步骤,照抄就能用。

1. 先确认防火墙状态

systemctl status firewalld

如果显示 active (running) 说明防火墙正在运行,需要继续下面的操作。如果是 inactive 那就是防火墙没开,问题不在这里。

2. 开放 80 端口(HTTP)

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

参数说明:

  • --zone=public:作用域为公共区域
  • --add-port=80/tcp:开放 80 端口,TCP 协议
  • --permanent:永久生效,不加这个重启服务器就失效了

3. 开放 443 端口(HTTPS)

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

4. 一次性开放多个端口

如果需要同时开放多个端口,可以一条命令搞定:

firewall-cmd --zone=public --add-port=80/tcp --add-port=443/tcp --permanent

5. 重载防火墙使配置生效

⚠️ 重点:开放端口后必须重载,否则不生效!

firewall-cmd --reload

6. 查看已开放的端口

确认一下端口有没有真正开放成功:

firewall-cmd --list-ports

正常会输出类似:

80/tcp 443/tcp

7. 常用其他端口开放命令

SSH 端口(默认22,建议改成别的):

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

MySQL 端口(如果需要远程连接数据库):

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

Redis 端口:

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

8. 移除/关闭已开放的端口

如果某个端口不需要了,想关掉:

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

常见坑

  1. 加了 --permanent 还是不生效?
    忘记 firewall-cmd --reload 了。永久配置写入后必须重载才会加载到运行时。

  2. 端口开放了还是访问不了?
    检查云服务商的安全组(阿里云/腾讯云/华为云都有这个东西),防火墙和安全组是两层,都要开。

  3. firewalld 命令找不到?
    CentOS 7 最小化安装可能没装,执行 yum install firewalld -y 安装。

  4. 临时开放端口(重启就失效)
    去掉 --permanent 参数就是临时开放,重启或 reload 后自动关闭。


遇到服务器、Nginx、MySQL 报错,可以加微信远程协助排查问题。


emer 发布于  2026-10-4 19:22 

Linux 防火墙配置技巧

Linux 防火墙配置技巧

服务器安全第一步就是配好防火墙,只开需要的端口,其他全关。

1. firewalld(CentOS 7+ 默认)

# 查看状态
firewall-cmd --state

# 查看已开放端口
firewall-cmd --list-ports

# 开放端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp

# 开放多个端口
firewall-cmd --permanent --add-port=8000-9000/tcp

# 开放指定 IP 访问
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' port protocol='tcp' port=3306 accept"

# 重载配置(必须重载才生效)
firewall-cmd --reload

# 删除端口
firewall-cmd --permanent --remove-port=8080/tcp

2. ufw(Ubuntu 默认)

# 查看状态
ufw status

# 开启防火墙
ufw enable

# 允许 SSH
ufw allow 22

# 允许 80 和 443
ufw allow 80
ufw allow 443

# 允许指定 IP
ufw allow from 192.168.1.100 to any port 3306

# 拒绝某个 IP
ufw deny from 1.2.3.4

# 删除规则
ufw delete allow 8080

3. iptables(经典)

# 查看规则
iptables -L -n

# 允许 22 端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许 80 端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# 允许本地回环
iptables -A INPUT -i lo -j ACCEPT

# 允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 默认拒绝其他
iptables -P INPUT DROP

# 保存规则(CentOS)
service iptables save

4. 安全建议

  • 只开必要端口:SSH、HTTP、HTTPS,其他全关
  • SSH 改端口:不要用默认 22,改成其他端口
  • 限制 SSH 登录 IP:只允许你的 IP 登录 SSH
  • 数据库不对外暴露:MySQL、Redis 只允许本地访问
  • 定期查看日志:/var/log/secure 看有没有暴力破解

5. 常用端口速查

  • 22:SSH
  • 80:HTTP
  • 443:HTTPS
  • 3306:MySQL
  • 6379:Redis
  • 8080:应用端口

总结

Linux 防火墙核心:

  • CentOS 用 firewalld
  • Ubuntu 用 ufw
  • 只开必要端口
  • 数据库不对外暴露
  • SSH 限制 IP 访问

配好防火墙,服务器安全提升一大截。


emer 发布于  2026-10-4 10:52 
'); })();