Debian使用iptables-persistent持久化iptables規則

行者武松發表於2018-03-13

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社群”。


相關文章