通过frp来实现内网穿透,可以访问公司或家中的web服务,同时可以对服务器进行ssh连接登录。当然,内网穿透还可以在你进行公众号开发的时候提供一些很方便的作用。
以下只说我的情况,目标:搭建FRP进行内网穿透。
准备
- 公网服务器,拥有独立不变的IP
- 内网服务器(我这是centos 7)
- frp 客户端和服务器端
- 域名
开始
服务器搭建
参考文档 : https://github.com/fatedier/frp/blob/master/README_zh.md#通过自定义域名访问部署于内网的-web-服务
#### 服务端安装
//1. 将frp 服务器端下载
$ wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz
$ tar -xzvf frp_0.20.0_linux_amd64.tar.gz
$ cd frp_0.20.0_linux_amd64
//修改下端口
# frps.ini
[common]
bind_port = 7000
vhost_http_port = 8080
//启动
$ ./frps -c ./frps.ini
划重点:vhost_http_port 和 bind_port 如果是云服务器的话,都需要在安全组中开放出来端口。
客户端安装
下载对应客户端压缩包(同服务端),解压后,修改frpc.ini 的配置
修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.x,local_port 为本地机器上 web 服务对应的端口, 绑定自定义域名 www.yourdomain.com:
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[web]
type = http
local_port = 80
custom_domains = www.yourdomain.com
//启动,通过cmd 启动
./frpc -c ./frpc.ini
启动的时候,要注意,本地的80端口要能够访问或提供服务。同时,也开启了SSH服务,本地端口一般都是22,remote_port
为远程链接使用的端口。
当全部启动完毕后,访问web服务,就可以看到本地服务器提供的服务了。
SSH连接
根据公网IP地址和frpc.ini 中配置的remote_port 来进行远程连接本地服务器。
hostname : x.x.x.x //为公网服务器IP地址
port : 6000 // 在frpc.ini中配置的remote_port
username : //则是本地服务器的用户名
就这么些了,等后面有空再写写折磨了我半天的重启自动执行的问题...