文章介绍:使用vyos-1.5.0滚动版部署frp(简单、高效的内网穿透工具),支持多种代理类型以及 P2P 通信,为不同场景下的需求提供丰富的解决方案。

一、项目来源

frp官方主页

github主页

frp官方文档

二、页面展示

yydy_2024-07-16_10-36-33

yydy_2024-07-16_15-55-48

三、VyOS相关文章

VyOS开源篇

四、vyos安装frps

4.1、vyos基本配置

configure
set interfaces ethernet eth0 address '180.165.115.224/24'
set protocols static route 0.0.0.0/0 next-hop 180.165.115.1
set service ssh port '22'
set system host-name 'vyos-frps'
set system name-server '223.5.5.5'
set system name-server '223.6.6.6'
commit
save

4.2、拉取frps镜像

run add container image docker.io/snowdreamtech/frps:latest

4.3、创建frp文件夹

sudo mkdir /config/frp

4.4、创建frps.toml文件

sudo nano /config/frp/frps.toml
  1. bindPort = 14300

    • frps 服务监听的端口号。当客户端(frpc)连接到 frps 时,会使用这个端口。
  2. auth.token = "auth_password"

    • 客户端和服务端之间的认证令牌。客户端和服务端必须使用相同的令牌,以确保连接的安全性。
  3. webServer.addr = "10.225.97.1"

    • frps 的Web管理界面的绑定地址。即Web管理界面可以通过这个IP地址访问。
  4. webServer.port = 24300

    • frps 的Web管理界面的端口号。即Web管理界面可以通过这个端口访问。
  5. webServer.user = "admin"

    • 登录 frps Web管理界面的用户名。
  6. webServer.password = "admin"

    • 登录 frps Web管理界面的密码。
bindPort = 14300
auth.token = "auth_password"
webServer.addr = "10.225.97.1"
webServer.port = 24300
webServer.user = "admin"
webServer.password = "admin"

4.5、启动frps容器

set container name frps allow-host-networks
set container name frps capability 'net-admin'
set container name frps capability 'sys-admin'
set container name frps host-name 'frps'
set container name frps image 'docker.io/snowdreamtech/frps:latest'
set container name frps restart 'always'
set container name frps volume toml destination '/etc/frp/frps.toml'
set container name frps volume toml source '/config/frp/frps.toml'

4.6、查看容器状态

run show container

yydy_2024-07-16_11-48-16

五、vyos安装frpc

5.1、vyos基本配置

configure
set interfaces ethernet eth0 address 'dhcp'
set protocols static route 0.0.0.0/0 dhcp-interface eth0
set service ssh port '22'
set system host-name 'vyos-frpc'
set system name-server '114.114.114.114'
set system name-server '114.114.115.115'
commit
save

5.2、拉取frpc镜像

run add container image docker.io/snowdreamtech/frpc:latest

5.3、创建frp文件夹

sudo mkdir /config/frp

5.4、创建frpc.toml文件

sudo nano /config/frp/frpc.toml
  1. serverAddr = "180.165.115.224"

    • frps(FRP 服务端)的IP地址。frpc 会连接到这个地址以建立隧道。
  2. serverPort = 14300

    • frps 服务监听的端口号。frpc 会连接到这个端口以建立隧道。
  3. auth.token = "auth_password"

    • 客户端和服务端之间的认证令牌。客户端和服务端必须使用相同的令牌,以确保连接的安全性。
  4. [[proxies]]

    • 代理配置的开始标签。可以有多个 [[proxies]] 配置块来定义多个代理。
  5. name = "vyos-frpc"

    • 代理的名称,用于标识这个特定的代理配置。
  6. type = "tcp"

    • 代理的类型。在这里,定义的是 TCP 代理。
  7. localIP = "127.0.0.1"

    • 本地IP地址。frpc 会将从 frps 转发过来的流量转发到这个IP地址。
  8. localPort = 22

    • 本地端口。frpc 会将从 frps 转发过来的流量转发到这个端口。
  9. remotePort = 34300

    • 远程端口。外部访问 frps 的这个端口时,frps 会将流量转发到 frpclocalIP:localPort 上。
serverAddr = "180.165.115.224"
serverPort = 14300
auth.token = "auth_password"

[[proxies]]
name = "vyos-frpc"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 34300

5.5、启动frps容器

set container name frpc allow-host-networks
set container name frpc capability 'net-admin'
set container name frpc capability 'sys-admin'
set container name frpc host-name 'frpc'
set container name frpc image 'docker.io/snowdreamtech/frpc:latest'
set container name frpc restart 'always'
set container name frpc volume toml destination '/etc/frp/frpc.toml'
set container name frpc volume toml source '/config/frp/frpc.toml'

5.6、查看容器状态

run show container

yydy_2024-07-16_11-53-24

六、测试验证

6.1、查看vyos-frps端口是否侦听

netstat -atunlp | grep 34300

yydy_2024-07-16_11-55-31

6.2、cmd测试登录

ssh -l vyos -p 34300 180.165.115.224

yydy_2024-07-16_12-31-22