由于现在IPv4地址的短缺,在国内不可能每个设备都会分配到一个公网IP,因此从公网中访问自己的私有设备向来是一件难事儿。本次带大家了解一下frp内网穿透的服务端教学,让你也能够部署一个内网穿透服务。
FRP简介
通俗的说,frp是一个反向代理软件,它不仅轻量且功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP、TCP、UDP等众多协议。本文使用的版本为v0.32.1做为演示教程。
- frp程序文件地址:https://github.com/fatedier/frp/releases
服务器相关
服务器相关:
1.因为frp的原理是利用服务端(所准备的具有公网IP的服务器)进行转发,因而服务器的速度直接决定了之后连接的质量,请根据自己的需要选择相应主机配置。
2.博主使用的是阿里云学生机,CentOS 7 系统,自用足够了。frp客户端和服务端本身同时均支持Linux和Windows,且配置方法一样,请根据实际环境自行测试。
FRP服务端部署
本文使用的是阿里云的服务器,CentOS 7 系统,故在frp服务端使用的是此版本:
我们首先远程登录到服务器,本文将frp服务端文件存放在/usr/local/
目录下作为演示,具体使用时可以视自己的需求忽略此步骤或自定义安装在其它目录:
1.使用wget命令将frp软件压缩包下载下来:
[precode]wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz[/precode]
2.然后将文件解压:
[precode]tar -zxvf frp_0.32.1_linux_amd64.tar.gz [/precode]
3.此处可以将frp_0.32.1_linux_amd64文件夹改名为frp,方便操作使用:
[precode]mv frp_0.32.1_linux_amd64 frp
[/precode]
4.接下来我们编辑frps.ini文件
[precode]vim frps.ini
[/precode]
文件应有下面的格式:
[common] bind_port = 7000
token = 12345678
vhost_http_port 7001
vhost_https_port 7002
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
其中:
bind_port
为服务器端端口
token
为客户端与服务器端的连接设置一个验证
vhost_http_port
客户端访问的http端口
vhost_https_port
客户端访问的https端口
dashboard_port
为frps登录面板端口
dashboard_user
为frps登陆面板的用户名
dashboard_pwd
为frps登陆面板的密码
输入完成后按Esc键,输入wq保存并退出。
6.用cat命令查看文件内容已成功保存
7.接下来输入命令运行frps服务端:
./frps -c ./frps.ini
看到success字样表示已运行成功:
8.此时我们可以使用浏览器访问http://ip地址:7500
,网页上输入自己设定的账号密码即可登录frps服务端查看相关信息:
设置开机启动
上面的教程在frps运行后你一旦退出Terminal或使用了Ctrl+C命令,那么你的frps服务端也就停止运行了,此处教大家如何设置开机自启动。
1.添加systemd配置文件:
vim /usr/lib/systemd/system/frp.service
2.编辑文件内容如下(ExecStart的内容请根据自己frp安装目录修改):
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit
[Install]
WantedBy=multi-user.target
3.设置frp开机启动:
systemctl daemon-reload
systemctl enable frp
4.启动frp(终止frp把start改为stop即可):
systemctl start frp
5.查看frp是否启动:
ps aux | grep frps
显示的内容如下则表示启动成功:
评论