Debian 使用 iptables-persistent 持久化 iptables 规则

RedHat系列下有比较好用的iptables管理工具,可以像控制服务进程一样来对防火墙进行管理及控制,Debian系发行版默认不开启iptables,当然也没有与之相关的能直接管理的工具了。

正常情况下,我们写入的iptables规则将会在系统重启时消失。即使我们使用iptables-save命令将iptables规则存储到文件,在系统重启后也需要执行iptables-restore操作来恢复原有规则。

当然,你也可以通过在network中的if.post.up.d中配置启动规则来达到开机自动启动iptables的目的。

这里我们有一个更好的iptables持久化方案,让防火墙规则重启后依旧有效。即使用iptables-persistent工具。

首先,安装iptables-persistent

$ sudo apt-get install iptables-persistent

iptables-persistent指令使用语法

  • Ubuntu 14.04

$ /etc/init.d/iptables-persistent

Usage: /etc/init.d/netfilter-persistent {start|restart|reload|force-reload|save|flush}

  • Ubuntu 16.04

$ /etc/init.d/netfilter-persistent

Usage: /etc/init.d/netfilter-persistent {start|restart|reload|force-reload|save|flush}

安装完后即可使用以下命令保存或载入规则:

  • Ubuntu 14.04

$ sudo invoke-rc.d iptables-persistent save

$ sudo invoke-rc.d iptables-persistent reload

或者

$ sudo /etc/init.d/iptables-persistent save

$ sudo /etc/init.d/iptables-persistent reload

  • Ubuntu 16.04

$ sudo netfilter-persistent save

$ sudo netfilter-persistent reload

通过iptables-persistent生成的规则默认将被存储在以下文件中

/etc/iptables/rules.v4

/etc/iptables/rules.v6

一键清除iptables规则

$ cat clear_iptables_rule.sh

#!/bin/bash

iptables -F

iptables -X

iptables -Z

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT


原文发布时间:2017-05-28
本文来自云栖社区合作伙伴“Debian社区”,了解相关信息可以关注“Debian社区”。
上一篇:UI2CODE系列文章|如何批量制造高质量样本


下一篇:Redis专题(3):锁的基本概念到Redis分布式锁实现