赞
踩
frp可以作为一个流量代理代发,可以将公网的流量转发到内网访问,从而实现访问公网即可访问到内网。
使用例子:两个不同局域网之间ssh访问
GitHub官网见:frp
详细使用见:frp详细使用
为便于快速部署及管理,这里使用容器化部署:
server端为阿里云ECS,client端则对应内网的linux系统,
假设域名为www.abc.com
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端口,监控面板:
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客户端配置参数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。