linux墙的正确配置方法有哪些,怎么设置

Linux防火墙是保障服务器安全的核心工具,掌握iptables和nftables的配置方法,能有效抵御多数网络攻击。

Linux防火墙怎么设置?

防火墙的配置并不复杂,关键在于理解规则的方向和顺序,下面从检查状态到添加规则,一步步带你上手。

3分钟快速学会防火墙的配置详细步骤
加载中
3分钟快速学会防火墙的配置详细步骤

检查当前防火墙状态

  • 对于firewalld:systemctl status firewalld,如果显示active (running),说明防火墙正在运行。
  • 对于iptables:iptables -L -n -v,列出所有规则,看是否有明确拒绝或允许。
  • 对于nftables:nft list ruleset,输出当前所有规则集。
  • 对于ufw(Ubuntu):ufw status

如果系统没有安装防火墙,建议先安装一个,CentOS 7默认安装firewalld,Ubuntu 20.04默认安装ufw,但底层仍是iptables/nftables。

使用iptables配置基础规则

iptables操作直观,但需要记住命令格式,以下是一个典型的入站规则链:

  • 允许SSH(22端口):iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • 允许已建立连接和关联连接:iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  • 允许回环接口:iptables -A INPUT -i lo -j ACCEPT
  • 设置默认策略为拒绝:iptables -P INPUT DROP
  • 保存规则:iptables-save > /etc/sysconfig/iptables(CentOS)或iptables-save > /etc/iptables/rules.v4(Debian/Ubuntu)

注意:设置默认DROP前,务必确保已经放行了SSH,否则你会失去连接。

使用firewalld简化配置

firewalld提供了区域和服务的概念,让配置更语义化。

  • 启动firewalld:systemctl start firewalld
  • 设置开机自启:systemctl enable firewalld
  • 查看当前区域:firewall-cmd --get-default-zone
  • 允许HTTP服务:firewall-cmd --permanent --add-service=http
  • 允许自定义端口:firewall-cmd --permanent --add-port=3000/tcp
  • 重新加载使生效:firewall-cmd --reload
  • 查看所有规则:firewall-cmd --list-all

firewalld的优势在于动态更新,不用重启服务,而且它支持rich rule,可以匹配更复杂的条件。

使用nftables配置规则

nftables是新一代防火墙,在RHEL 8/9、Ubuntu 22.04+等系统中成为默认。

  • 安装nftables:yum install nftablesapt install nftables
  • 启动:systemctl start nftables
  • 编写配置文件,/etc/nftables.conf
    table inet filter {
        chain input {
     

    linux墙的正确配置方法有哪些,怎么设置

    type filter hook input priority 0; policy drop; iif lo accept ct state established,related accept tcp dport {22,80,443} accept } chain forward { type filter hook forward priority 0; policy drop; } chain output { type filter hook output priority 0; policy accept; } }
  • 加载配置:nft -f /etc/nftables.conf
  • 查看规则:nft list ruleset

nftables的语法更简洁,支持集合和映射,在大规模规则集下性能更好。

使用ufw(Ubuntu专有工具)

对于Ubuntu Desktop或Server,ufw是入门最快的方式。

  • 启用ufw:ufw enable
  • 允许SSH:ufw allow ssh
  • 允许HTTP/HTTPS:ufw allow 80/tcpufw allow 443/tcp
  • 允许特定IP:ufw allow from 192.168.1.0/24 to any port 22
  • 查看状态:ufw status numbered

ufw实际上生成的是iptables规则,但隐藏了复杂性,适合简单场景。

iptables和nftables哪个好?

对于刚接触Linux防火墙的用户,常会问这个问题,下面从四个维度对比,并给出选型建议。

对比项 iptables nftables
语法风格 命令行参数,链式处理 类C语言规则集,支持变量和集合
性能表现 线性检查,规则多时效率下降 使用哈希表,多数场景性能更优
学习曲线 命令多,但资料丰富,社区经验多 概念新,但语法一致,上手后更清晰
生态系统 老版本系统默认,兼容性好 新系统默认,红帽和Ubuntu均已转向
更新频率 维护模式,功能基本冻结 活跃开发,支持IPset、状态跟踪等新特性

具体案例对比:允许来自192.168.1.0/24的SSH访问。

  • iptables:iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
  • nftables:在规则文件中添加 ip saddr 192.168.1.0/24 tcp dport 22 accept

nftables的语法更紧凑,并且可以将多个IP地址放入一个集合,简化规则。

选型建议:

  • 如果你使用CentOS 7或更早版本,系统内嵌iptables,直接学习iptables即可,无需额外安装。
  • 如果你使用CentOS 8、RHEL 8、Ubuntu 22.04等新系统,默认使用nftables,但系统也提供了iptables兼容层。行业共识认为,新项目推荐直接使用nftables,因为它更快、更现代。
  • linux墙的正确配置方法有哪些,怎么设置

  • 如果你不想深入底层,firewalld可以同时管理iptables和nftables规则,你只需要通过firewalld接口操作,由它选择底层工具。

