frp的作用
利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机


本次实验目的外网可以ssh连接内网

公网服务器1台(本次采用阿里云的centos7)

内网服务器1台(我这里演示的是linux环境,vmware安装的centos7)

安装frp

wget https://github.com/fatedier/frp/releases/download/v0.13.0/frp_0.13.0_linux_amd64.tar.gz(服务器&客户机都下载并解压)

解压tar -zxvf  frp_0.13.0_linux_amd64.tar.gz

进入解压目录cd frp_0.13.0_linux_amd64,这里主要关注4个文件,分别是frpc、frpc.ini是客户端所关注文件      frps、frps.ini是服务端所关注两个文件。

配置服务端(公网服务器),首先删掉frpc、frpc.ini两个文件,然后再进行配置,vi ./frps.ini,

    [common]

    bind_port = 7000           #与客户端绑定的进行通信的端口

    vhost_http_port = 6081     #访问客户端web服务自定义的端口号

保存然后启动服务./frps -c ./frps.ini,这是前台启动,后台启动命令为nohup ./frps -c ./frps.ini &

frp内网穿透_第1张图片

配置客户端(内网服务器),首先删掉frps、frps.ini两个文件,然后再进行配置,vi ./frpc.ini


[common]

server_addr = 59.110.219.244   #公网服务器ip

server_port = 7000            #与服务端bind_port一致


#公网通过ssh访问内部服务器

    [ssh]

    type = tcp              #连接协议

    local_ip = 192.168.111.146 #内网服务器ip

    local_port = 22         #ssh默认端口号

    remote_port = 6000      #自定义的访问内部ssh端口号


#也可以用来连接内网web(由于没有域名不做解释 可参考以下参数跟在上面配置文件之后即可

  1. #公网访问内部web服务器以http方式

  2. [web]

  3. type = http         #访问协议

  4. local_port = 8081   #内网web服务的端口号

  5. custom_domains = repo.iwi.com   #所绑定的公网服务器域名,一级、二级域名都可以

保存然后执行./frpc -c ./frpc.ini启动,这是前台启动,后台启动命令为nohup ./frpc -c ./frpc.ini &

image.png

注意:如果为云主机,切记设置防火墙规则,以下仅供参考frp内网穿透_第2张图片

至此实验就以完成


frp内网穿透_第3张图片

frp内网穿透_第4张图片

上图看出访问阿里主机6000端口  连接的是我内网虚拟机111.146

综上

实验完成