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
承認された回答:
-j REDIRECT
自分のマシンにリダイレクトします。リモートマシンの別のポートにリダイレクトする場合は、-j DNAT --to-destination :23
を使用します。