Iptables
nftables dnat 轉發無法正常工作
再會,
我目前正在從 iptables 遷移到 nftables。問題是我的 systemd 容器在 NAT 後面執行,但我想將 443 或 80 等埠轉發給它們。使用以下命令集時沒有錯誤消息,但使用 nftables 時也無法訪問我的 Web 伺服器。
提前謝謝了。
最好的問候, 菲利克斯
編輯:有用的評論解決了這個問題。謝謝!
感謝 Roman Ivanov 的有用
nft monitor
。NAT 不起作用,因為我在過濾器轉發結束時使用此規則:
iifname wan0 reject
在鏈 NAT 中,您需要規則:
NAT => 預路由
nft add rule nat prerouting iifname wan0 tcp dport { 80, 443 } dnat 192.168.0.10
在鏈過濾器中,您需要規則:
過濾器 => 轉發
nft add rule filter forward iifname wan0 oifname lan0 ip daddr 192.168.0.10 tcp dport { 80, 443 } accept
以下是您可以採取的一些步驟:
- 鍵入 nat hook 預路由優先級 0;<-根據 NF_IP_PRI_NAT_DST 網路過濾器常數,應為 -100(減去一百)
- 在預路由中使用“meta nftrace set 1”和“nft monitor”來調試數據包流
- 隔離問題並舉例說明的最簡單規則集
我也沒有工作 dnat。從一個 iface 都可以,但從另一個不行。
數據包進入預路由,接受 dna 但這之後沒有任何反應。“Conntrac -E”看不到這些包。