手把手教你用frp内网穿透
frp 是一个专注于内网穿透的反向代理应用程序,使用时需要花钱申请公网IP和云服务器,可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
#一、认识frp
frp的作用
利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。 利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。
配置说明
1、实现功能
<u>外网通过ssh访问内网机器</u> <u>自定义绑定域名访问内网web服务</u> 2、配置前准备 <u>公网服务器1台</u> <u>内网服务器1台</u> <u>公网服务器绑定域名1个</u> <u>公网和内网的服务器需要用到docker</u>
二、安装docker
2.1 docker安装
直接复制以下命令开始安装。
curl -sSL https://get.daocloud.io/docker | sh
2.2 docker调试
[root@localhost ~]# echo " # 设置docke加速 > { > "graph":"/data/docker" > } > " >> /etc/docker/daemon.json [root@localhost ~]# systemctl enable docker # 设置docker开机自启 [root@localhost ~]# systmectl start docker # 启动docker服务
**<!--注意:以上操作公网服务和内网服务器都要操作。-->**
三、安装frp内网穿透
3.1 配置frps服务端
创建frps文件夹,并且配置frps.ini服务端文件:
[root@localhost ~]# mkdir -p /etc/frp/ && cat >> /etc/frp/frps.ini << EOF > [common] > bind_port = 7000 # 默认端口是700 > # 启用面板 > dashboard_port = 7500 > # 面板登录名和密码 > dashboard_user = user # 用户和密码自行修改 > dashboard_pwd = password > # 使用http代理并使用8888端口进行穿透 > vhost_http_port = 8888 > # 使用https代理并使用9999端口进行穿透 > vhost_https_port = 9999 > # 日志路径 > log_file = ./frps.log > # 日志级别 > log_level = info > # 日志最大保存天数 > log_max_days = 2 > # 认证超时时间 > authentication_timeout = 900 > # 认证token,客户端需要和此对应 > token = xxx # 自定义的token可修改 > EOF [root@localhost ~]#
3.2 docker命令:
docker stop frps # 停止frps容器 docker restart frps # 重启frps容器 docker start frps # 启动frps容器 docker logs frps # 查看frps容器日志 docker rm $(docker stop frps) # 停止并删除frps容器
[root@localhost ~]#docker pull snowdreamtech/frps # 拉取snowdreamtech/frps容器 [root@localhost ~]# docker run -d \ > --restart=always \ > --network host \ > -v /etc/frp/frps.ini:/etc/frp/frps.ini \ > --name frps snowdreamtech/frps # 运行snowdreamtech/frps容器
3.3 访问frps面板:
在浏览器直接输入http://IP地址:7500即可访问 ![16672928951.jpg](/assets/image/20221104/1588410375865372672.jpeg) # 四、在iStoreOS上配置frpc客户端 ## 4.1 安装frpc,直接在iStoreOS商店找到全部软件。 ![image20221104134139689.png](/assets/image/20221104/1588410025276084224.png) ## 4.2 看以下视图操作: ![image20221104134927688.png](/assets/image/20221104/1588409976395665408.png) ## 4.3 输入名称点新增: ![image20221104135059880.png](/assets/image/20221104/1588409926475059200.png) ## 4.4 填写ip地址以及端口: ![image20221104135344247.png](/assets/image/20221104/1588409874247585792.png)