使用frp实现内网穿透
使用frp实现内网穿透如远程访问校园内网服务器:frp-Github链接
frp安装可以根据需求下载对应的文件版本,推荐使用Windows_amd64和Linux_amd64版本,具体还需要根据机子情况。 下载链接 frp环境部署frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。以阿里云WinServer2008作为公网IP服务器和Win10作为内网机子为例。 首先下载frp_0.33.0_windows_amd64版本,之后配置客户端文件,打开frpc.ini。 [common]server_addr = x.x.x.x #填写公网服务器IPserver_port = 7000 #这个端口指的是客户端与服务端通信使用的端口[ssh]type = tcplocal_ip = 127.0.0.1local_port = 3389 #SSH使用22端口 windows系统使用3389端口remote_port = 6000 #这个端口是指通过x.x.x.x:6000访问内网机子的转发端口
注意若使用云服务器,在服务器的安全组中要把端口7000、6000(可自定义)都进行开放,否则连接不上。服务端使用默认配置文件不需要更改。 配置好文件之后,启动即可,windows的话需要使用cmd打开,可自写bat文件启动。 想要多客户端配置就在不同客户端上面使用不同端口启动即可: [common]server_addr = x.x.x.x #填写公网服务器IPserver_port = 7000 #这个端口指的是客户端与服务端通信使用的端口[ssh2] # 不同客户端需要不同的名字type = tcplocal_ip = 127.0.0.1local_port = 3389 #SSH使用22端口 windows系统使用3389端口remote_port = 6006 #这个端口是指通过x.x.x.x:6000访问内网机子的转发端口
若需要配置web服务需要更改服务器和客户端文件如下: frps.ini服务端配置文件 [common]bind_port = 7000vhost_http_port = 6001 # 访问6001端口,映射到内网web服务
frpc.ini客户端配置文件 [common]server_addr = x.x.x.xserver_port = 7000[ssh]type = tcplocal_ip = 127.0.0.1local_port = 3389remote_port = 6000[web]type = httplocal_port = 8080 # 访问本地8080web服务custom_domains = www.xxx.cn # 必须已经备案
客户端启动: 服务端启动: 连接测试图: frp仪表盘配置通过frp自带仪表盘控制界面 Dashboard 可以方便的查看 FRP 的状态以及代理统计信息展示 要使用这个功能首先需要在 FRP 服务端配置文件 frps.ini 中指定 Dashboard 服务使用的端口: # frps.ini 内容[common]bind_port = 7000# 指定 仪表盘控制界面 Dashboard 的监听的 IP 地址 //0.0.0.0 为所以IP均可访问dashboard_addr = 0.0.0.0# 指定 仪表盘控制界面 Dashboard 的监听的端口,默认为 7500dashboard_port = 7500# 指定访问 仪表盘控制界面 Dashboard 的登录用户名dashboard_user = admin# 指定访问 仪表盘控制界面 Dashboard 的登录用户密码dashboard_pwd = admin123
在frp目录下输入【frps -c frps.ini】命令重新启动 frps 服务端 出现start frps success即启动好服务,注意在阿里云开放对应端口7500. nssm将frp注册为win10服务为了方便frp在win10启动,可以设置为服务,让其后台自启。 NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下:
- 支持普通exe程序(控制台程序或者带界面的Windows程序都可以)
- 安装简单,修改方便
- 可以重定向输出(并且支持Rotation)
- 可以自动守护封装了的服务,程序挂掉了后可以自动重启
- 可以自定义环境变量
服务安装: 服务安装可以使用如下命令(注意使用管理员运行): nssm install servicename 执行此命令后,会出现一个界面,基本上看着就知道怎么用了,大多数情况下,只需要填第一个界面的程序路径就可以了。 其它界面的是高级参数的配置,可以根据需要自行选择。 参数填完后执行"install service"按钮即可将服务安装到系统,可以使用系统的服务管理工具查看了。 当然,如果要自动化安装,可以直接带上程序路径: nssm install servicename program [arguments] NSSM本身win7及以上的系统基本都是支持的,我测试过win7,2008,2016系统,都是没有问题的,如果安装失败,请首先检查是否装了某国产管家或国产杀毒软件。 安装完成后,服务还没有启动,需要通过下面的服务管理的命令启动服务。 服务管理: 服务管理主要有启动、停止和重启,其命令如下: - 启动服务:nssm start servicename
- 停止服务:nssm stop servicename
- 重启服务:nssm restart servicename
当然,也可以使用系统自带的服务管理器操作和使用系统的命令。
修改参数:
NSSM安装的服务修改起来非常方便,命令如下:
nssm edit servicename
会自动启动操作界面,直接更改即可。
服务删除:
服务删除可以使用如下命令之一:
- nssm remove servicename
- nssm remove servicename confirm
功能没有大的区别,后面的命令是自动确认的,没有交互界面。
建议- 如果有自己的域名,可以将域名解析到公网ip上面,这样只需要根据域名即可进行远程连接。
- frp是需要公网的机子,若无公网机子,可以考虑花生壳、NatApp等软件进行内网穿透。
文章来自:https://www.cnblogs.com/dlvguo/p/13685661.html
|