| 2021-02-9
端口转发(Port forwarding),有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的NAT路由器到达一个在私有内部IP地址(局域网内部)上的一个端口。
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 转发服务器端口,可参考【端口转发】的更多用法。
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端口
}
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可以删除已有端口转发记录。
好用的端口映射软件小编推荐花生壳。花生壳端口映射操作教程
第一步,前往花生壳官网(http://hsk.oray.com/ )下载花生壳3.2客户端并安装;或者百度搜索“花生壳”,进入官网下载软件;
第二步,登录花生壳客户端,点击域名列表进入web管理页面;
第三步,点击【内网映射】—【添加映射】,跳出端口映射设置窗口;
第四步,填写端口映射信息。域名为注册花生壳时赠送的免费域名,也可添加其他域名。应用名称自定义,主机即为内网主机IP地址,选择好对外开放的端口,点击确定即可完成信息填写;
第五步,端口映射添加完毕后,即生成一个可供外网访问的地址,端口映射完成;
第六步,测试。在外网浏览器内输入该地址,即可访问到内网主机所搭建的服务应用,NAT穿透成功。
花生壳动态域名解析软件介绍
花生壳是一个动态域名解析软件,支持端口映射和内网穿透,从面世起累计为全球1800多万用户提供动态域名解析服务。全新改版客户端花生壳5发布,以颠覆式的NAT-DDNS创新技术、全新的交互界面及功能体验,搭配Web、微信远程管理,全面满足广大用户的多元化需求。
花生壳内置内网穿透功能,可根据实际的网络环境,通过花生壳软件或者路由器设置端口映射来搭建一条直接和设备建立连接的通道,而且不受其他平台制约,不存储数据,其稳定性和可靠性都非常高,可以为用户带来安全、可行的智能居管理方案,帮助人们实现智能化的应用体验。