Iptables

使用 netfilter-persistent 偽裝規則

  • September 9, 2019

netfilter-persistent用來管理防火牆。

我想使用偽裝(例如,或其他)共享兩個介面之間的連接。當我通過呼叫iptables它來執行這些操作時。

但是,如果我嘗試更新儲存在/etc/iptables/rules.v4添加這樣一行的防火牆規則:

-t nat -A POSTROUTING -o wlan0 -j MASQUERADE

-t以make開頭的行netfilter-persistent無法執行且防火牆未更新:

Nov 16 11:51:32 helena systemd[1]: netfilter-persistent.service: Main process exited, code=exited, status=1/FAILURE
Nov 16 11:51:32 helena systemd[1]: Failed to start netfilter persistent configuration.

所以我想知道是否可以用netfilter-persistentor儲存這種規則

  • 這是一個已知的限制嗎?
  • 它不能工作有充分的理由嗎?
  • 有沒有讓它工作的黑客?

您可能在過濾表塊中添加了一個用於nat 表的規則,該規則適用於,並且語法不正確。iptables-restore

在您知道如何/etc/iptables/rules.v4直接編輯(通過研究 的輸出iptables-save)之前,您應該這樣做:

  • 小心,因為該規則將立即應用,
  • 更改目前執行的防火牆規則:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
  • 研究結果:它們值得改變配置嗎?
  • 如果值得,要求netfilter-persistent保存規則。它將依次執行將在引擎蓋下iptables-persistent使用的外掛。iptables-save
netfilter-persistent save

您會注意到新的配置文件(一個適合 使用的文件iptables-restore)現在有一個用於nat表的塊,其中包含您的規則(並且沒有),與過濾器表塊-t nat分開。

引用自:https://unix.stackexchange.com/questions/482143