[FRP]小白也能搞定的-极空间frp穿透
[FRP]小白也能搞定的-极空间frp穿透
MOREFOXserver

[FRP]小白也能搞定的-极空间frp穿透

MOREFOX
2024-03-31 / 0 评论 / 55 阅读 / 正在检测是否收录...

小白也能搞定的极空间frp穿透服务

 

  • 租用服务器过程就不演示了,
  • 需要提醒的一点是,阿里云租国内的服务器和租国外的服务器网页排版样式不一样,但方法都是一样的可以参考。
  • ECS服务器配置

    • 租一个Ecs服务器,性能不需要多高,这里用的是2核1G,系统用的是CentOS。
    • Ecs服务器租好后,记下公网ip地址,后面要用到。
    • 创建好管理员账户后,记下密码。

    • 服务端把需要开放的端口都开放。
    • 这里注意的是,需要开放的端口一般都是TCP转发来的,一般用在游戏服务器和一些后台服务类,网页之类的需要使用二级域名走80或443端口。

    Frp服务端配置

    使用ssh工具进入服务器

    • 随便哪款ssh工具都行,看你喜欢哪个用哪个。
    • 没有的话可以考虑下面这个
    • 这里推荐FinalShell

     

    • 或者使用我备份的破解版

    • 接下来使用ssh工具连接服务器。

    下载并配置frp

    参考这篇文章原文:https://zhuanlan.zhihu.com/p/129076009

    接下来的教程和上面链接的原文一样,后期需要修改,如果不懂可以完全照抄,后面再改。

    下载
    • 这里下载的是0.32.1版,下载慢可以去这里下载http://diannaobos.com/frp/ 或者 github上的release里面下载。
    • 说明:此处可以下载后在windows客户端解压最后上传到对应 /usr/local/frp/ 文件夹内。也可以完全按教程来敲指令。
    wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz
    
    解压
    tar -xvf frp_0.32.1_linux_amd64.tar.gz
    
    移动至 /usr/local

    新建个文件夹 :mkdir /usr/local/frp

    指令:mv frp_0.32.1_linux_amd64/* /usr/local/frp/ 全部移动到 /usr/local/frp 里面

    配置systemctl来控制,服务端运行

    vim打开文件: vim /usr/lib/systemd/system/frp.service 写入以下内容,注意上文的路径和此处有关。这里是启动的服务端。
    说明:此处可在windows端编辑文件并修改后缀,上传至 /usr/lib/systemd/system/ 文件夹,也可完全按照教程来敲指令。

    [Unit]
    Description=The nginx HTTP and reverse proxy server
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=simple
    ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
    KillSignal=SIGQUIT
    TimeoutStopSec=5
    KillMode=process
    PrivateTmp=true
    StandardOutput=syslog
    StandardError=inherit
    
    [Install]
    WantedBy=multi-user.target
    题外话,vim的保存退出和强制退出方法
    处于编辑模式的话,先按 esc 先退出编辑模式。
    原帖没写这个,有人研究了一小时怎么退出编辑模式,我不说是谁。
    :w      //按【:w】 保存文件
    :w!     //按【:w!】 文件为只读强制保存文件
    :q      //按【:q】 离开vi/vim
    :q!     //按【:q!】 不保存强制离开vi
    :wq     //按【:wq】 保存后离开
    :wq!    //按【:wq!】 强制保存后离开

    具体配置

    参考文章:frp实现内网穿透(centos7) 服务端 frps.ini, 客户端 frpc.ini

    服务端
    [common] 必须设置
    bind_port 是自己设定的frp服务端端口
    vhost_http_port 是自己设定的http访问端口
    [ssh] ssh反向代理(不是必须设置)
    listen_port 是自己设定的ssh访问端口
    auth_token用于身份认证(以下皆是)。
    [web] http反向代理[]里的内容可以自己设定,但是客户端和服务端必须要对应(如[aaa],[bbb]);
    type 为服务类型,可以设为http,https
    custom_domains为要映射的域名,记得域名的A记录要解析到外网主机的IP。
    [web2]同上(可设置多个)
    
    [common]
    bind_port = 7000
    vhost_http_port = 80
    [ssh]
    listen_port = 6000
    auth_token = 123
    [web]
    type = http
    custom_domains = test1.a.com
    auth_token = 123
    [web2]
    type = http
    custom_domains = test2.a.com
    auth_token = 123
    
    客户端
    [common]必填
    server_addrfrp服务端的ip(也就是外网主机的IP)
    server_portfrp服务端的bind_prot。
    [ssh]
    local_port客户端ssh端口。
    [web]
    type对应服务端配置
    local_port客户端访问端口。
    [web2]同上
    示例
    [common]
    server_addr = 10.10.10.10
    server_port = 7000
    auth_token = 123
    [ssh]
    local_port = 22
    [web]
    type = http
    local_port = 80
    [web2]
    type = http
    local_port = 8080
    

    直接运行服务端效果

    服务端最后
    • 出现上面提示就是启动成功了,后面即使修改也是修改配置文件不需要频繁ssh敲指令了。
    • 服务端修改配置文件后,需要敲 systemctl restart frp 指令来重启frp服务才有效果。
    • 如果你是完全按照上面的frp配置方法来的,接下来需要修改服务端和客户端配置文件。 /usr/local/frp/frps.ini

    双击打开frps.ini
    将配置文件内容修改为

    [common]
    bind_port = 7000
    vhost_http_port = 80
    vhost_https_port = 443
    auth_token = 123    //(密钥数字记得改掉,复制后“//”后的提示符记得全部删除)
    [ssh]
    listen_port = 6000
    auth_token = 123    //(密钥数字记得改掉,复制后“//”后的提示符记得全部删除)
    

    看起来很短但足够用了。
    因为客户端的配置才是重头戏,客户端连接服务端后,会自动生成对应的连接,此版本服务端并不需要配置。
    最后再重启以下服务端的frps服务来加载配置文件 systemctl daemon-reload

    以上,服务端就配置完成了。


     
     
     
     
     
     
     
     
     
     

     

    Frp客户端配置

    本教程内客户端即frpc的Docker容器。

    拉取frpc镜像

    在极空间docker内:选择 左边栏“镜像” - 上边“仓库” - 右边“自定义拉取” - 输入 oldiy/frpc:latest 后点击拉取

    docker pull oldiy/frpc:latest
    部署frpc镜像
    1. 在极空间个人空间,文件里找个合适的地方 新建一个用来存放frpc客户端配置文件的文件夹 往后称之为frpc文件夹
    2. 将刚刚从ssh内拷贝出来的三个 frpc开头的文件拷贝到到极空间 内的frp客户端文件夹内
    3. 本地镜像里,先择下载好的镜像 oldiy/frpc:latest ,点击上面的添加到容器
    4. 修改个顺眼的名称,打开 开机自启动
    5. 文件夹路径里,选中/frp规则,点上方编辑,选择刚新建的文件夹。
    6. 文件夹路径内规则,需要添加一条 /frp/frpc.ini ,选中点击编辑,选择刚刚文件夹内的frpc.ini文件,这条对应的注意一定要选中对应的frpc.ini文件才可以生效,否则会新建一个对应名称的文件夹。详情看下面的图片。
    7. 网络,点击更改, 修改为host ,这样就不需要单独配置一堆端口放行了,但需要注意的是,上级路由器 防火墙需要单独配置 ,防止被攻击。
    8. 命令栏里,勾选 -it ,即 interactive & ttc(-i-t)
    9. 能力栏里全勾上 ,防止报错。
    10. 最后点击应用 (部署容器)

    第三步,选择对应的ini配置文件

    修改配置文件

    找到刚刚的文件夹内的frpc.ini文件双击打开

    格式
    [common]
    server_addr = 你的服务端公网ip
    server_port = 7000
    auth_token = 123      //服务端配置文件内填写的密钥
    
    [http_web]
    type = http
    local_ip = 127.0.0.1
    local_port = 1234                         //网页内网端口
    custom_domains = 域名
    
    [https_web]
    type = https
    local_ip = 127.0.0.1
    local_port = 1234                         //网页内网端口
    custom_domains = 域名
    plugin = https2http
    plugin_local_addr = 127.0.0.1:1234        //网页内网端口
    plugin_host_header_rewrite = 域名
    plugin_crt_path  = /frp/xxx.crt                   //你的crt密钥文件地址
    plugin_key_path =  /frp/xxx.key                   //你的key密钥文件地址
    plugin_header_X-From_Where = frp             //https修复错位(实测用处不大)
    force_https = true                           //强制https
    
    [MC12]                       
    type = tcp                              //tcp写法  只要填写本地和服务端对外端口即可,比如这条就是minecraft服务器的穿透写法。
    local_ip = 127.0.0.1
    local_port = 25565                      //本地端口
    remote_port = 2024                      //对外端口    (复制后“//”后的提示文字记得全部都删除掉)
    说明
    plugin_crt_path  = /frp/xxx.crt                   //你的crt密钥文件地址
    plugin_key_path =  /frp/xxx.key                   //你的key密钥文件地址
    • 这两条,是 ssl证书签名 存放的地址,将证书文件丢在 "frpc文件夹" 根目录内,填写对应的文件名即可
    • 文件地址最前面的 /frp 是容器内的地址,对应 之前新建的 "frpc文件夹" 。
    • 如果丢在 "frpc文件夹" 内的是文件夹,在 /frp 后接上对应文件夹内地址即可。
      证书获取和部署等,详情请参考 极空间搭建typecho博客 这篇文章。
       
       

       
       

    6

    评论 (0)

    取消