一、iptables基础知识
iptables是Linux系统中的一款用于数据包过滤、封堵、重定向等功能的工具。iptables在一个包含多个网络接口和多个协议的环境中发挥着重要的作用。
在iptables规则表中,可以定义以下几个链:
- INPUT:用于进入本地计算机的数据包
- OUTPUT:从本地计算机传出的数据包
- FORWARD:在本地计算机转发的数据包
- PREROUTING:在路由之前对数据包进行处理
- POSTROUTING:在路由之后对数据包进行处理
iptables命令的基本语法:
iptables [-t 表名] 选项 数据链 目标匹配规则 执行操作
二、iptables规则表的保存
在Linux系统中,iptables的规则会随着系统重启而消失。因此,为了保证规则不丢失,需要将规则保存到文件中。iptables规则的保存可以使用以下两种方式:
- 手动保存 iptables-save
- 使用系统服务systemd
1、手动保存
iptables-save命令将当前iptables的规则保存到文件中。
iptables-save > /etc/sysconfig/iptables
将iptables规则保存到默认文件 /etc/sysconfig/iptables。
2、使用systemd保存iptables规则
systemd是Linux系统中的一个系统管理守护进程。在一些Linux发行版中,systemd提供了一个名为iptables.service的服务,可以用于自动保存iptables规则。
要使用systemd保存iptables规则,可以使用以下命令:
systemctl enable iptables.service
systemctl start iptables.service
该命令启用iptables服务,并在下次系统启动时自动保存iptables规则。
三、iptables规则表的加载
在Linux系统中,使用iptables命令加载已保存的iptables规则。iptables规则的加载可以使用以下两种方式:
- 手动加载
- 使用systemd
1、手动加载
使用iptables命令手动加载规则。
iptables-restore < /etc/sysconfig/iptables
这个命令会从 /etc/sysconfig/iptables 中读取规则,并且使用iptables命令加载规则。
2、使用systemd自动加载
systemd可以在系统启动时自动加载iptables规则。要自动加载iptables规则,可以使用以下命令:
systemctl enable iptables.service
该命令会启用iptables.service服务,使得iptables规则在下次系统启动时自动加载。
总结
iptables是一个功能强大的Linux系统防火墙工具。为了保证iptables规则不丢失,需要将规则保存到文件中。保存iptables规则的方式有手动保存和使用systemd。手动加载iptables规则的方式和保存规则类似。使用systemd可以在系统启动时自动加载规则。