Linux修改iptables怎么操作,iptables修改后如何永久生效?

Linux iptables 修改指南

iptables 是 Linux 系统中一个强大的防火墙工具,用于通过配置规则来过滤网络数据包,它基于表(Table)链(Chain)规则(Rule)三个层级进行工作。

基础语法结构

iptables 的基本命令格式如下:
iptables [-t 表名] 命令 [链名] [匹配条件] [-j 动作]

Linux命令之iptables、nftables
加载中
Linux命令之iptables、nftables
  • 常用表(Table)
    • filter:默认表,用于过滤数据包(最常用)。
    • nat:用于网络地址转换(如端口转发)。
    • mangle:用于修改数据包内容。
  • 常用链(Chain)
    • INPUT:处理进入本机的数据包。
    • OUTPUT:处理本机发出的数据包。
    • FORWARD:处理经由本机转发的数据包。
  • 常用动作(Target)
    • ACCEPT:允许通过。
    • DROP:直接丢弃,不给发送方任何响应。
    • REJECT:拒绝通过,并向发送方发送错误响应。
    • Linux修改iptables怎么操作,iptables修改后如何永久生效?

    • LOG:记录日志。

常用管理命令

在修改规则前,建议先查看当前状态:

  • 查看所有规则(详细模式)
    iptables -L -n -v

    • -L:列出规则。
    • -n:以数字形式显示 IP 和端口,不进行 DNS 解析(速度快)。
    • -v:显示详细信息(如数据包计数)。
  • 查看规则行号(方便删除特定行):
    iptables -L --line-numbers
  • 清空所有规则
    iptables -F
  • 设置默认策略(例如将所有输入默认设为允许):
    iptables -P INPUT ACCEPT

常见修改场景示例

1 端口管理

  • 开放特定端口(如 SSH 22端口)
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • 开放 HTTP/HTTPS 端口(80 和 443)
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT

    Linux修改iptables怎么操作,iptables修改后如何永久生效?

  • 关闭/禁止特定端口
    iptables -A INPUT -p tcp --dport 8080 -j DROP

2 IP 地址管理

  • 允许特定 IP 访问本机
    iptables -A INPUT -s 192.168.1.100 -j ACCEPT
  • 禁止特定 IP 访问本机
    iptables -A INPUT -s 192.168.1.200 -j DROP
  • 允许特定网段访问
    iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

3 状态管理(维持已建立的连接)

为了防止在设置防火墙时把自己锁在外面,通常需要允许已建立的连接继续通信:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


删除与插入规则

  • 插入规则到指定位置(优先级高于 Append):
    iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
    (将规则插入到 INPUT 链的第一行)
  • 根据行号删除规则
    iptables -D INPUT 2
    (删除 INPUT 链的第二条规则)

Linux修改iptables怎么操作,iptables修改后如何永久生效?

保存规则(持久化)

iptables 的命令在执行后立即生效,但重启后会丢失,需要将其保存到配置文件中。

  • Ubuntu/Debian 系统
    安装 iptables-persistent 工具:
    sudo apt-get install iptables-persistent
    保存当前规则:
    sudo netfilter-persistent save
  • CentOS/RHEL 系统
    使用 iptables-services
    service iptables save
    或执行:
    iptables-save > /etc/sysconfig/iptables

安全操作建议

  • 备份优先:在进行大规模修改前,先备份当前规则:
    iptables-save > iptables_backup.txt
  • 顺序至上iptables从上到下匹配的,一旦匹配成功就不再往下走,请确保“允许”规则在“拒绝”规则之前。
  • 防止锁死:在设置 INPUT 链默认策略为 DROP 之前,务必先执行允许 SSH 端口的命令,否则将无法远程连接服务器。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/493094.html

(0)
Linux软件招聘要求高吗,Linux开发工程师就业前景怎么样?
上一篇 2026年7月14日 04:05
CDN加速一定要用HTTPS吗?CDN与HTTP配置优化指南
下一篇 2026年7月14日 04:06

