私は3台のマシンを持っています:ローカルPC(パブリックIP 1.2.3.4)、データセンターのUbuntu 10サーバーボックス(5.6.7.8パブリックIPのeth0)、およびネットワーク外のWebサイトをホストしているサードパーティサーバー(たとえば、 216.34.181.45のスラッシュドット)。
PC ----- Ubuntu 10 Server ----- Slashdot
(1.2.3.4) (5.6.7.8) (216.34.181.45)
UbuntuでIP転送を有効にします。
echo 1 > /proc/sys/net/ipv4/ip_forward
次のルールを追加します。
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j DNAT \
--to-destination 216.34.181.45:80
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 5.6.7.8
番号。
Ubuntuに動的IPがある場合は、MASQUERADEを使用する必要があります。
iptables -t nat -A POSTROUTING -j MASQUERADE
この場合は、Ubuntuで次のコマンドを実行して、SSHローカルポートフォワーディングを使用することもできます。
$ ssh -L 5.6.7.8:8080:216.34.181.45:80 -N [email protected]
これを行う別の(またはそれ以上の)方法があります。 rinetd を見てください。
Name : rinetd
Arch : i386
Version : 0.62
Release : 6.el5.art
Size : 41 k
Repo : installed
Summary : TCP redirection server
URL : http://www.boutell.com/rinetd
License : GPL
Description: rinetd is a daemon which redirects TCP connections from one IP address
: and port to another IP address and port. This daemon is often used to
: access services behind a firewall.
設定は非常に簡単です。以下の行を/etc/rinetd.conf
に追加します。
5.6.7.8 8080 216.34.181.45 80
そして開始:
# /etc/init.d/rinetd start
Starting rinetd: [ OK ]
それはあなたのためにすべてを行います。