frp是一款内网穿透工具,在现在宽带没有公网 IP 的年代,NAS 服务器之类的,必须使用内网穿透来解决 WAN 下的访问问题。
这里使用 clangcn 的一键安装脚本,用于 VPS 上安装 frp。
支持的平台:
- Centos 6/7 32/64bit
- Debian 6/7 32/64bit
- Ubuntu 14 32/64bit
安装
下载脚本
1 | $ wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh |
修改权限
1 | $ chmod 700 ./install-frps.sh |
开始安装
1 | $ ./install-frps.sh install |
安装过程选项的说明
选项 | 说明 | 默认 |
---|---|---|
download_url | frp 镜像源下载地址 | aliyun |
bind_port | frp 提供服务的端口 | 5443 |
vhost_http_port | http 服务端口 | 80 |
vhost_https_port | https 服务端口 | 443 |
dashboard_port | frps 仪表盘端口,用于查看 frp 工作状态 | 6443 |
dashboard_user | 仪表盘登录账号 | admin |
dashboard_pwd | 仪表盘登录密码 | 随机 |
token | frps 和 frpc 通讯密码 | 随机 |
max_pool_count | 每个代理的连接上线 | 50 |
log_level | 日志等级 | info |
log_max_days | 日志保留天数 | 3 |
log_file | 是否开启日志 | enable |
tcp_mux | 是否开启多路复用,减少 tcp 的握手延迟 | enable |
kcp support | 是否开启 kcp | enable |
注意设置安全组或者防火墙
功能命令
命令 | 说明 |
---|---|
frps start | 启动 |
frps stop | 停止 |
frps restart | 重启 |
frps status | 当前服务状态 |
frps config | vi 编辑配置 |
frps version | 查看版本 |
install-frps.sh update | 更新脚本 |
install-frps.sh uninstall | 卸载 |
fprc 配置
这里主要说一下服务器以及客户端的配置:
首先是 frps.ini
,这个文件一般是脚本配置后自动生成的,这里注释说明一下并稍微添加修改:
1 | [common] |
下面是关于客户端的配置,假设有一台路由器 A 以及一台位于其他位置的电脑 B,其中 A 为 24 小时开机,A 内设有 Syncthing 用来同步其他设备,并安装 sftp。
现在需要开放 A 中的 Syncthing、sftp、ssh 供 B 访问(其中 sftp 与 ssh 端口相同),需要进行的 frpc.ini
配置:
1 | [common] |
经过设置,可以在任意设备中输入http://sync.xxx.com:82
来访问 Syncthing 的控制台,也可以用 xxx.com:50022 来访问
电脑 B 中的 frpc.ini
1 | [common] # 与上面相同即可 |
经过设置,B 与 A 可以通过 p2p 直连,heartnn 测试过 sftp 完全没问题,但 ssh 没能通过 p2p,只能过 VPS 中转,不过已经完全够用了。