Linux安装FRP(内网穿透)

  1. 项目简介

  2. 需求背景
    1.FileBrowser访问地址:http://X.X.X.X:8181,该地址只能在局域网内部访问而无法通过互联网访问,想要通过互联网
    访问到该地址需要通过公网IP来进行端口转发,通常家里的路由器IP都不是公网IP,通常公司的路由器IP都是公网IP
    
    2.如果FileBrowser部署在公司局域网内的机器上,并且具有公司路由器的管理员账号密码,可以通过路由器配置端口转发,
    互联网访问地址(公司IP:外部端口)时,请求会被转发到X.X.X.X:8181,从而实现互联网访问FileBrowser,通过手机访问
    FileBrowser进行文件上传下载,功能类似个人云盘
    
    3.如果FileBrowser部署在家庭的机器上,需要进行内网穿透才可以实现互联网访问,FRPS部署在具有公网IP的机器上 例:
    云服务器,FRPC部署在FileBrowser所在机器上,通过云服务器作为媒介实现端口转发,互联网访问地址(云服务器IP:外部
    端口)时,请求会被转发到X.X.X.X:8181,从而实现互联网访问FileBrowser
  3. 安装目录
    mkdir -p /opt/frp && cd /opt/frp
  4. 安装包下载
    wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz
    注意:https://github.com/fatedier/frp/releases获取下载链接并替换
  5. 安装包解压
    for file in *.tar.gz; do tar -zxvf "$file" --strip-components=1; done
  6. 环境变量
    echo -e "\n# 设置frp环境变量" >> /etc/profile
    echo -e "export FRP_HOME=/opt/frp" >> /etc/profile
    echo -e "export PATH=\$FRP_HOME:\$PATH" >> /etc/profile
    source /etc/profile
  7. FRPS配置
    #----------------------------------------------------------
    sudo tee /opt/frp/frps.ini <<-'EOF'
    [common]
    bind_port = 6666
    dashboard_port = 7777
    token = AAAAAA
    dashboard_user = BBBBBB
    dashboard_pwd = CCCCCC
    EOF
    #----------------------------------------------------------
    firewall-cmd --zone=public --add-port=6666/tcp --permanent && firewall-cmd --reload
    firewall-cmd --zone=public --add-port=7777/tcp --permanent && firewall-cmd --reload
    #----------------------------------------------------------
    # 注意:云服务器防火墙与安全组打开端口6666、7777
  8. FRPS常用命令
    启动:nohup frps -c /opt/frp/frps.ini > /opt/frp/frps.log &
    查看:ps -ef | grep -i frps
    关闭:pkill -f "frps"
    注意:启动后光标复原Ctrl+C 修改配置frps.ini后需重启生效
    
    启动日志:/opt/frp/frps.log
    2023/08/27 22:36:22 [1;34m[I] [root.go:204] frps uses config file: /opt/frp/frps.ini[0m
    2023/08/27 22:36:22 [1;34m[I] [service.go:206] frps tcp listen on 0.0.0.0:7000[0m
    2023/08/27 22:36:22 [1;34m[I] [service.go:318] Dashboard listen on 0.0.0.0:7500[0m
    2023/08/27 22:36:22 [1;34m[I] [root.go:213] frps started successfully[0m
  9. FRPS开机启动
    #----------------------------------------------------------
    sudo tee /usr/bin/frps.sh <<-'EOF'
    #! /bin/bash
    nohup /opt/frp/frps -c /opt/frp/frps.ini > /opt/frp/frps.log &
    EOF
    chmod +x /usr/bin/frps.sh
    #----------------------------------------------------------
    sudo tee /etc/systemd/system/frps.service <<-'EOF'
    [Unit]
    Description=frps
    After=syslog.target network.target
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/bin/frps.sh
    [Install]
    WantedBy=multi-user.target
    EOF
    #----------------------------------------------------------
    systemctl enable frps
    #----------------------------------------------------------
    # 启动frps
    systemctl start frps
    # 停止frps
    systemctl stop frps
    # 重启frps
    systemctl restart frps
    # 查看frps状态
    systemctl status frps
  10. FRPS面板
    http://your-server-ip:7777
    用户名:BBBBBB 密码:CCCCCC

  11.  FRPC配置
    #----------------------------------------------------------
    sudo tee /opt/frp/frpc.ini <<-'EOF'
    [common]
    # FRPS服务所在机器的IP地址(公网IP)
    server_addr = Y.Y.Y.Y
    server_port = 6666
    token = AAAAAA
    [FileBrowser]
    type = tcp
    local_ip = X.X.X.X
    local_port = 8181
    # FRPS服务所在机器的访问端口(需要打开)
    remote_port = 8888
    EOF
    #----------------------------------------------------------
    firewall-cmd --zone=public --add-port=8181/tcp --permanent && firewall-cmd --reload
    #----------------------------------------------------------
    # 注意:云服务器防火墙与安全组打开端口8888
  12. FRPC常用命令
    启动:nohup frpc -c /opt/frp/frpc.ini > /opt/frp/frpc.log &
    查看:ps -ef | grep -i frpc
    关闭:pkill -f "frpc"
    注意:启动后光标复原Ctrl+C 修改配置frpc.ini后需重启生效
    
    启动日志:/opt/frp/frpc.log
    2023/08/27 23:50:05 [1;34m[I] [root.go:220] start frpc service for config file [/opt/frp/frpc.ini][0m
    2023/08/27 23:50:05 [1;34m[I] [service.go:301] [7b5ed0825c698677] login to server success, get run id [7b5ed0825c698677][0m
    2023/08/27 23:50:05 [1;34m[I] [proxy_manager.go:150] [7b5ed0825c698677] proxy added: [FileBrowser][0m
    2023/08/27 23:50:05 [1;34m[I] [control.go:172] [7b5ed0825c698677] [FileBrowser] start proxy success[0m
  13. FRPC开机启动
    #----------------------------------------------------------
    sudo tee /usr/bin/frpc.sh <<-'EOF'
    #! /bin/bash
    nohup /opt/frp/frpc -c /opt/frp/frpc.ini > /opt/frp/frpc.log &
    EOF
    chmod +x /usr/bin/frpc.sh
    #----------------------------------------------------------
    sudo tee /etc/systemd/system/frpc.service <<-'EOF'
    [Unit]
    Description=frpc
    After=syslog.target network.target
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/bin/frpc.sh
    [Install]
    WantedBy=multi-user.target
    EOF
    #----------------------------------------------------------
    systemctl enable frpc
    #----------------------------------------------------------
    # 启动frpc
    systemctl start frpc
    # 停止frpc
    systemctl stop frpc
    # 重启frpc
    systemctl restart frpc
    # 查看frpc状态
    systemctl status frpc
  14. 访问测试
    互联网访问FileBrowser失败原因分析:
    
    1.启动顺序为先启动FRPS后启动FRPC
    
    2.FRPS与FRPC的安装包版本要一致
    
    3.FRPS与FRPC的安装包要与所在系统一致
    Linux:frp_x.x.x_linux_amd64.tar.gz
    Windows:frp_x.x.x_windows_amd64.zip
    
    4.启动日志确认FRPC与FRPS成功建立连接
    
    5.检查FRPS与FRPC防火墙是否打开端口权限
    
    6.检查云服务器安全组是否打开端口权限

  15. 常用地址
    GitHub:https://github.com/fatedier/frp
     
    文档地址(官方):https://gofrp.org
    
    文档地址(个人):https://www.bookstack.cn/read/frp
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
本处高能:因Frp作者更换新的模块,导致Frp v0.18.0与之前的版本不兼容,如果升级请服务器端同步升级。升级命令: wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh bash install-frps.sh update 首先感谢@sadoneli S大的帮助完成了frp插件web页面的制作。 WARNING:请仔细阅读完本教程1楼和2楼后再动手安装frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。 *因为frp是go语言写的,所以在路由器上使用的时候,请使用虚拟内存,请使用虚拟内存,请使用虚拟内存。 脚本是业余爱好,英文属于文盲,写的不好,欢迎您批评指正。 安装平台:CentOS、Debian、Ubuntu。 已测试过的平台: CentOS 6 32/64bit CentOS 7 32/64bit Debian 6 32/64bit Debian 7 32/64bit Debian 8 32/64bit Ubuntu 14 32/64bit 一、安装命令这个命令是在你自己的服务器上运行的!是在你自己的服务器上运行的!是在你自己的服务器上运行的!不是在路由器里运行的!不是在路由器里运行的!不是在路由器里运行的! wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh chmod 700 ./install-frps.sh ./install-frps.sh install 二、安装步骤 Loading network version for frps, please wait... frps Latest release file frp_0.8.1_linux_amd64.tar.gz #此步骤会自动获取frp最新版本,自动操作,无需理会 Loading You Server IP, please wait... You Server IP:12.12.12.12 #自动获取你服务器的IP地址 Please input your server setting: Please input frps bind_port [1-65535](Default Server Port: 5443): #输入frp提供服务的端口,用于服务器端和客户端通信 Please input frps dashboard_port [1-65535](Default dashboard_port: 6443): #输入frp的控制台服务端口,用于查看frp工作状态 Please input frps vhost_http_port [1-65535](Default vhost_http_port: 80): #输入frp进行http穿透的http服务端口 Please input frps vhost_https_port [1-65535](Default vhost_https_port: 443): #输入frp进行https穿透的https服务端口 Please input privilege_token (Default: WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq): #输入frp服务器和客户端通信的密码,默认是随机生成的 Please input frps max_pool_count [1-200](Default max_pool_count: 50): #设置每个代理可以创建的连接池上限,默认50 ##### Please select log_level ##### 1: info 2: warn 3: error 4: debug ##################################################### Enter your choice (1, 2, 3, 4 or exit. default [1]): #设置日志等级,4个选项,默认是info Please input frps log_max_days [1-30] (Default log_max_days: 3 day): #设置日志保留天数,范围是1到30天,默认保留3天。 ##### Please select log_file ##### 1: enable 2: disable ##################################################### Enter your choice (1, 2 or exit. default [1]): #设置是否开启日志记录,默认开启,开启后日志等级及保留天数生效,否则等级和保留天数无效 设置完成后检查你的输入,如果没有问题按任意键继续安装 ============== Check your input ============== You Server IP : 12.12.12.12 Bind port : 5443 Dashboard port : 6443 vhost http port : 80 vhost https port: 443 Privilege token : WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq Max Pool count : 50 Log level : info Log max days : 3 Log file : enable ============================================== 安装结束后显示: Congratulations, frps install completed! ============================================== You Server IP : 12.12.12.12 Bind port : 5443 Dashboard port : 6443 vhost http port : 80 vhost https port: 443 Privilege token : WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq Max Pool count : 50 Log level : info Log max days : 3 Log file : enable # 将上面信息添加到你的路由器frp穿透插件中吧 ============================================== frps Dashboard: http://12.12.12.12:6443/ # 这个是frp控制台访问地址 ============================================== 三、更新命令 ./install-frps.sh update 四、卸载命令 ./install-frps.sh uninstall 五、服务器端管理命令 /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 七、更多帮助请移步官方帮助文件 https://github.com/fatedier/frp/blob/master/README_zh.md
在两个Linux系统上使用frp进行内网穿透,需要准备一台公网服务器、内网客户端和服务端,然后按照以下步骤进行安装和配置。 1. 在公网服务器上下载并解压frp压缩包。可以从官方网站或其他可信来源下载适用于Linux系统的frp压缩包。解压缩后,你将得到frpsfrpc两个可执行文件。这两个文件分别用于服务端和客户端。 2. 在公网服务器上配置frps服务端。编辑frps.ini配置文件,设置监听的端口和其他相关参数,例如token和log_file等。确保配置文件中的部分与你的需求相匹配。 3. 在内网客户端上下载并解压frp压缩包。同样地,你可以从官方网站或其他可信来源下载适用于Linux系统的frp压缩包。解压缩后,你将得到frpc可执行文件。 4. 在内网客户端上配置frpc客户端。编辑frpc.ini配置文件,设置通信方式、服务器地址和端口等参数。确保配置文件中的部分与你的需求相匹配。 5. 在公网服务器上启动frps服务端。使用命令行运行以下命令来启动frps: ``` ./frps -c frps.ini ``` 6. 在内网客户端上启动frpc客户端。使用命令行运行以下命令来启动frpc: ``` ./frpc -c frpc.ini ``` 通过以上步骤,你就可以在两个Linux系统上使用frp进行内网穿透了。确保公网服务器与内网客户端都正常运行,并且配置文件中的参数正确设置。这样,你就可以通过frp实现公网服务器和内网客户端之间的网络穿透连接。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [内网穿透工具frp_0.41.0_Linux+Windows的amd64](https://download.csdn.net/download/object_admin/85170961)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [frp实现内网穿透Linux->Linux(详细)](https://blog.csdn.net/weixin_49764009/article/details/122018688)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

童心同萌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值