目錄
- 前言
- 埠轉發
- ssh轉發
- Nginx轉發
- Windows轉發
- 總結
前言
關于【埠轉發】這篇文章挺全面的,共有8種場景,研究了一下很多時候還是挺方便得,
但是對于我來說經常用到的就是服務器只提供了本地埠服務器,想要遠程訪問很不方便,比如部署了“127.0.0.1:3306”的mysql服務,我只能用命令列了,
我又不想修改測驗環境,畢竟要和發布環境保持一致,所以用埠轉發是個好方案,(ps:mysql那個我使用【adminer】也很方便,)
埠轉發
ssh轉發
執行
ssh -C -f -N -g -L 3306:127.0.0.1:3306 [email protected] -p 22就能將下面圖片所示的mysql埠轉發為對外能訪問的埠,可以愉快地用Navicat了,
上面命令可解釋為ssh -C -f -N -g -L 監聽埠:目標IP:目標埠 用戶名@轉發服務器IP -p 轉發服務器埠,可參考【埠轉發】的更多用法,

Nginx轉發
- 編譯
由于只需要轉發功能,去掉http模塊(加入-s選項),這樣編譯出來的Nginx體積很小,只有轉發功能可用額,
./configure --prefix=/usr/local/nginx --with-stream --without-http
make 提取objs/nginx即可
- 組態檔
user root;
worker_processes auto;
events {
use epoll;
worker_connections 1024;
}
stream {
server {
listen 3000; # 監聽3000的tcp連接
proxy_pass 127.0.0.1:33306; # 轉發33306埠
# proxy_pass unix:/var/lib/mysql/mysql.socket; # 可轉發unix檔案連接
}
server {
listen 3001 udp; # 監聽3001的udp埠
proxy_pass 127.0.0.1:3001;
proxy_responses 1;
}
}
- 運行程式
mkdir logs conf
vim conf/nginx.conf # 寫入步驟2的配置
sudo ./nginx -p . # 指定前綴路徑即可
Windows轉發
- 右鍵管理員權限打開cmd

- 添加埠轉發
執行命令
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=4430 connectaddress=192.168.1.10 connectport=443
表示訪問127.0.0.1:4430會轉發到192.168.1.10:443上,下圖表示執行成功,
執行netsh interface portproxy show all可以查看當前已有的埠轉發的記錄,
執行netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=4430可以洗掉已有埠轉發記錄,

總結
埠轉發真的很實用額,我看了那8中通過ssh進行的埠轉發,都是實用干貨啊,與之對應的是埠映射,以前用過
源地址轉換和目的地址轉換也是很使用的功能額,只是我用的比較少罷了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/202794.html
標籤:其他
上一篇:有人說,這次進博會是一個風向標
