簡體   English   中英

debian 8 iptables 持久化

[英]debian 8 iptables-persistent

我有 VPS Debian 8 jessie x64 穩定版。 安裝后,我嘗試配置 iptables(如在 debian 7 中)。

apt-get install iptables-persistent

執行成功,安裝了一些數據包。 但是當我嘗試

service iptables-persistent start

我收到一個錯誤,說 thar service iptables-persistent unrecognized

住手!

持久 IP 表 Debian/Ubuntu

要保留對 iptables 規則所做的任何更改,請執行以下操作。

安裝 iptables-persistent:

sudo apt-get install -y iptables-persistent

對 iptables 規則進行任何您想要的更改,例如

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

然后運行

sudo dpkg-reconfigure -y iptables-persistent

現在重新啟動后規則應該仍然存在。

額外信息

dpkg-reconfigure 只會導致 iptables-persistent 再次執行它在安裝時所做的事情,即使用如下命令將當前 iptables 保存到文件中:

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

iptables-persistent 包使操作系統在重新啟動時運行如下內容。

iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6

希望這可以幫助 : )

我也偶然發現了 OP 的問題(然后是他的問題); 查看 iptables-persistent包描述時找到了解決方案。 新界面似乎是 netfilter-persistent,即使用,例如:

# invoke-rc.d netfilter-persistent save

至少這對我有用,HTH ...

2016 年 8 月 7 日更新:這取決於發行版。 不知道 OP 發行版是否有 netfilter-persistent 包,輸入了以下評論內容。 我很抱歉。 我的筆記本電腦發行版 (Mint) 不包含 netfilter-persistent 包,而我的服務器發行版 (Ubuntu 15+) 包含。

原始答案:正如 Oliver 正確所說,netfilter-persistent 替換了 Ubuntu 中的 iptables-persistent。 適用於 Ubuntu 15.04 的內容如下:

安裝它,然后確保它作為服務運行: service --status-all | grep netfilter-persistent service --status-all | grep netfilter-persistent

如果不作為服務運行,請始終使用以下命令啟動它: invoke-rc.d netfilter-persistent start

然后,您必須將腳本放置在網絡或其接口停止時將運行的地方。 重要的腳本內容很簡單: invoke-rc.d netfilter-persistent save

我將腳本放在/etc/network/if-post-down.d目錄中。 不要忘記將其 chmod 為可執行文件。 如果有可能斷電,您可以為 save 命令創建一個 cron 條目。

iptables-persistent 在 debian wiki 上被多次推薦。

安裝它:

apt install iptables-persistent 

iptables-persistent 創建配置文件並使用包 netfilter-persistent 現在重新加載或保存 iptables 規則

iptables 配置文件位於文件夾中

/etc/iptables/rules.v4
/etc/iptables/rules.v6

主要的管理工具是:

/usr/sbin/netfilter-persistent # you should be root or call sudo to use it

當你想改變 iptable 規則時,編輯配置文件然后重新加載 iptables 規則

netfilter-persistent reload

或者您可以使用 iptables -I INPUT ... 先更改 iptables 規則,然后將其保存到配置文件

netfilter-persistent save

如果你想清除iptables規則,你可以使用flush命令

netfilter-persistent flush 

問題出在 firewalld 服務中。 這是一種與 netfilter(iptables)-persistent 沖突的新防火牆守護進程。

chkconfig firewalld off

現在一切正常。

免責聲明:這不是最佳實踐,只是臨時解決方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM