frp内网穿透容器化快速部署

关于frp

frp可以作为一个流量代理代发,可以将公网的流量转发到内网访问,从而实现访问公网即可访问到内网。
使用例子:两个不同局域网之间ssh访问
GitHub官网见:frp
详细使用见:frp详细使用

机器选择

为便于快速部署及管理,这里使用容器化部署:
server端为阿里云ECS,client端则对应内网的linux系统,
假设域名为www.abc.com

server端

docker-compose.yml

  sonic-frps:
    container_name: frps
    image: snowdreamtech/frps
    restart: always
    network_mode: "host"
    volumes:
      - /var/docker/frps/frps.ini:/etc/frp/frps.ini
    environment:
      version: 2

其中配置文件frps.ini见:
token必须要和client端token对应,加密用;

[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
token = abcdef

docker-compose up -d 启动后:
在这里插入图片描述
查看:域名:7500端口,监控面板:
在这里插入图片描述

client端

docker-compose.yml

  sonic-frpc:
    image: "snowdreamtech/frpc"
    container_name: frpc
    restart: "always"
    network_mode: "host"
    privileged: true
    volumes:
      - /home/frpc-c.ini:/etc/frp/frpc.ini
    environment:
      version: 1

其中配置文件frpc.ini见:

[common]
tls_enable = true
server_addr = www.abc.com
server_port = 7000
token = abcdef

[websocket_service]
type = tcp
local_ip = 127.0.0.1
local_port = 7777
remote_port = 7001

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7050

备注:
1、【多client处理】如果一个机器需要部署2个client端,则再起一个client端容器即可,其中
[websocket_service]、[ssh]需要更名,可以随机取[websocket_service1]、[ssh2];
2、以上所有的端口client端都不能重复使用;
3、阿里云ECS的安全组需要对以上的所有的端口增加开放;
4、如果是公司内部,需要注意ssh是否能对外访问,注意运维端口是否有ssh出口封禁;

验证

假设ECS的client端登陆用户为test

ssh -oPort=7050 test@www.abc.com

如果能登陆上即可.

此时sever端容器日志会出现一条访问请求
在这里插入图片描述
说明请求已经发送到server端,表示配置正常;

其他

1、观察dashboard,可以实时看到连接的情况
在这里插入图片描述

2、具体用法可以查看
frp服务端配置参数
frp客户端配置参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值