frp实现内网穿透

frp实现内网穿透

服务端配置
  • 在外网服务器下载frp安装解压

    • 网站:https://github.com/fatedier/frp/releases/tag/v0.33.0

    • 要下载正确版本的,首先用arch命令查看服务器的架构

    • 我这里是x86-64架构的,所以选择 frp_0.33.0_linux_amd64.tar.gz

    • 选择一个目录并解压 tar -zxvf frp_0.33.0_linux_amd64.tar.gz

      • 进入该目录 cd frp_0.33.0_linux_amd64/

      • 打开配置文件 vi frps.ini

      • frps.ini最终的位置放在了服务器的

      • 修改内容为

        [common]
        # frp监听的端口,默认是7000,可以改成其他的
        bind_port = 7000
        # 授权码,请改成更复杂的
        token = 52010  # 这个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 = 3
        
        
      • 依次执行以下命令

        sudo mkdir -p /etc/frp
        sudo cp frps.ini /etc/frp
        sudo cp frps /usr/bin
        sudo cp systemd/frps.service /usr/lib/systemd/system/ #这里要先在/usr/lib/systemd下创建一个system文件夹
        sudo systemctl enable frps
        sudo systemctl start frps
        
      • 远程服务器需要用命令或者在管理平台打开相应的端口号

      • 验证服务是否启动 http://服务器IP:后台管理端口

客户端配置
  • 首先也要下载对应版本的frp mac 下载 frp_0.33.0_darwin_amd64.tar.gz

  • 下载后解压

  • 更改frpc.ini /usr/local/frps/frp_0.33.0_linux_amd64

    # 客户端配置
    [common]
    server_addr = 服务器ip
     # 与frps.ini的bind_port一致
    server_port = 7000
     # 与frps.ini的token一致
    token = 52010
    
    # 配置ssh服务
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
     # 这个自定义,之后再ssh连接的时候要用
    remote_port = 6000 
    
    # 配置http服务,可用于小程序开发、远程调试等,如果没有可以不写下面的
    [web]
    type = http
    local_ip = 127.0.0.1
    local_port = 8080
    # web域名
    subdomain = test.hijk.pw
    # 自定义的远程服务器端口,例如8080
    remote_port = 8080
    
    
  • 启动 ./frpc -c frpc.ini

  • 测试 ssh 用户名@服务端ip -p 端口号

  • 这里的用户名是你要访问的电脑的用户名 密码是电脑密码

问题

  • 在远程虚拟机里面想要进行内网穿透,执行./frpc -c frpc.ini的时候,发生了以下问题

connect: no route to host dial tcp 60.204.204.64:7000: connect: no route to host

发现虚拟机里面网络不能正常使用,于是重启网络,正常使用后,再次输入指令,成功运行。

  • 如果发现ssh客户端时refuse 则说明客户端ssh没有打开

    • 如下错误

    • [E] [proxy.go:766] [4d0ecb7a6c38f035] [ssh] connect to local service [127.0.0.1:22] error: dial tcp 127.0.0.1:22: connect: connection refused
      
      • 此时mac用终端启动ssh
        • sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
      • 查看ssh启动情况
        • sudo launchctl list | grep ssh
        • 成功开启显示 - 0 com.openssh.sshd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值