我需要将端口 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