ホームページ  >  記事  >  運用・保守  >  Linuxでポートを転送する方法

Linuxでポートを転送する方法

WBOY
WBOYオリジナル
2022-01-27 14:02:1912879ブラウズ

方法: 1. SSH ポート転送を使用する; 2. iptables ポート転送を使用する; 3. ファイアウォール ポート転送を使用する; 4. rinetd ポート転送を使用する; 5. ncat ポート転送を使用する; 6. socat ポート転送を使用する; 6. socat ポート転送を使用する。 7. portmap ポート フォワーディングを使用する; 8. portfwd ポート フォワーディングを使用するなど。

Linuxでポートを転送する方法

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

Linux でポート転送する方法

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。