每次啟動時都需要還原 iptable 規則嗎?

每次啟動時都需要還原 iptable 規則嗎?

每次我重新啟動時,我都會失去 iptables 規則,這些規則讓我花了很長時間才進入。我知道我可以保存它們並在啟動時恢復它們,但是有什麼辦法可以永遠拯救他們嗎?我真的需要每次啟動時恢復它們嗎?嚴重地?

問題是我有一個龐大的清單我使用 while 循環來加載 IP。

這是我的家庭 FTP 伺服器。它是一個小型虛擬機,具有 1GB 內存,處理能力非常弱。 IP太多了,因為我已經放棄亞洲大陸了。我不需要他們每天用蠻力攻擊我的 FTP 伺服器。我也阻止政府。監視器、追蹤器和垃圾郵件發送者。

這是我用來載入清單的 while 迴圈。

grep INPUT block.list | while read LISTA; do sudo iptables -A $LISTA; done

答案1

apt-get install iptables-persistent

安裝時,它應該會保存您目前的 iptables 配置。否則,您可以將它們保存到這些檔案中(取決於 v4 或 v6),並且 iptables-persistent 將在啟動時載入它們:)

iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6

答案2

首先,建立一個包含以下內容的文件iptables-save

sudo iptables-save > /etc/iptables_rules

將文件放在哪裡並不重要,您所要做的就是確保下一行引用同一個文件。接下來,打開/etc/rc.local並新增此行:

/sbin/iptables-restore < /etc/iptables_rules

從現在開始,每次您的電腦啟動或重新啟動時,iptables 都會從您指定的檔案中載入規則。

答案3

如果您確實有很多規則,您還應該考慮將 ipset 與 iptables 結合使用。 Ipset 使用索引資料庫表,在尋找位址以決定接受或拒絕時比 iptables 快得多。

http://ipset.netfilter.org/index.html

相關內容