ポート転送(Linux/Windows)
2277 ワード
【目的】
本機7777ポートを傍受し、192.168.7.8の8888ポートにデータを転送し、TCPデータ転送を実現する.
【方法】
1、ncat(Linux/Windows共通)(ncatポート転送)
2、netsh(Windows)(port forwarding in windows)
2.1、設定
2.2、表示
2.3、除去
3、iptables(Ubuntu 16.04)(How-To: Redirecting network traffic to a new IP using IPtables)
3.1、クリアルール
3.2、オープンポート転送(/etc/sysctl.conf)
3.3、ポート転送の構成
3.3.1、MASQUERADEはUbuntu 18.04でdnsサービス異常を引き起こす可能性がある.How to allow DNS lookup with iptables on Ubuntu 18.04 serverを参照して、以下の構成に変更することができる.
3.3、削除例
3.4、ポートの表示
IPtablesポート転送の接続はnetstatで表示できません.NAPTはポートを占有する必要はありません(なぜですか?)7777ポートは依然として他のプログラムで使用できます.表示するにはnetstat-natコマンドを使用します.
【関連読書】 iptables tips ネットワークポートの転送とリダイレクト(Python) WindowsおよびLinuxプラットフォームのポート転送ツール 簡単なTCPプロキシ centos6.5 iptables実装ポート転送 ***walkerの流水勘定***
本機7777ポートを傍受し、192.168.7.8の8888ポートにデータを転送し、TCPデータ転送を実現する.
【方法】
1、ncat(Linux/Windows共通)(ncatポート転送)
ncat --sh-exec "ncat 192.168.7.8 8888" -l 7777 --keep-open
2、netsh(Windows)(port forwarding in windows)
2.1、設定
# 7777 192.168.7.8 8888
netsh interface portproxy add v4tov4 listenport=7777 listenaddress=0.0.0.0 connectport=8888 connectaddress=192.168.7.8
2.2、表示
netsh interface portproxy show all
2.3、除去
netsh interface portproxy delete v4tov4 listenport=7777 listenaddress=0.0.0.0
3、iptables(Ubuntu 16.04)(How-To: Redirecting network traffic to a new IP using IPtables)
3.1、クリアルール
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
3.2、オープンポート転送(/etc/sysctl.conf)
#
sudo sysctl net.ipv4.ip_forward=1
#
sudo sysctl -a | grep ip_forward
3.3、ポート転送の構成
# ( )
sudo iptables -t nat -A PREROUTING -p tcp --dport 7777 -j DNAT --to-destination 192.168.7.8:8888
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
#
sudo iptables -t nat -nL
3.3.1、MASQUERADEはUbuntu 18.04でdnsサービス異常を引き起こす可能性がある.How to allow DNS lookup with iptables on Ubuntu 18.04 serverを参照して、以下の構成に変更することができる.
# tap0
# openVPN
iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE
# OR (192.168.7.1 )
iptables -t nat -A POSTROUTING -o enp4s0 -j SNAT --to-source 192.168.7.1
3.3、削除例
#
sudo iptables -t nat -nL --line-numbers
# 。 --line-numbers num
sudo iptables -t nat -D POSTROUTING 1
3.4、ポートの表示
sudo netstat -anpt | grep 7777
IPtablesポート転送の接続はnetstatで表示できません.NAPTはポートを占有する必要はありません(なぜですか?)7777ポートは依然として他のプログラムで使用できます.表示するにはnetstat-natコマンドを使用します.
【関連読書】