使用docker搭建frp

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.ini文件

mkdir /root/data/docker_data/frps   #创建安装文件夹
cd /root/data/docker_data/frps      #进入安装文件夹
vim frps.ini

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

[common]
bind_addr = 0.0.0.0
bind_port = 7000            
# udp port to help make udp hole to penetrate nat
bind_udp_port = 7001

# udp port used for kcp protocol, it can be same with 'bind_port'
# if not set, kcp is disabled in frps

# set dashboard_addr and dashboard_port to view dashboard of frps
# dashboard_addr's default value is same with bind_addr
# dashboard is available only if dashboard_port is set
dashboard_addr = 0.0.0.0
dashboard_port = 7500

# dashboard user and passwd for basic auth protect, if not set, both default value is admin
dashboard_user = admin
#web-ui用户名
dashboard_pwd = admin
#web-ui密码

# auth token
token = admin
#认证token

# pool_count in each proxy will change to max_pool_count if they exceed the maximum value
max_pool_count = 20

  1. 配置docker-compose文件并运行

vim docker-compose.yml
version: '3.3'
services:
    frps:
        restart: always
        network_mode: host
        volumes:
            - './frps.ini:/etc/frp/frps.ini'
        container_name: frps
        image: snowdreamtech/frps:0.51.3
docker-compose up -d

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

安装frpc

  1. 配置frpc.ini文件

mkdir /root/data/docker_data/frpc   #创建安装文件夹
cd /root/data/docker_data/frpc      #进入安装文件夹
vim frpc.ini

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

[common]
server_addr = 127.0.0.1
server_port = 7000
token = admin #frps.ini文件中的token

[应用名称1]
type = tcp
local_ip = 127.0.0.1
local_port = 8888        
#本端口地
remote_port = 9999      
#远程端口

[应用名称2]
type = tcp
local_ip = 127.0.0.1
local_port = 1111
#本端口地
remote_port = 2222
#远程端口

  1. 配置docker-compose文件并运行

vim docker-compose.yml
version: '3.3'
services:
    frps:
        restart: always
        network_mode: host
        volumes:
            - './frpc.ini:/etc/frp/frpc.ini'
        container_name: frpc
        image: snowdreamtech/frpc:0.51.3
docker-compose up -d

参考资料

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

文章作者: 无知的小白
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 无知的小白
VPS技能 vps docker
喜欢就支持一下吧