相关推荐

  • Linux培训课程学什么好?linux入门到精通视频教程

    Linux培训课程的核心价值在于通过系统化的命令实操与底层原理讲解,帮助学习者从零基础快速掌握服务器运维、自动化部署及云计算技能,从而显著提升在IT行业的就业竞争力与薪资水平,选择一门合适的Linux课程,不仅仅是学习几个命令,更是构建一套完整的系统思维,对于初学者而言,面对海量的教程往往无从下手,而专业的培训……

    2026年7月12日
    17600
  • Linux基准测试怎么做?服务器性能测试工具推荐

    Linux基准测试的核心在于通过Sysbench、UnixBench等工具量化CPU、内存、磁盘I/O及网络性能,建议根据业务场景(如高并发Web或数据库)选择对应测试项,并关注多核利用率与IOPS指标以评估服务器真实承载力,在云计算和容器化技术普及的今天,服务器性能不再是一个黑盒,无论是自建机房还是使用公有云……

    2026年7月8日
    19200
  • Linux真的适合新手学习吗?linux适合学习吗

    Linux不仅免费开源,更是掌握服务器运维、云计算及人工智能底层逻辑的必经之路,对于追求技术深度的开发者而言,它是性价比最高的学习起点,很多人提到Linux,第一反应是黑底白字的命令行,觉得枯燥难懂,这种刻板印象源于对现代Linux发行版的不了解,如今的Linux早已不是那个只属于黑客的极客玩具,而是支撑起互联……

    2026年7月8日
    9900
  • linux任意字符怎么输入?linux命令中特殊字符转义方法

    Linux中处理任意字符的核心在于理解Shell的转义机制与引号规则,通过单引号、双引号、反斜杠及通配符的灵活组合,即可精准控制特殊字符的解析行为,在Linux系统日常运维与脚本开发中,”任意字符”的处理往往是新手最容易踩坑的环节,这里的“任意字符”不仅指普通的字母数字,更涵盖了空格、引号、星号、问号、美元符号……

    2026年7月5日
    6500
  • Linux shell乘法怎么算?shell脚本乘法运算方法

    在Linux Shell中进行乘法运算,最常用且高效的方法是使用双括号(( ))算术扩展、$(( ))算术求值或expr命令,其中双括号语法因支持复杂逻辑和直接赋值而成为现代脚本开发的首选方案,许多刚接触Linux命令行的用户往往对变量运算感到困惑,尤其是当需要处理整数乘法时,直接使用星号(*)不仅会触发通配符……

    2026年7月6日
    19500
  • Linux安装autoconf报错怎么办?autoconf安装教程

    在Linux系统中安装autoconf最直接的方式是通过包管理器执行sudo apt install autoconf或sudo yum install autoconf,这能自动解决依赖关系并快速完成部署,为什么开发者需要掌握autoconf安装与配置在开源软件生态中,autoconf扮演着构建系统的“翻译官……

    2026年7月4日
    7000
  • linux休眠流程是怎样的?linux系统休眠命令

    Linux休眠流程的核心在于将系统内存状态完整保存至交换分区或文件,随后切断电源或进入低功耗状态,唤醒时再从存储介质恢复数据至内存,实现“瞬间回到断点前状态”的体验,很多Linux用户常把“休眠”(Hibernate)和“挂起”(Suspend)混为一谈,这直接导致了电池焦虑或数据丢失,挂起只是把数据留在RAM……

    2026年7月9日
    1710
  • Linux磁盘个数怎么查?如何查看Linux系统磁盘数量

    Linux系统中磁盘个数并非固定不变,而是由物理硬件、RAID配置及虚拟化层共同决定的动态指标,通常通过lsblk或fdisk命令即可快速查看,在服务器运维和云资源管理的日常场景中,准确掌握磁盘数量是进行存储规划、性能调优以及故障排查的基础,很多初学者容易将“物理磁盘”、“逻辑卷”和“分区”混淆,导致在配置LV……

    2026年7月4日
    14600
  • Linux mutex lock如何正确使用?Linux互斥锁详解

    Linux mutex lock 是内核中用于保护共享资源、防止多线程并发竞争导致数据损坏的核心同步原语,其核心机制是通过原子操作将线程状态在“未锁定”与“睡眠等待”之间切换,确保同一时刻只有一个线程能访问临界区,在多核处理器普及的今天,并发编程已成为软件开发的常态,当多个线程试图同时修改同一块内存数据时,如果……

    2026年7月5日
    14700
  • Linux PAM tally如何配置?linux pam模块详解

    Linux PAM Tally是系统底层的安全机制,通过限制用户登录失败次数来防止暴力破解,配置得当可显著提升服务器安全性且无需额外购买软件,在Linux系统的安全加固中,身份验证是最关键的一环,许多管理员面对服务器被暴力破解时,往往只想到修改防火墙规则或升级SSH端口,却忽略了操作系统内核自带的防御武器,PA……

    2026年7月6日
    19300

发表回复

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