利用frp、Linux服务器,内穿windows本地端口;配置frp的点对点式安全的访问。
下载:https://github.com/fatedier/frp/releases
项目开源地址:https://github.com/fatedier/frp
本方案是利用一台Linux服务器做流量中转,将本地windows端口,或只有在本地环境能够访问的网站,穿透到公网上,以提供访问。
服务端在以上链接下载响应的包,然后进行配置,此程序服务端和客户端均使用一个包。
服务端配置文件 frps.ini
//连接信息 [common] bind_addr=0.0.0.0 bind_port = 7000 auto_token= passwd //web登陆信息 dashboard_port = 2021 dashboard_user = root dashboard_pwd = root
服务端启动
nohup ./frps -c frps.ini >/dev/null 2>&1 &
服务端状态监控可登陆:xxx:2021
输入配置的账号密码即可
被服务端配置:
[common] server_addr=1.1.1.1 //服务端IP server_port=7000 auto_token=passwd [3389] //标签,不可重复 type = tcp local_ip = 127.0.0.1 local_port = 3389 //本地端口 remote_port = 3389 //远程端口,不可冲突
被服务端启动(参考本地路径,CMD窗口)
D:\frp_0.37.0_windows_386\frpc.exe -c D:\frp_0.37.0_windows_386\frpc.ini
访问方式为:1.1.1.1:3389
以上内容可以让整个互联网访问此内部端口,较为不安全。
用下面的方法可以安全的访问内网端口
使用 stcp(secret tcp) 类型的代理可以避免让任何人都能访问到要穿透的服务,但是访问者也需要运行另外一个 frpc 客户端。
在需要被连接到内网的机器上部署 frpc,且配置如下:
[common] server_addr=1.1.1.1 //服务端IP server_port=7000 auto_token=passwd [secret_ssh] //标签信息,一会也需要验证 type = stcp sk = abcdefg //身份验证信息 local_ip = 127.0.0.1 local_port = 22
被访问者配置frpc如下:
[common] server_addr=1.1.1.1 //服务端IP server_port=7000 auto_token=passwd tls_enable = true //部分环境下连接可能需要此配置 [secret_ssh_visitor] type = stcp role = visitor //访问者身份 'server' or 'visitor' server_name = secret_ssh //标签信息,需要与被连接PC一致 sk = abcdefg //身份验证信息 bind_addr = 127.0.0.1 //绑定本地IP,没理解为啥要写这个 bind_port = 6000 //绑定本地端口
启动frpc,访问本地6000端口即可
windows启动方式均与上方相同。
bat脚本范例:
D:\frp_0.37.0_windows
.\frpc.exe -c .\frpc.ini pause
---
发表评论