我需要將連接埠 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