使用docker搭建frp

共计 1938 个字符,预计需要花费 5 分钟才能阅读完成。

frp分为frps和frpc,frpc一般安装在无公网的本地机器A上,frps一般安装在有公网的远程机器B上。利用frps可以将A的一些端口映射到B的对应端口上,以达到在公网中访问A的效果。

例如,A无公网,B有公网ip且IP地址为11.22.33.44。在A的8888端口部署了一个服务,虽然A的局域网内可以访问服务,但无法在远程网络访问服务。这时在A中安装frpc,在B中安装frps,并将A的8888端口映射到B的9999端口;此时我们就可以通过访问11.22.33.44:9999访问到A的服务了。

具体的操作如下。

安装frps

  1. 配置frps.toml文件
mkdir /root/data/docker_data/frps   #创建安装文件夹
cd /root/data/docker_data/frps      #进入安装文件夹
vim frps.toml

粘贴如下内容,并自行编辑用户名、密码和token(将admin删除并更改成自己的)。

bindPort = 7000 #{必选} 客户端与该端口建立连接      
log.to = "console" #{可选}  日志配置, 通过打印的方式输出日志  
vhostHTTPPort = 7100 #{可选} http代理需要,当访问该端口时跳到对应本地frpc代理
vhostHTTPSPort = 7200  #{可选} https代理需要,当访问该端口时跳到对应本地frpc代理 
transport.tcpMux = true #tcp流多路复用(优化传输,需一致)

#身份验证

auth.method = "token"  #{可选}身份验证方式 
auth.token = "password" #token设置密码,用于通过身份验证创建连接

#frp服务仪表板配置

webServer.port = 7300  #{也可自行修改端口}      
webServer.addr = "0.0.0.0" #公网ip或者域名  
webServer.user = "admin" #登录用户名{可自行修改}    
webServer.password = "admin" #登录密码{可自行修改}
  1. 配置docker-compose文件并运行
vim docker-compose.yml
version: '3.3'
services:
    frps:
        restart: always
        network_mode: host
        volumes:
            - './frps.toml:/etc/frp/frps.toml'
        container_name: frps
        image: snowdreamtech/frps:latest
docker-compose up -d

web-ui界面:你的ip:7500,密码为frps.toml文件中创建的用户名和密码。

安装frpc

  1. 配置 frpc.toml 文件
mkdir /root/data/docker_data/frpc   #创建安装文件夹
cd /root/data/docker_data/frpc      #进入安装文件夹
vim frpc.toml

粘贴如下内容。其中token为frpc.toml 文件中的token。应用名称1和应用名称2可以自行更改,但不能相同。本地端口为A的端口,远程端口为B的端口,可以自行修改。

serverAddr = "1.2.3.4"   #[必选]服务器ip地址/域名
serverPort = 7000        # [必选] 要连接的 frps 端口
transport.protocol = "kcp"  #传输协议选择(除tcp以外的协议要填)
auth.token = "password"   #与服务端校验的令牌(需一致)
transport.tcpMux = true   #tcp流多路复用(优化传输,需一致)

示例
[[proxies]]                      
name = "web"                     # 代理名称(随便填)
type = "tcp"                     # 代理类型
localIP = "192.168.0.105"        # 代理地址, 要转发到哪个地址
localPort = 5500                 # 代理端口, 要转发到哪个端口
remotePort = 7001                # 远程端口(和远程 frps 哪个端口绑定在一起, 访问对应端口将使用该代理)
  1. 配置docker-compose文件并运行
vim docker-compose.yml
version: '3.3'
services:
    frps:
        restart: always
        network_mode: host
        volumes:
            - './frpc.toml :/etc/frp/frpc.toml '
        container_name: frpc
        image: snowdreamtech/frpc:latest
docker-compose up -d

WINDOWS运行命令frpc.exe -c frpc.toml

参考资料

frp的docker仓库:https://hub.docker.com/u/snowdreamtech

正文完
 
评论(没有评论)
验证码