frp内网穿透

1. frp下载与安装

frp 是⼀个开源、简洁易⽤、⾼性能的内⽹穿透和反向代理软件,⽀持 tcp, udp, http, https等协议。

2.frp的配置

  • 条件:配置frp穿透之前,需要有一台外网的ip,配置即需要配置服务端,又需要配置客户端。

2.1 服务端配置

2.1.1 下载frp文件

下载地址:戳我一下
以文件 frp_0.48.0_darwin_amd64.tar.gz
为例。
将文件上传至服务端的家目录。

2.1.2 修改配置文件

  • 将frp的压缩包上传到云服务的家目录之后, 远程登录云服务端
  • 解压压缩包
tar -zxvf frp_0.48.0_darwin_amd64.tar.gz
  • 进入解压后的目录
cd frp_0.48.0_darwin_amd64
  • 打开并修改配置文件
vi frps.ini
  • 将frps文件内容修改为如下:
[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# 授权码,请改成更复杂的
token = gaichengfuzade #该token之后会在客户端用到。

# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true

# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 2

这个是别人修改好之后的,仅供参考
在这里插入图片描述

2.1.3 设置frp自启动服务

  • 创建systemd/frps.service文件
    如果下载的版本里含有systemd/frps.service文件则可以忽略,如果没有的话,需要新建systemd文件夹和frps.service文件。
mkdir systemd
vi frps.service

将下面的配置复制到frps.service文件里

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini

[Install]
WantedBy=multi-user.target
  • 接下来开始移动文件到指定的路径下并设置自启动服务。
#创建/etc/frp目录
sudo mkdir -p /etc/frp
#将frps.ini移动到/etc/frp目录下
sudo mv frps.ini /etc/frp
#将frps程序移动到/etc/bin目录下
sudo mv frps /usr/bin
#将frps.service移动到/usr/lib/systemd/system/
sudo mv systemd/frps.service /usr/lib/systemd/system/


#允许开机自启动
sudo systemctl enable frps
sudo systemctl start frps

2.1.4 配置防火墙

  • 尝试使用下面命令配置防火墙
#添加监听端口
sudo firewall-cmd --permanent --add-port=7000/tcp
#添加管理后台端口
sudo firewall-cmd --permanent --add-port=7500/tcp
sudo firewall-cmd --reload
  • ubuntu或者centos6 ,需要使用ufw/iptables工具配置。
    我的云服务为Ubuntu,需要配置ufw。
sudo ufw allow 7000
sudo ufw allow 7500
  • 以腾讯云为例,还得需要配置一个地方来添加防火墙。需要在这个地方添加防火墙。
    在这里插入图片描述

2.1.5 验证服务端是否启动成功

访问:http://服务器IP:后台管理端口 ,输入用户名和密码可以查看链接状态。
在这里插入图片描述
至此,frps的服务端配置成功且完毕。

2.2 frp客户端配置

2.2.1 下载frp文件

下载地址:戳我一下
以文件 frp_0.48.0_darwin_amd64.tar.gz
为例。
将文件放到需要配置frp设备的家目录。

2.2.2 修改配置文件

  • 解压压缩包
tar -zxvf frp_0.48.0_darwin_amd64.tar.gz
  • 进入解压后的目录
cd frp_0.48.0_darwin_amd64
  • 打开并修改配置文件
vi frpc.ini

将文件内容修改为如下:

# 客户端配置
[common]
server_addr = xx.xx.xx.xx 
 # 与frps.ini的bind_port一致
server_port = 7000
 # 与frps.ini的token一致
token = 52010

# 配置ssh服务
[ssh]
type = tcp
local_ip = 192.168.xx.xx
local_port = 22
 # 这个自定义,之后再ssh连接的时候要用
remote_port = 6000

#配置vnc服务
[vnc]
type = tcp
local_ip = 192.168.xx.xx
local_port = 3389
remote_port = 80


# 配置http服务,可用于小程序开发、远程调试等,如果没有可以不写下面的
#[web]
#type = http
#local_ip = 127.0.0.1
#local_port = 8080
# web域名
#subdomain = test.hijk.pw
# 自定义的远程服务器端口,例如8080
#remote_port = 8080
  • 注意:[ssh] 这样的名称必须全局唯一,如果有多个客户端的话,其他的客户端在配置的时候,需要将[ssh]替换为[ssh2]、[ssh3]等,并且remote_port也要保持唯一。
  • 记得remote_port也要配置防火墙。

2.2.3 添加自启动

mkdir systemd
cd systemd
vi frpc.service
  • 将下面的内容复制到frpc.service里面。
[Unit]
Description=Frp Client
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini

[Install]
WantedBy=multi-user.target
  • 接下来开始移动文件到指定的路径下并设置自启动服务。
#创建/etc/frp目录
sudo mkdir -p /etc/frp
#将frpc.ini移动到/etc/frp目录下
sudo mv frpc.ini /etc/frp
#将frpc程序移动到/etc/bin目录下
sudo mv frpc /usr/bin
#将frpc.service移动到/usr/lib/systemd/system/
sudo mv systemd/frpc.service /usr/lib/systemd/system/


#允许开机自启动
sudo systemctl enable frpc

2.2.4 添加防火墙

sudo firewall-cmd --permanent --add-port=6000/tcp
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload

2.2.5 启动frp客户端

sudo systemctl start frpc

然后就可以登录frp远程控制客户端的机器了。

ssh -p 6000 客户端用户@云主机的IP
  • 其中6000是本地frpc.ini里面remote_port配置的值,且每个客户端唯一。

3.frp 一键安装(未尝试过)

安装frps

  • 阿里云下载脚本
wget https://code.aliyun.com/MvsCode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh

chmod 700 ./install-frps.sh

./install-frps.sh install
  • github下载脚本
wget https://raw.githubusercontent.com/MvsCode/frps-onekey/master/install-frps.sh -O ./install-frps.sh

chmod 700 ./install-frps.sh

./install-frps.sh install

卸载frps

./install-frps.sh uninstall

更新frps

执行更新之前,必须得先安装之后,才可以更新。

./install-frps.sh update

Frps 相关命令

以下为frps使用过程中可能会用到的命令。

服务启动: /etc/init.d/frps   start

服务停止:/etc/init.d/frps  stop

服务重启:/etc/init.d/frps  restart

服务状态:/etc/init.d/frps  status

服务配置文件:/etc/init.d/frps   config

服务版本号:/etc/init.d/frps  version

参考

参考文章

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值