ローカルにあるサーバーにローカルからアクセスしてポートによってリダイレクトするxinetd

hostsファイルだとポートの指定ができないのでUbuntu16にxinetdを入れてポートフォワーディングで別PCにリダイレクトします。

参考
http://poppycompass.hatenablog.jp/entry/2015/09/24/225047

とりあえずインストール
sudo apt-get install xinetd

設定方法参考。
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-ja-4/s1-tcpwrappers-xinetd-config.html

インストール後サービス起動。設定ファイルを編集後リスタートなど。

service xinetd start
service xinetd stop
service xinetd restart

service xinetd status
● xinetd.service – LSB: Starts or stops the xinetd daemon.
Loaded: loaded (/etc/init.d/xinetd; bad; vendor preset: enabled)
Active: active (running) since 金 2020-03-27 10:24:44 JST; 1h 3min ago

プロセスツリーでxinetd経由でサービスの稼働が確認可能だけど、今回はリダイレクトだけ。
pstree -p

sudo vi /etc/hosts
の確認。

参考。設定ファイルを作ります。
http://blog.kourin.org/blog/?p=126
service unlistedで作ることになります。

# http://192.168.xxx.xx:—–
service unlisted
{
disable = no
type = UNLISTED
socket_type = stream
wait = no
protocol = tcp
user = root
port = —–
# bind = 192.168.xxx.xx
redirect = 192.168.xxx.xx —–
}

xx = IPアドレス
—- = ポート番号

redirect
—–引用――――――――
TCP サービスの他ホストへの転送を指定する。 このポートへの接続を xinetd が受け取ったら、プロセスを起動し、 指定されたホストのポート番号への接続を確立し、 二つのホストの間ですべてのデータを転送する。 このオプションは、内部マシンが外界から見えない場合に有用である。 書式は redirect = (IPアドレス) (ポート) である。 IP アドレスの代わりにホスト名を使うこともできる。 ホスト名検索は xinetd が起動した時の一回のみ行われ、 最初に返された IP アドレスが xinetd が再起動されるまで使われる。 このオプションが指定された場合には “server” 属性は必要ではない。 “server” 属性が指定されても、こちらの属性の方が優先される。
—–引用――ここまで――――――

ping -c3 192.168.xxx.xx

でサーバーがが上がっていることを確認。

http://localhost:—–

でアクセスして、ダイレクトできていることを確認。