基于FRP实现内网穿透
一、需求场景
1.远程访问内网设备
2.模拟QQ、TV等的远程控制
二、环境
Win10家庭版(内网计算机)
CentOS(外网计算机,基于Aliyun ECS)
三、使用外网计算机搭建服务端
1.下载frp_0.25.3_linux_amd64.tar.gz
2.解压缩
3.编辑 frps.ini
[common] bind_port = 7000
4.注册服务 vim /etc/systemd/system/frps.service
[Unit] Description=frps daemon After=syslog.target network.target Wants=network.target [Service] Type=simple ExecStart=/***/***/frp_***_linux_386/frps -c /***/***/frp_***_linux_386/frps.ini Restart= always RestartSec=1min [Install] WantedBy=multi-user.target
systemctl start frps
systemctl enable frps
四、开放端口(同时关闭机器防火墙:systemctl stop firewalld.service)
五、配置内网穿透
1.下载frp_0.25.3_windows_amd64.zip
2.解压缩
3.编辑frpc.ini
[common] server_addr = ***.***.***.*** server_port = 7000 [RDP] type = tcp local_port = 3389 remote_port = 7001
4.CMD运行 frpc.exe
六、Win10家庭版安装远程桌面服务端
2.解压缩
3.管理员运行install.bat
问题:windows 10 创意者更新(1703)后,系统修改了termsrc.dll库,导致Wrap监听服务无法正常启动,须还原dll(建议备份)
DLL下载,密码:fesv(解压后放置到:C:Windows/System32/)
如遇到权限问题,请将原始的termsrv授权给当前用户,再进行替换
如遇到文件被占用问题,使用CMD执行tasklist /svc>C:\listsvc.txt,查看listsvc文件中,占用当前DLL的程序PID,打开任务管理器强制停止该PID程序
Win10 1809 17763版本ini文件支持更新:RDP Wrapper-1809-17763.615.zip,密码:gp59,将其中内容覆盖到:C:\Program Files\RDP Wrapper,并把termsrv.dll替换到System32中
七、内网服务自启动
1.新建frpc_start.bat(/B为了后台运行,exe这里不能使用绝对路径,exe会依赖./下的ini配置文件)
@echo off
start “Frp-Client” /B frpc.exe
2.新建frpc_start.vbs
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c D:\Soft\frpc\frp_0.25.3_windows_amd64\frpc_start.bat",vbhide
3.创建frpc_start.vbs快捷方式到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp