多平台内网穿透-frp,无需公网IP轻松穿透内网对外使用网站服务

今天介绍一款软件,可用于进行内网穿透,对外网提供服务,支持 tcp, udp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。
场景举例:frp Windows 客户端+frp Linux 服务端+域名,实现无公网IP PC内网网站映射外网访问。

frp作用: 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。

对于 http 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。

利用处于内网或防火墙后的机器,对外网环境提供 tcp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

开始配置

准备:一台Linux系统的VPS和一个域名

服务端配置

1.直接在vps上运行命令

wget --no-check-certificate https://github.com/fatedier/frp/releases/download/v0.12.0/frp_0.12.0_linux_amd64.tar.gz
tar zxvf frp_0.12.0_linux_amd64.tar.gz
cd frp_0.12.0_linux_amd64

2.删除默认服务端配置文件frps.ini,重新创建并编辑

rm frps.ini && vi frps.ini

3.进入vi编辑界面,添加一个配置

[common]
bind_port = 7000
vhost_http_port = 80
 
[web]
type = http
custom_domains = frp.xx.xx
auth_token = 123

以上配置简单来说就是定义一个http反向代理,名为: web ,设置 http 访问端口:80,绑定自定义域名 frp.1w.nz ,其中bind_port是服务端与客户端握手时的端口,auth_token相当于验证密码,https 服务配置方法相同, vhost_http_port 替换为 vhost_https_port, type 设置为 https 即可。

4.保存退出vi界面,安装 Screen,为运行frp新建一个名为frp的终端会话:

Debian & ubuntu:

apt-get -y install screen && screen -S frp

CentOS:

yum -y install screen && screen -S frp

5.最后启动 frp 服务端,即可完成服务端操作

./frps -c ./frps.ini

域名绑定

将上面配置填写的域名解析到你的VPS公网IP上

客户端配置

1.下载windows客户端

https://github.com/fatedier/frp/releases/download/v0.12.0/frp_0.12.0_windows_amd64.zip

2.清空默认客户端配置文件frpc.ini,重新添加一个客户端配置

[common]
server_addr = IP
server_port = 7000
auth_token = 123

[web]
type = http
local_port = 80

3.确认无误后,运行程序目录下的frpc.exe,看到成功提示即表示连接成功,然后浏览器输入域名测试即可。

发表评论