我尝试使用 eboard 连接到 FICS 服务器 (http://www.freechess.org),但由于端口 5000 被阻止(公司防火墙),因此失败。但是,我可以通过 telnet 端口 (23) 连接到服务器:
telnet freechess.org 23
(succeeds)
telnet freechess.org 5000
(fails)
不幸的是,端口号是硬编码的(参见此处:http://ubuntuforums.org/archive/index.php/t-1613075.html)。我不想像该帖子的作者那样破解源代码。我可以使用 iptables 转发本地计算机上的端口吗?我尝试过:
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5000 -j REDIRECT --to-port 23
和
sudo iptables -t nat -I OUTPUT --src 0/0 -p tcp --dport 5000 -j REDIRECT --to-ports 23
但这些没有用......
注意:
$ sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere tcp dpt:5000 redir ports 23
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere tcp dpt:5000 redir ports 23
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
答案1
-j REDIRECT
重定向到您自己的计算机。如果您想重定向到远程计算机上的其他端口,请使用-j DNAT --to-destination :23