端口转发

关于【端口转发】这篇文章挺全面的,共有8中场景,研究了一下很多时候还是挺方便的。
但是对于我来说经常用到的就是服务器只提供了本地端口服务器,想要远程访问很不方便。比如部署了“127.0.0.1:3306”的mysql服务,我只能用命令行了。
我又不想修改测试环境,毕竟要和发布环境保持一致。所以用端口转发是个好方案。(ps:mysql那个我使用【adminer】也很方便。)

端口转发

ssh转发

执行ssh -C -f -N -g -L 3306:127.0.0.1:3306 admin@192.168.1.10 -p 22就能将下面图片所示的mysql端口转发为对外能访问的端口,可以愉快的用Navicat了。
上面命令可解释为ssh -C -f -N -g -L 监听端口:目标IP:目标端口 用户名@转发服务器IP -p 转发服务器端口,可参考【端口转发】的更多用法。

20201104192222114946-1

Nginx转发

  1. 编译

由于只需要转发功能,去掉http模块(加入-s选项),这样编译出来的Nginx体积很小,只有转发功能可用额。
./configure –prefix=/usr/local/nginx –with-stream –without-http
make 提取objs/nginx即可

  1. 配置文件
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;
    }
}
  1. 运行程序

mkdir logs conf
vim conf/nginx.conf # 写入步骤2的配置
sudo ./nginx -p . # 指定前缀路径即可

Windows转发

  1. 右键管理员权限打开cmd
    20201104192222458154-1
  2. 添加端口转发

执行命令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可以删除已有端口转发记录。

20201104192222582958-1

总结

端口转发真的很实用额,我看了那8中通过ssh进行的端口转发,都是使用干货啊。与之对应的是端口映射,以前弄过源地址转换目的地址转换也是很使用的功能额,只是我用的比较少罢了。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

除特别注明外,本站所有文章均基于CC-BY-NC-SA 4.0原创,转载请注明出处。
文章名称:《端口转发》
文章链接:https://www.vvso.cn/xlbk/969.html
分享到: 更多 (0)

热门文章

评论 抢沙发

切换注册

登录

忘记密码 ?

切换登录

注册