iptables v1.4.21:無法載入符合「-d」:沒有這樣的檔案或目錄

iptables v1.4.21:無法載入符合「-d」:沒有這樣的檔案或目錄

我正在運行 kerenl 3.14.18 並使用 iptables 1.4.21,使用這些選項 --static-enable --disable-shared 建置。當我執行此命令: /sbin/iptables -A PREROUTING -m -d 127.3.0.2/24 -j DNAT --to-destination 10.0.0.1 -p udp -dport 69 我收到此錯誤訊息: iptables v1. 4.21:無法載入符合的「-d」:沒有這樣的檔案或目錄

有人可以幫助解釋我所缺少的嗎?先感謝您。

答案1

你好,我有一個有 2 個介面的主機系統,eth0 和 eth1。 eth0 將接收 IP 為 127.3.xx 的封包,我想將這些封包轉送到 eth1 到伺服器 (10.0.1)。 eth1 的 IP 為 192.168.0.100。伺服器需要將封包視為來自主機 (192.168.0.100)。我想我可以刪除 -m 標誌,但是當我這樣做時,我收到此錯誤: iptables v1.4.21: multiple -d flags not allowed

為了實現這一點,您將使用以下 iptables 規則:

iptables -t nat -A PREROUTING -d 127.3.0.2/24 -p udp --dport 69 -j DNAT --to-destination 10.0.0.1 iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.0.100

但您應該將 127.3.0.2/24 替換為單一 IP(即 127.3.0.2)或有效的 CIDR 範圍(例如 127.3.0.0/24)。 127.3.0.2/24 不是有效的 CIDR 範圍,因為 /24 將涵蓋 127.3.0.0-127.3.0.254。這也會將該範圍內的任何 IP 的任何流量重新導向到 10.0.0.1 上的連接埠 69。

另外,由於連接埠69 是TFTP,我覺得有必要提及- 如果您嘗試將其用於PXE 啟動或其他基於DHCP 的解決方案,則它很可能無法工作,因為大多數供應商在使用PXE 遍歷子網時遇到困難。

相關內容