不同场景下的防火墙配置方案

防火墙的配置不能一概而论,需要根据服务器所处的环境调整策略。

云服务器防火墙配置场景(简米云/酷番云

云服务器通常会提供安全组,这是第一层防护,操作系统防火墙是第二层,两者配合时,需要注意以下要点:

  • 操作系统防火墙的规则不能与安全组矛盾,安全组放行了80端口,但操作系统防火墙默认拒绝,则流量仍会被阻断。
  • 建议操作系统防火墙只放行必要端口,并且针对来源IP做限制,SSH只允许公司IP段访问。
  • 配置示例(firewalld):
    firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" port protocol="tcp" port="22" accept'
    firewall-cmd --reload
  • 对于云服务器,经常需要配置端口转发(如负载均衡器后端),此时防火墙规则要配合DNAT规则。

家庭服务器或NAS

家庭网络环境较为复杂,路由器通常已有NAT,但操作系统防火墙仍可提供额外保护。

  • 开启防火墙,信任内网段:firewall-cmd --permanent --zone=trusted --add-source=192.168.1.0/24
  • 对外网只开放有限端口,如Plex、BT下载端口。
  • 限制ping包:iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
  • 对于NAS,通常需要开放SMB(445)和AFP(548)端口,建议只允许内网访问。

企业内网隔离

企业环境中,Linux服务器常作为网关或内部服务节点,防火墙配置需要更精细。

  • 使用iptables的FORWARD链控制不同子网间的互访。
  • 配置NAT转发实现上网:iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
  • 使用防火墙限制敏感服务(如数据库)只能从特定应用服务器访问。
  • 对于公司内部DNS、DHCP等服务,需要确保防火墙允许相关协议。

开发与测试环境

开发人员经常需要频繁修改端口和规则,建议使用firewalld的运行时配置(不添加–permanent),方便测试。

  • 临时放行端口:firewall-cmd --add-port=3000/tcp
  • 测试完成后可用--remove-port移除,无需重启服务。
  • 也可以在开发机上使用ufw,简化配置流程。

国内Linux服务器防火墙推荐

国内网络环境有自身特点,比如部分运营商屏蔽了常见端口,云服务器厂商会提供安全组服务,下面针对国内Linux服务器给出推荐和配置要点。

linux墙的正确配置方法有哪些,怎么设置

防火墙工具推荐:firewalld依然是首选,因为它在各类国产Linux发行版(如麒麟、统信)上都能良好运行,如果你需要更细粒度的控制,配合nftables使用。

国内云服务器注意事项

  • 简米云、酷番云等云厂商,安全组规则已经实现了类似防火墙的功能,但操作系统防火墙仍然需要配置,用于防止内部横向攻击。
  • 由于国内带宽成本较高,防火墙规则中应尽量避免不必要的日志记录,以免产生额外费用。
  • 对于国内Linux系统防火墙的推荐,多数运维人员会选择firewalld + iptables的组合,因为文档和社区支持最好。
  • 如果使用国产操作系统,如麒麟V10,其内置的防火墙工具兼容firewalld,可以直接使用同一套配置,降低了迁移成本。

地域性配置技巧

  • 如果你的服务器位于国内,且需要对外提供服务,建议使用非标准端口绕过运营商限制(如80端口被封锁时改用8080)。
  • 使用防火墙做端口转发:firewall-cmd --permanent --add-forward-port=port=8080:proto=tcp:toport=80
  • 对于海外服务器,运营商限制较少,但仍需注意防火墙规则要配合安全组。

据工信部相关数据,国内超过半数的企业级Linux服务器已启用防火墙,但在个人用户中比例仍较低。业内专家指出,即使有安全组,操作系统防火墙也不应省略,它提供了最后一道防线。

在价格方面,所有Linux防火墙工具均为开源免费,无需额外授权费用,这是相比商业防火墙的一大优势,对于预算有限的中小企业,Linux防火墙免费方案足够满足日常需求。

防火墙配置不是一次性的工作,需要定期审查规则,删除过期条目,将防火墙配置纳入自动化部署流程,可以避免人为漏配。安全无小事,从配置好第一道防火墙开始。

Linux防火墙常见问题与解答

Q:Linux防火墙会影响服务器性能吗?
A:在规则数量不多时,影响可以忽略,若规则数量达到数千条,建议使用nftables或启用IPset,可以显著提升匹配效率。

Q:如何临时关闭防火墙?
A:使用systemctl stop firewalld可立即关闭,但重启后恢复,需永久关闭用systemctl disable firewalld,注意,关闭防火墙会使服务器面临风险,仅建议在排错时临时使用。

Q:iptables和nftables配置可以共存吗?
A:理论上可以,但可能产生冲突,因为内核中的netfilter只能有一套规则生效,现代系统建议只使用一套工具,通过firewalld统一管理是最稳妥的方式。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/511913.html

(0)
ASPM Linux是什么意思?,怎么设置?
上一篇 2026年7月22日 14:15
2026年GEO优化最新解释是什么,怎么做?
下一篇 2026年7月22日 14:21

相关推荐

  • asp手机网站统计代码怎么加,手机网站统计代码添加方法

    在移动互联网时代,数据是运营决策的唯一依据,对于使用ASP语言开发的移动端站点而言,部署专业的统计代码并配合精细化的手机网站设置,是提升转化率与用户体验的关键闭环,核心结论在于:ASP手机网站的统计不仅仅是代码的简单嵌入,更是一套包含数据采集、参数配置、性能优化与安全防护的系统工程,只有将统计代码与ASP的服务……

    2026年4月4日
    8200
  • ASP.NET主机如何部署到CAE?ASP.NET Core应用部署到CAE

    将ASP.NET Core应用部署到Azure Container Apps(CAE)是解决传统ASP.NET主机性能瓶颈、实现弹性伸缩且降低运维成本的最佳实践,核心在于利用容器化技术结合Kubernetes底层架构实现应用的高可用与自动化管理,传统的ASP.NET主机往往受限于物理服务器的资源上限,当流量突发……

    2026年6月12日
    7400
  • 安全防护装置有哪些,安全防护设施包括什么

    安全防护装置是保障工业生产安全的核心防线,其科学配置与规范管理直接决定了企业能否实现本质安全,有效的安全防护必须建立在风险识别基础上,通过技术手段与管理措施的双重保障,将事故发生率降至最低,现代工业生产中,安全防护装置已从简单的物理隔离发展为集传感、控制、联锁于一体的智能系统,其核心价值在于主动预防而非被动应对……

    2026年3月21日
    11700
  • 服务器虚拟化与物理服务器有什么区别,如何选择?

    服务器虚拟化与物理服务器管理是两种不同的基础设施方案,物理服务器管理强调硬件独立性和资源独占,虚拟化则通过软件层实现资源高效利用;选择哪种方案需根据业务负载、预算和运维能力综合决定,服务器虚拟化与物理服务器对比:核心差异对比维度物理服务器虚拟化服务器性能无虚拟化层开销,适合高性能计算有少量性能损耗,但通过优化可……

    2026年8月4日
    600
  • linux下用什么generator?linux代码生成器推荐

    在 Linux 系统中,“generator”(生成器)这个词可能指代多种不同的工具或概念,具体取决于你的需求,以下是几种常见的“Linux 生成器”类型及其对应工具:系统服务生成器(Systemd Generators)这是 Linux 中最常见的“generator”术语,特指 systemd 的一部分,作……

    2026年7月9日
    12800
  • ASP如何连接查询MySQL数据库?ASP连接MySQL数据库报错怎么办

    ASP连接MySQL数据库的核心在于配置正确的ODBC数据源或使用ADO组件配合特定的驱动程序,通过建立稳定的连接字符串实现数据的高效读写,在传统的Web开发架构中,ASP(Active Server Pages)虽然已不再是主流的前沿技术,但在许多遗留系统维护、企业内部应用以及特定的嵌入式Web场景中,它依然……

    2026年6月14日
    3110
  • 大数据分析受AI冲击有多大?AI如何改变大数据分析行业

    AI技术的深度介入,已不再仅仅是大数据分析领域的辅助工具,而是引发了一场根本性的范式转移,核心结论在于:AI对大数据分析的冲击,本质上是将数据处理从“解释过去”推向“预测未来”与“自动决策”的智能阶段,这一过程重塑了数据价值链条,迫使企业与从业者必须从单纯的技术操作向业务洞察转型,否则将面临被技术浪潮淘汰的风险……

    2026年3月29日
    10900
  • Linux如何快速找到指定进程?查找Linux进程PID的方法

    在Linux系统中,最快找到指定进程的方法是直接使用ps aux | grep 进程名命令,若需实时监控资源占用,则推荐使用top或htop命令进行交互式查看,Linux系统以其稳定性和多任务处理能力著称,但这也意味着后台可能同时运行着成百上千个进程,当系统响应变慢或出现异常时,快速定位目标进程是运维人员的首要……

    2026年7月5日
    17400
  • 在MT4上开个服务器要多少钱,怎么收费?

    在MT4上开个服务器,如果选择自带MT4软件的VPS主机,月付成本通常在50-150美元之间(约合人民币360-1100元),一次性年付还能再省20%左右,如果你要的是从零搭建整套交易平台(含桥接、风控、清算),那预算就得按年计算,这里面水很深,下文会给你拆明白,很多刚接触外汇保证金交易的朋友,常把“MT4服务……

    2026年8月24日
    000
  • 酷番云服务器win2008密码长度是多少位?,密码怎么设置

    腾讯云服务器Windows Server 2008系统的本地管理员密码规则要求至少8位,且必须同时包含大写字母、小写字母、数字和特殊符号中的三类或以上,该标准源自微软默认密码策略passfilt.dll的强制校验,重置密码时最长可设置127位,购买云服务器后首次登录或忘记密码,均可通过控制台重置,整个过程不涉及……

    2026年8月21日
    300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注