用云服务器搭建Frp内网穿透,实现远程访问家里电脑
用云服务器搭建Frp内网穿透实现远程访问家里电脑家里有台服务器或者NAS想在外面也能访问——但家里是宽带动态IP没有公网IP直接访问不了。Frp内网穿透就是解决这个问题的在有公网IP的云服务器上跑服务端frps家里电脑跑客户端frpc流量经过云服务器中转外网就能访问到家里的设备了。原理简单说外网用户 → 云服务器(frps) → 家里电脑(frpc) → 内网服务云服务器有公网IP家里电脑没有frpc连上frps之后外网访问云服务器的指定端口流量就会转发到家里电脑对应的端口上。准备材料一台有公网IP的云服务器跑frps家里要穿透的电脑或设备跑frpc云服务器推荐用雨云价格便宜带宽按需选Frp中转流量不大1-3M带宽就够日常用。服务端安装云服务器上操作去GitHub下载frphttps://github.com/fatedier/frp/releases选Linux amd64版本wgethttps://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gztar-xzffrp_0.61.0_linux_amd64.tar.gzcdfrp_0.61.0_linux_amd64创建服务端配置文件frps.tomlbindPort 7000 auth.token 你设置的密钥bindPort是frp控制连接的端口token是验证密钥客户端连接时要匹配。启动frps./frps-cfrps.toml用screen让它后台跑screen-Sfrps ./frps-cfrps.toml# CtrlA D 脱离在云服务器安全组放行7000端口TCP以及你后续要用的业务端口。客户端配置家里电脑上操作在家里电脑下载对应系统的frp包Windows就选windows_amd64。创建客户端配置文件frpc.tomlserverAddr 你的云服务器IP serverPort 7000 auth.token 你设置的密钥 [[proxies]] name ssh type tcp localIP 127.0.0.1 localPort 22 remotePort 6022 [[proxies]] name web type tcp localIP 127.0.0.1 localPort 80 remotePort 8080这个配置做了两个穿透SSH本地22端口 → 云服务器6022端口Web本地80端口 → 云服务器8080端口以后在外面访问云服务器IP:6022就相当于SSH到家里电脑访问云服务器IP:8080就是家里的Web服务。启动frpc./frpc-cfrpc.tomlWindows上双击运行或者命令提示符里执行。常见使用场景远程桌面Windows远程桌面用的是3389端口穿透出来就能从外面远程控制家里电脑[[proxies]] name rdp type tcp localIP 127.0.0.1 localPort 3389 remotePort 13389访问NAS大多数NAS的Web界面是80或者5000端口穿透出来随时随地管理文件。游戏联机朋友想连家里开的游戏服务器穿透对应端口就行不需要对方有公网IP。设置开机自启Linux服务端创建systemd服务文件让frps开机自动启动sudonano/etc/systemd/system/frps.service内容[Unit] Descriptionfrp server Afternetwork.target [Service] Typesimple ExecStart/root/frp_0.61.0_linux_amd64/frps -c /root/frp_0.61.0_linux_amd64/frps.toml Restarton-failure [Install] WantedBymulti-user.targetsudosystemctlenablefrpssudosystemctl start frpsFrp配置一次之后基本不需要管家里设备开机自动连上外网随时能访问挺方便的。有具体场景不知道怎么配的欢迎评论区问。云服务器推荐雨云官网