方法: 1. SSH ポート転送を使用する; 2. iptables ポート転送を使用する; 3. ファイアウォール ポート転送を使用する; 4. rinetd ポート転送を使用する; 5. ncat ポート転送を使用する; 6. socat ポート転送を使用する; 6. socat ポート転送を使用する。 7. portmap ポート フォワーディングを使用する; 8. portfwd ポート フォワーディングを使用するなど。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
1. SSH ポート転送
SSH は、ポート転送という非常に興味深い機能を提供します。その他 TCP ポート上のネットワーク データは SSH リンクを通じて転送され、対応する暗号化および復号化サービスが自動的に提供されます。
(1) ローカル ポート フォワーディング
ssh -fgN -L 2222:localhost:22 localhost
(2) リモート ポート フォワーディング
ssh -fgN -R 2222:host1:22 localhost
(3) 動的フォワーディング
ssh -fgN -D 12345 root@host1
2. iptablesポート フォワーディング。
CentOS 7.0 以下では、データ パケットの転送に使用できる iptables を使用します。
(1) データ フォワーディング機能をオンにします
vi /etc/sysctl.conf #增加一行 net.ipv4.ip_forward=1 //使数据转发功能生效 sysctl -p
( 2 )ローカル ポートをローカル ポートに転送
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j REDIRECT --to-port 22
(3)ローカル ポートを他のマシンに転送
iptables -t nat -A PREROUTING -d 192.168.172.130 -p tcp --dport 8000 -j DNAT --to-destination 192.168.172.131:80 iptables -t nat -A POSTROUTING -d 192.168.172.131 -p tcp --dport 80 -j SNAT --to 192.168.172.130 #清空nat表的所有链 iptables -t nat -F PREROUTING
3. ファイアウォール ポート転送
CentOS 7.0 以降ではファイアウォールが使用され、コマンド ライン設定を通じてポート転送が実装されます。
(1) マスカレード IP
firewall-cmd --permanent --add-masquerade
(2) ローカル マシンのポート 12345 へのアクセスを別のサーバーのポート 22 に転送するようにポート転送を構成します。
firewall-cmd --permanent --add-forward-port=port=12345:proto=tcp:toaddr=192.168.172.131:toport=22
(3) リロードして無効にします
firewall-cmd --reload
4. rinetd ポート転送
rinetd は軽量の TCP 転送ツールであり、簡単な設定で簡単に設定できます。ポートマッピング/転送/リダイレクトを実現します。
(1) ソースコードのダウンロード
wget https://li.nux.ro/download/nux/misc/el7/x86_64/rinetd-0.62-9.el7.nux.x86_64.rpm
(2) rinetdのインストール
rpm -ivh rinetd-0.62-9.el7.nux.x86_64.rpm
(3) 設定ファイルの編集
vi rinetd.conf 0.0.0.0 1234 127.0.0.1 22
(4) 転送開始
rinetd -c /etc/rinetd.conf
5. ncat ポート転送
netcat (略して nc) は、ネットワーク セキュリティ業界では「スイス アーミー ナイフ」として知られています。ここでは、netcat を使用してポート転送を実装する方法を紹介します。
(1) ncat
yum install nmap-ncat -y
(2) ローカル ポート 9876 をリッスンし、データをポート 80 の 192.168.172.131
ncat --sh-exec "ncat 192.168.172.131 80" -l 9876 --keep-open
6 に転送します。 socat ポート フォワーディング
socat は、ポート フォワーディングに socat を使用する多機能ネットワーク ツールです。
(1) socat のインストール
yum install -y socat
(2) ローカルでポート 12345 をリッスンし、リクエストを 192.168.172.131 のポート 22 に転送します。
socat TCP4-LISTEN:12345,reuseaddr,fork TCP4:192.168.172.131:22
7. portmap ポート転送
イントラネット ポート転送ツールである lcx の Linux バージョン。
(1) ダウンロード アドレス: http://www.vuln.cn/wp-content/uploads/2016/06/lcx_vuln.cn_.zip
(2) ローカル ポートをリッスンします。 1234 、192.168.172.131
/portmap -m 1 -p1 1234 -h2 192.168.172.131 -p2 22
8 のポート 22 に転送されます。 portfwd ポート転送
portfwd は、meterpreter の組み込み関数であり、スタンドTCP /UDP ポート転送サービスの単独バージョン
Github プロジェクト アドレス: https://github.com/rssnsj/portfwd
(1) ダウンロードしてコンパイル
git clone https://github .com/rssnsj/portfwd.git
cd portfwd/src
make
(2) ローカル 12345 ポートを 192.168.172.131:22 に転送します。
./tcpfwd 0.0.0.0:12345 192.168.172.131:22
9. NATBypass ポート転送
golang での lcx (htran) の実装
Gihub プロジェクト アドレス: https://github.com /cw1997 /NATBypass
内部ネットワーク ホストは外部ネットワーク ホストにアクティブに接続してトンネルを開きます:
ターゲット マシンで実行します: nb -slave 127.0.0.1:3389 パブリック IP: 51
パブリック ネットワーク マシン上で実行します: nb -listen 51 3340
パブリック ネットワーク ホストの 127.0.0.1:3340 に接続し、イントラネット マシンの 3389 ポートに接続します。
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinuxでポートを転送する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。