一定期間、 192.168.10.200/24 のサーバを 192.168.20.200/24 のセグメントに移設することになりました。でもこのサーバは利用者がいるので、なくなると困ります。
この絵だとDNSで名前を付け直せばいいという話もありますが、今回はそういう手を使うわけにはいかなかったので、隣にいる Linux サーバ、 192.168.10.100/24 に 192.168.10.200 のホストも兼ねさせることにしました。
# ifconfig eth0:1 inet 192.168.10.200 netmask 255.255.255.255
いちばんまっとうな手としては 192.168.10.100/24 のマシンに 192.168.10.200 のアドレスを振って、各アドレスごとに別のデーモンを立ち上げることです。でも、できるだけ既存サーバの 192.168.10.100 には手を加えたくなかったので、 192.168.20.200 の目的のポートへ通信がきたときに redirect するようにしました。(酷
# iptables -t nat -A PREROUTING -p tcp --dest 192.168.10.200 --dport 22 -j REDIRECT --to-port 50023
そして、ネットワーク上から 192.168.10.200:22 にアクセスすると、 192.168.10.100:50022 に TCP 接続されるようになりました。今度は、 192.168.10.100:50022 にアクセスが来たら、それを xinetd の TCP リダイレクションでネットワークの果てにある 192.168.20.200:22 に飛ばします。
service hoge-ssh { disable = no socket_type = stream protocol = tcp wait = no user = daemon group = sys redirect = 192.168.20.200 22 }
# echo "hoge-ssh 50022/tcp" >> /etc/services
かなり酷い手ではありますが、とりあえず期間限定なのでOK!
実際には、これをインターネット越しに SSH, HTTP, その他のプロトコルを stunnel で保護しながらトンネルしました。
0 件のコメント:
コメントを投稿