smb 連接埠上的 iptables DNAT 失敗,在 PREROUTING 上命中,但在 POSTROUTING 上沒有命中

smb 連接埠上的 iptables DNAT 失敗,在 PREROUTING 上命中,但在 POSTROUTING 上沒有命中

我運行的是 Ubuntu 20.04。它透過將指向本機電腦的連接埠8080 的http 請求轉送到另一台電腦的連接埠80 來正常運作。它失敗了。在 PREROUTING 中只有命中,但在 POSTROUTING 中沒有命中。 iptables 指令如下:

sudo iptables -t nat -A PREROUTING -p tcp --match multiport --dports 445,137,138,139 -j DNAT --to-destination 192.168.10.162
sudo iptables -t nat -A POSTROUTING -d 192.168.10.162 -j MASQUERADE

執行 $sudo iptables -t nat -L -v 後,顯示以下內容:

Chain PREROUTING (policy ACCEPT 3981 packets, 847K bytes)
 pkts bytes target     prot opt in     out     source               destination
   60  3156 DNAT       tcp  --  any    any     anywhere             anywhere             multiport dports netbios-ns,netbios-dgm,netbios-ssn,microsoft-ds to:192.168.10.162

Chain INPUT (policy ACCEPT 604 packets, 86773 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 57 packets, 4781 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 57 packets, 4781 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 MASQUERADE  all  --  any    any     anywhere             192.168.10.162

Ubuntu 20.04 連接到一個交換機,該交換機連接到另一台 Linux 電腦所連接的另一個交換器。我使用與Ubuntu 20.04連接到同一交換器的Win10 PC來存取Ubuntu 20.04。

答案1

我很遺憾地告訴大家,我犯了一個低級錯誤。我忘記在 Linux 機器上啟用 IPFORWARD。我跑完之後

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

有用。

相關內容