自己的主力台式机、NAS等等设备,它们可能处于路由器后,或者运营商因为IP地址短缺不给你分配公网IP地址。如果我们想直接访问到这些设备(远程桌面,远程文件,SSH等等)内网IP端口,就需要通过一些转发或者P2P网络穿透软件的帮助。常见的做内网穿透方式有如FRP和nat123。frp就是一个反向代理软件,可以使处于内网或防火墙后的设备对外界提供服务,支持HTTP、TCP、UDP等众多协议,且是开源的,可以自己搭建使用。nat123是企业级的内网端口映射软件,可以将内网服务器地址一步简单操作,开放到外网访问,且无需公网IP。
这里我们就来说说如何使用FRP和nat123,做内网映射外网访问的实现。通过简单对比,结合自己实际本地场景,选择适合自己的使用。
一,frp内网穿透使用教程(胜在开源)
1,服务端设置
在自己公网IP服务器上,选择相应版本并进行下载FRP到本地,然后解压。把解压出来的文件夹复制到你想要的目录下。我们需要关注如下几个文件
frps
frps.ini
frpc
frpc.ini
前两个文件(s结尾代表server)分别是服务端程序和服务端配置文件,后两个文件(c结尾代表client)分别是客户端程序和客户端配置文件。
然后修改frps.ini文件
这个文件应有如下格式
[common]
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = admin
dashboard_pwd = admin
vhost_http_port = 10080
vhost_https_port = 10443
如果没有必要,端口均可使用默认值,token、user和password项请自行设置。
“bind_port”表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
“dashboard_port”是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。
“token”是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
“dashboard_user”和“dashboard_pwd”表示打开仪表板页面登录的用户名和密码,自行设置即可。
“vhost_http_port”和“vhost_https_port”用于反向代理HTTP主机时使用,本文不涉及HTTP协议,因而照抄或者删除这两条均可。
编辑完成后保存(vim保存如果不会请自行搜索)。
之后我们就可以运行frps的服务端了
./frps -c frps.ini
如果看到屏幕输出这样一段Start frps success内容,即表示运行正常,如果出现错误提示,请检查上面的步骤。
此时访问 x.x.x.x:7500 并使用自己设置的用户名密码登录,即可看到仪表板界面
至此,我们的服务端仅运行在前台,如果Ctrl+C停止或者关闭SSH窗口后,frps均会停止运行,因而我们使用 nohup命令将其运行在后台。
2,服务端后台运行配置
nohup后台程序管理或关闭相关命令可自行查询资料。
nohup ./frps -c frps.ini &
输出如下内容即表示正常运行
nohup: ignoring input and appending output to 'nohup.out'
此时可先使用Ctrl+C关闭nohup,frps依然会在后台运行,使用jobs命令查看后台运行的程序
jobs
在结果中我们可以看到frps正在后台正常运行
[1]+ Running nohup ./frps -c frps.ini &
此时访问 x.x.x.x:7500 依然可以打开仪表板界面,至此,服务端即设置完成,你可以关闭SSH窗口而不用担心影响FRP服务了。
3,客户端设置
frp的客户端就是我们想要真正进行访问的那台设备。
同样地,根据客户端设备的情况选择相应的frp程序进行下载。
如下载了“frp_0.22.0_windows_amd64.zip”,将其解压在了本地目录下,并且将文件夹重命名为“frp”。
用文本编辑器打开frpc.ini,与服务端类似,内容如下。
[common]
server_addr = x.x.x.x
server_port = 7000
token = won517574356
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7001
[smb]
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 7002
其中common字段下的三项即为服务端的设置。
“server_addr”为服务端IP地址,填入即可。
“server_port”为服务器端口,填入你设置的端口号即可,如果未改变就是7000
“token”是你在服务器上设置的连接口令,原样填入即可。
4,客户端后台运行及开机自启
frpc运行时始终有一个命令行窗口运行在前台,影响美观,我们可以使用一个批处理文件来将其运行在后台,而且可以双击执行,每次打开frpc不用再自己输命令了。
在任何一个目录下新建一个文本文件并将其重命名为“frpc.bat”,编辑,粘贴如下内容并保存。
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
cd C:\frp
frpc -c frpc.ini
exit
将cd后的路径更改为你的frpc实际存放的目录。
之后直接运行这个 .bat 文件即可启动frpc并隐藏窗口(可在任务管理器中退出)。
至于开机启动,把这个 .bat 文件直接扔进Windows的开机启动文件夹就好了 :)
至此,客户端配置完成,之后就是你自己根据需要在frpc.ini后追加规则即可。
二,企业级内网映射nat123使用方法(操作简单)
可以上网,就可以通过nat123,一步添加保存映射设置,将内网地址开放让外网访问,且无需公网IP,操作简单。支持windows、Linux、android等平台和http接口调用,支持网页远程管理。
1,内网一步设置让外网访问的操作
在局域网内目标计算机本地,或者所在内网另台互通内网的电脑上,安装并登录nat123软件并添加映射设置。通过这一步添加映射保存,将自己内网访问的地址与域名关联。
添加nat123映射时,根据自己应用场景选择合适的映射类型即可,如办公OA网站一般选择使用非80网站类型,远程桌面连接等不是网站服务的一般用非网站映射类型。
填写好对应内网地址和内网端口号,本机用127.0.0.1格式,非本机地址应用的用固定不变的内网地址格式。
外网地址可以直接使用自动生成的免费自定义二级域名。外网地址如果是填写使用自己注册独立权限域名的,同时需要在自己注册域名解析管理网站后台添加对应的cname指向让自己域名生效。
添加映射保存生效后,不要退出nat123后台服务。如对内外网地址还是不明白或对选择填写有疑问的,可以将鼠标停留输入框等见软件向导提示参考来。
2,外网访问使用对应映射域名地址
完成内网映射nat123添加保存设置后,等待一会本地解析生效后映射域名生效时,我们就可以在任意外网访问到目标内网计算机端口应用。如将公司办公OA网站ERP服务或远程桌面计算机等,开放让外网访问。
小结:
有公网IP自己搭建内网穿透需要开源程序的可以选择FRP使用。无公网IP可以选择使用nat123映射外网方法,操作更方便。其实nat123也支持自己搭建映射服务,在客户端找到发布映射即可,也更为简单,这个有需要的可进一步自行研测。
nat123内网端口映射外网方案,广泛应用于微信公众号、远程桌面、小程序 、443HTTPS映射、80http映射,SSH远程、P2P点到点全端口穿透、数据库、远程打印机、遥感测绘、FTP 、SVN、ERP等应用领域,为用户提供了便利的内网穿透服务,欢迎下载使用。内网服务器和端口应用映射到外网访问,无需公网IP,无需增加硬件设备,只需要在内网安装使用nat123软件添加映射一步搞定。
快速了解相关:
使用端口映射还是动态域名解析?>
端口映射与动态域名解析的区别?>
选择什么映射类型?
80映射与网站加速的区别?>
本地加速与网站加速的区别?>
免费与VIP的区别?>
如何选择映射VIP?
如何使用映射VIP(80网站)?>
如何使用映射VIP(非网站)?>
如何使用动态域名解析VIP服务?
如何使用自己的域名(根域名和www子域名)?>
客户端帐号能否多处登陆?
当前活动:
1.
非80映射免费VIP。
2.
80映射免费VIP全映射。
3.
非网站免费VIP全端口。
4.
充值送N币再送T币。
5.
站外分享送T币活动。
端口映射高级功能:
1.
如何切换使用映射VIP线路。
2.
http穿透解决http屏蔽问题。
3.
端口映射应用多机负载均衡。
4.
80映射网站默认使用快照提示取消。
5.
映射网站默认未登录提示页面自定义。
6.
如何设置映射网站离线转跳自定义目标地址。
7.
防火墙与访问日志(查看来访者IP和阻止IP端口)。
8.
80网快照录制和缓存删除。
9.
自主发布映射服务。
10.
自主选择网站集群线路访问端国内外区域。
动态域名解析高级功能:
1.
动态域名解析应用多机负载均衡。
2.
动态域名解析VIP怎么用。
域名解析高级功能:
1.
域名解析A记录宕机检测和故障转移。
2.
URL显性转发和隐性转发。
3.
URL转发默认提示取消。
远程开机:
1.
微信/网页远程开机。
![]() |
![]() |
![]() |