当前位置:首页 > 云服务器 > 正文

linux服务器防火墙设置

nux 服务器防火墙设置常用工具有iptables和firewalld,可通过添加规则允许/拒绝特定端口、IP访问,并保存配置。

是关于Linux服务器防火墙设置的详细说明:

主流工具选择

根据不同的Linux发行版,常用的防火墙管理工具包括:

linux服务器防火墙设置 第1张

  • iptables(传统工具,适用于多数旧系统)
  • firewalld(CentOS/RHEL 7+默认支持,基于区域概念动态管理)
  • ufw(Ubuntu/Debian简化版界面,命令更友好)

可通过以下命令判断当前使用的防火墙类型:

linux服务器防火墙设置 第2张

systemctl status firewalld # 检查firewalld状态 systemctl status iptables # 检查iptables状态

使用iptables配置规则

基础操作示例:

功能 命令示例 说明
查看现有规则 iptables -L -n -v 以数字格式详细显示所有规则
清空所有规则 iptables -F 谨慎使用!会删除全部现有规则
设置默认策略 iptables -P INPUT DROP 拒绝所有入站流量(推荐安全策略)
允许SSH连接 iptables -A INPUT -p tcp --dport 22 -j ACCEPT 放行TCP协议的22端口(SSH服务)
开放HTTP/HTTPS访问 iptables -A INPUT -p tcp --dport 80,443 -j ACCEPT 同时允许80和443端口的Web服务
屏蔽特定IP地址 iptables -A INPUT -s 192.168.1.100 -j DROP 阻止来自指定IP的所有请求
保存规则至文件 iptables-save > /etc/iptables/rules.v4 CentOS/RHEL系统持久化配置;Ubuntu需手动执行此命令

注意事项:

  • 规则顺序至关重要:iptables按顺序匹配规则,应将允许的规则前置,拒绝规则后置。
  • 测试前保留SSH通道:避免因误操作导致无法远程登录服务器。
  • 启用日志记录:通过iptables -A INPUT -j LOG --log-prefix "iptables-dropped: "记录被拦截的流量详情。

使用firewalld配置规则

常用命令速查表:

操作 命令示例 作用说明
查看状态 firewall-cmd --state 显示防火墙运行状态(running/not running)
查看已开放端口 firewall-cmd --list-ports 列出当前允许的端口号及协议
永久添加端口 firewall-cmd --permanent --add-port=80/tcp 持久化开放80端口的TCP服务
移除端口规则 firewall-cmd --remove-port=8080/tcp --permanent 删除之前添加的8080端口规则
允许特定IP访问 firewall-cmd --add-source=192.168.1.100/32 --permanent 授权单个IP地址的全部通信
禁止特定IP访问 firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100/32" reject' --permanent 通过富规则实现复杂策略
重载配置生效 firewall-cmd --reload 使修改后的参数立即生效

优势特性:

  • 区域划分:默认提供public、internal等预设区域,方便分类管理不同网络环境。
  • 服务绑定:直接关联系统服务名称(如--add-service=http),而非仅依赖端口号。
  • 动态更新:无需重启服务即可应用新规则。

使用ufw配置规则(适用于Ubuntu/Debian)

典型应用场景:

sudo ufw enable # 启动防火墙并加载默认策略(通常为入站拒绝) sudo ufw allow 22/tcp # 允许SSH远程连接 sudo ufw allow 80,443/tcp # 同时开放HTTP和HTTPS服务 sudo ufw deny from 192.168.1.100 # 封禁指定IP的所有请求 sudo ufw status numbered # 查看带序号的规则列表便于批量管理

最佳实践建议

  1. 最小权限原则:仅开放必要端口和服务,其余全部拒绝。
  2. 定期审计规则:使用iptables -L或firewall-cmd --list-all检查异常条目。
  3. 备份与恢复:重要操作前备份配置文件(如iptables-save > backup.conf)。
  4. 日志监控:结合journalctl -u firewalld分析攻破尝试记录。

相关问题与解答

Q1: 如果误删防火墙规则导致无法远程登录怎么办?

A: 若物理机旁可直接操作控制台,则重新配置网卡或使用急救模式修复;如果是云服务器,建议通过VNC控制台登录后恢复默认规则,紧急情况下可临时关闭防火墙:systemctl stop firewalld或ufw disable。

Q2: firewalld和iptables能否共存?

A: 两者底层均基于Netfilter框架,但上层管理方式不同,同一时刻只能选择一个作为主控工具,可通过systemctl disable firewalld切换至纯iptables模式,反之亦

linux服务器防火墙设置 第3张

0