Ubuntu18 使用FRP实现内网穿透

文章目录

    • 1 在服务器和设备上分别安装FRP服务器端和客户端软件
      • (1) 从github上下载软件并解压
      • (2) 修改配置文件
      • (3) 运行
    • 2 设置开机自启动
      • (1) 添加一个服务
      • (2) 在服务中写如以下内容
      • (3) 打开服务并开启开机自启动
    • Reference

  • 由于设备远程连接需求,租了一台有公网IP的服务器。现在想通过FRP通过这台公网IP的服务器访问我的设备。本次使用的服务器和设备均使用Ubuntu18系统。详细的说明可以见FRP的Github1
  • 内网穿透原理如图所示,图片来自2
    Ubuntu18 使用FRP实现内网穿透_第1张图片

1 在服务器和设备上分别安装FRP服务器端和客户端软件

服务端和客户端均按照以下步骤安装:

(1) 从github上下载软件并解压

所有的release版本可以通过这个链接查询到。这里以0.37.1版本为例:

# 下载文件
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz
# 解压文件
tar -zxvf frp_0.37.1_linux_amd64.tar.gz

一共有4个文件(夹):

服务器端需要用到:frps.ini, frps/
客户端需要用到:frpc.ini, frpc/
如果某台设备上只配置服务器端(客户端),另一种的文件(夹)就可以直接删掉了

(2) 修改配置文件

服务器端和客户端的配置文件分别是frps.inifrpc.ini

# 服务器端需要修改的文件是frps.ini
vim frps.ini
# 客户端需要修改的文件是frpc.ini
vim frpc.ini
  • 服务器端修改为以下内容:
[common]
bind_port = 7000  

dashboard_port = 7500  # 后台端口
dashboard_user = admin  # 登录后台时的账户
dashboard_pwd = admin  # 登录后台时的密码

max_pool_count = 5
log_file = ./frps.log 
  • 客户端修改为以下内容:
[common]
server_addr = x.x.x.x  # 公网服务器IP地址
server_port = 7000  # 服务器端frps.ini里面bind_port的端口号  

[ssh]         
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000  # ssh连接时使用的端口号

(3) 运行

# 服务器端运行命令
./frps -c ./frps.ini
# 客户端运行命令
./frpc -c ./frpc.ini

如果希望开机自启动,请往后看。
如果没有特殊需求,到这里已经可以实现ssh的穿透了

2 设置开机自启动

在服务器端和客户端设置都是按照如下步骤。这个部分参考了这篇博客3

(1) 添加一个服务

# 服务器端运行下面这行
sudo vim /lib/systemd/system/frps.service
# 客户端运行下面这行
sudo vim /lib/systemd/system/frpc.service

(2) 在服务中写如以下内容

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

[Service]
Type=simple
# 下面的 $path2frp 替换为frp实际安装的绝对路径
# 服务器端用下面这行
ExecStart=$path2frp/frps -c $path2frp/frps.ini
# 客户端用下面这行
ExecStart=$path2frp/frpc -c $path2frp/frpc.ini

[Install]
WantedBy=multi-user.target

(3) 打开服务并开启开机自启动

# 打开服务
sudo systemctl start frps  # 客户端使用sudo systemctl start frpc
# 开机自启动
sudo systemctl enable frps  # 客户端使用sudo systemctl enable frpc

Reference


  1. FRP Gtihub ↩︎

  2. JJH的创世纪 - FRP ↩︎

  3. 肿么阔以次兔兔 - 开机启动 ↩︎

你可能感兴趣的:(notes,software,installation,ssh,linux,tcp/ip)