利用frp实现内网穿越

一、FRP介绍

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

  • 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
  • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
  • 代理组间的负载均衡。
  • 端口复用,多个服务通过同一个服务端端口暴露。
  • 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
  • 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
  • 服务端和客户端 UI 页面。


二、组网介绍

   1、准备一台有公网IP的云服务器,并有远程登录的账号和密码

   2、1台本地服务器,有远程登录账号和密码,且可以访问外网

三、软件下载

 由于我的云服务器和内网都是centos主机,故下载的软件版本是  frp_0.36.2_linux_386.tar.gz,其它服务器版本请下载其它版本的frp软件

四、服务器端设置

1、登录公网服务器,上传软件frp_0.36.2_linux_386.tar.gz,并把它移动到/frp/frps(需提前创建)目录下

2、解压软件,编辑配置文件  vim   frps.ini

[common]

bind_port = 7000   //和客户端连接的端口号,可更改,但是需要在云主机上放行端口号

3、配置开机启动  vim   /frp/frps/systemd/frps.service

[Unit]

Description=Frp Server Service

After=network.target

[Service]

Type=simple

User=nobody

Restart=on-failure

RestartSec=5s

ExecStart=/frp/frps/frps    -c    /frp/frps/frps.ini   //实际的路径,前面已经把文件放到这个目录

[Install]

WantedBy=multi-user.target

4、拷贝配置文件   mv   /frp/frps/systemd/frps.service   /lib/systemd/system/frps.service

5、设置开机自启   systemctl   enable   frps

五、客户端配置

1、编辑配置文件,vim    /frp/frps/frpc.ini   //配置文件放置的路径

[common]

server_addr = 云主机服务器IP

server_port = 7000


[ssh]

type = tcp

local_ip = 127.0.0.1

local_port = 22

remote_port = 6001   //穿透的端口号

2、配置开机启动  vim   /frp/frps/systemd/frpc.service

   

[Unit]

Description=Frp Client Service

After=network.target


[Service]

Type=simple

User=nobody

Restart=on-failure

RestartSec=5s

ExecStart=/frp/frpc/frpc   -c   /frp/frpc/frpc.ini

ExecReload=/frp/frpc/frpc    reload   -c    /frp/frpc/frpc.ini

[Install]

WantedBy=multi-user.target

3、拷贝配置文件   mv   /frp/frps/systemd/frpc.service   /lib/systemd/system/frpc.service

4、设置开机自启   systemctl   enable   frpc


六、远程访问

   使用crt,IP地址是云主机的IP地址,端口号就是刚设置的6001,实现一个远程的访问




上一篇:RTSP视频平台EasyNVR云终端进行CDN推流失败原因分析


下一篇:常见的Linux命令