frp实现内网穿透并配置自动启动

因为教研室的网没有固定公网ip,不能在其它地方连服务器,所以就用frp做了一个内网穿透。


准备工作

  • 公网ip服务器(阿里云、腾讯云等) -服务端
  • 内网服务器 -客户端
  • frp

frp下载相应版本。

我下载的是 frp_0.21.0_linux_amd64.tar.gz
解压完了有如下七个文件

其中 frpc 是客户端运行的文件 frps 是服务端运行的文件。


服务端配置

frps.ini是服务端的配置文件,这是一个简化版本,只包含了必须的配置项。 其余的配置项在frps_full.ini中,可以根据自己的需要在frps.ini中添加。
在默认的frps.ini中只包含了端口一项,默认为7000
笔者使用的frps配置如下

[common]
bind_port = 7000
token = sDesQJk@KlO #客户端连接服务器端的口令

配置完成后直接运行
./frps -c ./frps.ini

服务端就配置好了


客户端配置

和服务端类似,frpc.ini是客户端的配置文件,所有的配置项在frpc_full.ini中能看到。
笔者用的frpc配置如下

[common]
server_addr = xxx.xxx.xxx.xxx # 服务端ip
server_port =7000 #服务端端口
token = sDesQJk@KlO #连接服务端口令
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22 #要穿透的本地端口
remote_port =6661 # 暴露到外网的端口

配置完成后直接运行
./frpc -c ./frpc.ini

已经连接上了,服务端提示如下。

名为ssh的proxy成功连接。现在我们的配置就成功了。


测试

通过 ssh 访问内网机器,假设用户名为 test:
ssh -oPort=6661 test@x.x.x.x
这里ip为服务端ip,端口为我们暴露到外网的端口即 6661


配置自动启动

笔者使用systemctl来控制启动,以服务端为例。
首先
sudo vim /lib/systemd/system/frps.service
在frps.service里写入以下内容

[Unit]
Description=fraps service
After=network.target network-online.target syslog.target
Wants=network.target network-online.target

[Service]
Type=simple

#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/your/path/frps -c /your/path/frps.ini

[Install]
WantedBy=multi-user.target

然后启动 frps
sudo systemctl start frps
再打开自启动
sudo systemctl enable frps
同时

  • 重启 sudo systemctl restart frps
  • 停止 sudo systemctl stop frps
  • 查看应用日志 sudo systemctl status frps

客户端自启动配置类似。

推荐阅读更多精彩内容

  • 一款很好用的内网穿透工具--FRP 前言 对于没有公网 IP 的内网用户来说,远程管理或在外网访问内网机器上的服务...
    forwardlee阅读 143,732评论 8 184
  • 使用frp内网穿透工具使处于内网中的电脑能够像访问公网电脑一样方便,比如将公司或个人电脑里面的web项目让别人能够...
    Acamy丶阅读 43,413评论 6 24
  • 群晖NAS+frp发挥更大作用Posted by SunnyRx on October 21, 2016原文地址:...
    热心人士阅读 96,665评论 22 84
  • 4月15日 多云 从昨天开始励志要蜕变的我,今天还是很纠结的一天。 ① 买衣服,兼职等等,生活中的小事都需要一个个...
    大IMEE阅读 24评论 0 0
  • 当我开始真正爱自己, 我开始远离一切不健康的东西。 不论是饮食还是人物,事情和环境, 我远离一切让我远离本真的东西...
    不如自渡阅读 38评论 0 0