linuxはrinetdツールによるポートマッピング/転送/リダイレクト
現在、オンライン上に需要があり、あるソースのアドレスにアクセスするには、固定された出口を通って出かける必要があります.では、ここで考えられる転送のいくつかの方法:1.iptablesはポートを転送し、カーネル転送を開く必要があります.iptablesルールをいくつか設定すればいいです.2.rinetdはポートを転送し、転送ルールは反響エージェントやnatに似ており、構成が簡単です.構成エラーが発生しても、ネットワークアクセスの問題は発生しません.rinetdのポート転送リファレンス公式サイトのアドレスを紹介します.https://www.boutell.com/rinetd/下は直接乾物です
プログラムパス/usr/sbin/rinetdプロファイル/etc/rinetdを作成する.conf、コンテンツフォーマット:ソースIPソースポートがジャンプするIPがジャンプするポート;転送するポートを個別の行ごとに指定します.ソースアドレスと宛先アドレスは、ホスト名またはIPアドレスであってもよく、IPアドレス0.0.0.0はrinetdを利用可能な任意のローカルIPアドレスにバインドする:例えば、ホスト81ポートに送信されたすべての要求をアドレスの80ポートに転送する
これでアクセステストができます!本機81ポートへのアクセス要求は全て、宛先IPの80ポートへ転送される
# tar -zxvf rinetd.tar.gz -C /usr/local
# cd rinetd
[root@localhost rinetd]# make
cc -DLINUX -g -c -o rinetd.o rinetd.c
rinetd.c:176: warning: conflicting types for built-in function ‘log’
cc -DLINUX -g -c -o match.o match.c
gcc rinetd.o match.o -o rinetd
[root@localhost rinetd]# make install
install -m 700 rinetd /usr/sbin
install -m 644 rinetd.8 /usr/man/man8
install: cannot create regular file `/usr/man/man8': No such file or directory
make: *** [install] Error 1
[root@localhost rinetd]# mkdir -p /usr/man/
[root@localhost rinetd]# make clean
[root@localhost rinetd]# make
cc -DLINUX -g -c -o rinetd.o rinetd.c
rinetd.c:176: warning: conflicting types for built-in function ‘log’
cc -DLINUX -g -c -o match.o match.c
gcc rinetd.o match.o -o rinetd
[root@localhost rinetd]# make install
install -m 700 rinetd /usr/sbin
install -m 644 rinetd.8 /usr/man/man8
[root@localhost rinetd]#
#
install -m 700 rinetd /usr/sbin
install -m 644 rinetd.8 /usr/man/man8
プログラムパス/usr/sbin/rinetdプロファイル/etc/rinetdを作成する.conf、コンテンツフォーマット:ソースIPソースポートがジャンプするIPがジャンプするポート;転送するポートを個別の行ごとに指定します.ソースアドレスと宛先アドレスは、ホスト名またはIPアドレスであってもよく、IPアドレス0.0.0.0はrinetdを利用可能な任意のローカルIPアドレスにバインドする:例えば、ホスト81ポートに送信されたすべての要求をアドレスの80ポートに転送する
[root@localhost rinetd]# vim /etc/rinetd.conf
allow *.*.*.* // ip
0.0.0.0 81 IP 80 //
logfile /var/log/rinetd.log // log
# rinetd
[root@localhost rinetd]# /usr/sbin/rinetd
[root@localhost rinetd]# rinetd -c /etc/rinetd.conf
[root@localhost rinetd]# netstat -antulp|grep -i rinetd
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 5849/rinetd
[root@localhost rinetd]# killall -9 rinetd pkill -9 rinetd
[root@localhost rinetd]# netstat -antulp|grep -i rinetd
[root@localhost rinetd]# rinetd
[root@localhost rinetd]# netstat -antulp|grep -i rinetd
tcp 0 0 0.0.0.0:81 0.0.0.0:*
LISTEN 5861/rinetd
pkill rinetd ##
rinetd -c /etc/rinetd.conf ##
/etc/rc.local
netstat -antup
1.rinetd.conf
2. rinetd
:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1111 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
これでアクセステストができます!本機81ポートへのアクセス要求は全て、宛先IPの80ポートへ転送される