使用代理或 iptables 重定向流量的最簡單方法是什麼?

使用代理或 iptables 重定向流量的最簡單方法是什麼?

我需要將連接埠 7777 上的所有傳入流量重新導向到特定的 destination_ip:port。

我有大約 40 個萊特幣 (scrypt) 採礦設備,每次我想切換硬幣或礦池時,我都必須手動重新配置它們。相反,我希望能夠修改代理盒上的目標地址來引導農場。

我目前正在使用 Dante 代理,它有一個看起來很完美的重定向模組。然而我沒有 400 美元可以花在這個模組上。此外,Dante 似乎每次連接都會佔用大量記憶體。

另外,我沒有使用代理,而是嘗試使用 iptables 作為解決方案,但收到錯誤:

root@xx:~# iptables -t nat -A PREROUTING -p tcp -d x.x.x.x --dport 7777 -j DNAT --to x.x.x.x:7777
root@xx:~# iptables -t nat -A POSTROUTING -d x.x.x.x -j MASQUERADE
iptables: No chain/target/match by that name.

我無法讓它發揮作用,我也不確定這是否能成為我所追求的解決方案。

任何關於如何最好地實現我想要的結果的想法都會很棒!

答案1

試試這個,

iptables -t nat -A PREROUTING -p tcp -d x.x.x.x --dport 7777 -j DNAT --to-destination y.y.y.y:port

您需要提供指定為參數的目的地和端口to-destination

答案2

編輯:如果您做了一些「髒」更改(您嘗試了不起作用的事情),請重新啟動 iptables 以清理它們。如果您儲存了更改,即使它們不起作用,那麼您應該-D在嘗試添加更多規則之前清除這些規則(使用選項)。


首先,請確保您接受傳入的資料包:

iptables -A INPUT -p tcp --dport 7777 -j ACCEPT

然後重定向流量(考慮-I在開頭插入規則;有時比將規則附加到鏈更好):

iptables -A PREROUTING -t nat -p tcp --dport 7777 -j DNAT --to-destination <destination_ip>:<destitation_port>

您可以檢查剛剛新增的規則(您應該看到類似的內容DNAT [...] tcp dpt:7777 to:<destination_ip>:<destitation_port>,並且可能您不應該看到PREROUTING與該特定連接埠相關的鏈中的其他規則):

iptables -L -n -t nat

如果一切正常,請務必記住儲存您的變更(否則,您將在重新啟動後遺失規則):

service iptables save

相關內容