zoukankan      html  css  js  c++  java
  • 0001_20190327_使用frp搭建内网穿透

    1. 环境

    a)         公网服务器为阿里云的ECS  Windows  2008 R2服务器, 有公网IP地址; 这个作为frp的服务器

    b)         内网是开发服务器, Centos 7

    c)         在https://github.com/fatedier/frp/releases 下载最新的frp包  ;当前最新的是0.25.3(2019年3月27日21:55:28)

    d)         其中windows_amd64对应的就是windows 64位系统; linux_amd64对应的就是64位linux系统;

    2. 先说配置windows服务器端:

    a)  把frp_0.25.3_windows_amd64.zip复制到服务器上, 解压到C:frp的目录下, 没有用的删除, 下图:

       

      b)         修改frps.ini文件, 输入以下内容:

    [common]

    bind_addr = 0.0.0.0

    bind_port = 7000

    dashboard_port = 7500

    dashboard_user = admin

    dashboard_pwd = admin

    log_file = ./frps.log

    log_level = error

    token = 12345678

      下图:

       

      c)         管理员命令打开cmd, 输入下图命令回车, 启动frps服务:

        C:UsersAdministrator>c:frpfrps.exe -c c:frpfrps.ini

      

      d)         打开任务管理器, 看看frps.exe启动没有

       

      e)         使用浏览器访问公网IP地址:7500,在输入admin/admin后将看到下图界面:

       

    2. Frp服务器端配置完毕; 接下来配置frp客户端, 因为客户端是内网用的Centos 7开发服务器, 所以需要先下载frp_0.25.3_linux_amd64.tar.gz; 使用xftp工具上传到指定目录:

      a) 这里上传到/thisdirsavfile/, 这个目录是我自己建的,当然使用wget也可以, 下图:

       

      b)解压到指定目录:

    [root@localhost thisdirsavfile]# mkdir /usr/frp
    [root@localhost thisdirsavfile]# tar zxvf frp_0.25.3_linux_amd64.tar.gz -C /usr/frp

    c) 编辑frpc.ini文件:

    [root@localhost frp]# vim frp_0.25.3_linux_amd64/frpc.ini

    #输入下面的内容

    [common]
    
    server_addr =你的IP地址
    
    server_port = 7000
    
    token = 12345678(这个token一定要和服务器的对应)
    
    [ssh]
    
    type = tcp
    
    local_ip = 127.0.0.1
    
    local_port = 22
    
    remote_port = 6000

      d)  启动客户端的frp服务:

    [root@localhost frp]# cd frp_0.25.3_linux_amd64/

      [root@localhost frp_0.25.3_linux_amd64]# ./frpc -c ./frpc.ini

    2019/03/28 03:45:14 [I] [service.go:221] login to server success, get run id [8a139b4ec11a8e1b], server udp port [0
    
    2019/03/28 03:45:14 [I] [proxy_manager.go:137] [8a139b4ec11a8e1b] proxy added: [ssh]
    
    2019/03/28 03:45:14 [I] [control.go:144] [ssh] start proxy success 

      e)使用Xshell进行测试连接:

       i.  新建会话

     

        ii. 这里是输入内网linux服务器的用户名和密码:

     

         iii.输入完密码之后即可穿透成功

      f) 注意的问题:

             i.  因为是阿里云的服务器, 所以一定要在安全组放行frp使用到的端口

             ii.  我这里内网开发的服务器, 所以直接把Centos 的防火墙关了, 端口放行的问题根据自己的实际情况

             iii.  注意服务端和客户端frp的token一定要对应

             iv.  停止windows的服务器端, 到任务管理器中把frps.exe结束任务

             v. 停止linux上的frpc, 则使用下面的命令:

    [root@localhost frp_0.25.3_linux_amd64]# ps -aux|grep frp
    root       793  0.0  0.0 112724   988 pts/1    S+   04:39   0:00 grep --color=auto frp
    root     32303  0.0  0.0 112648 12332 pts/0    Sl+  04:22   0:00 ./frpc -c ./frpc.ini
    [root@localhost frp_0.25.3_linux_amd64]# ps -aux|grep frp|grep -v grep
    root     32303  0.0  0.0 112648 12332 pts/0    Sl+  04:22   0:00 ./frpc -c ./frpc.ini
    [root@localhost frp_0.25.3_linux_amd64]# kill -9 32303

       vi. 作为后台服务启动, 如果不作为后台服务启动, 你的ssh一关闭, 服务也关闭了

    [root@localhost ~]# nohup /usr/frp/frp_0.25.3_linux_amd64/frpc -c /usr/frp/frp_0.25.3_linux_amd64/frpc.ini 
    

      vii. 使用脚本设置开机启动, 并后台运行

    [root@localhost ~]# vim /usr/lib/systemd/system/frpc.service 
    
    [Unit]
    Description=frpc
    After=network.target
    
    [Service]
    TimeoutStartSec=30
    
    ExecStart=/usr/frp/frp_0.25.3_linux_amd64/frpc -c /usr/frp/frp_0.25.3_linux_amd64/frpc.ini
    ExecStop=/bin/kill $MAINPID
    
    [Install]
    WantedBy=multi-user.target
    

      viii. 执行脚本命令:

    [root@localhost ~]# systemctl enable frpc  --开机启动
    [root@localhost ~]# systemctl start frpc  --启动frpc
    [root@localhost ~]# systemctl stop frpc --停止frpc
    

      iv. token错误:

    [root@localhost frp_0.33.0_linux_amd64]# ./frpc -c ./frpc.ini
    2020/06/24 15:35:02 [E] [service.go:273] token in login doesn't match token from configuration
    2020/06/24 15:35:02 [W] [service.go:101] login to server failed: token in login doesn't match token from configuration
    token in login doesn't match token from configuration

    不知道怎么回事, 后来把 frpc.ini里的token直接删了, 就可以了

     

  • 相关阅读:
    文件的上传
    自定义EL表达式的函数
    JSTL 自定义标签
    Java c3p0连接池之二
    Java c3p0连接池
    JSP 登录与注册的小案例
    Java jdbc 连接oracle之三(封装工具类)
    Java jdbc 连接oracle之二(使用properties文件)
    Swift中Notification.Name自定义枚举
    swift UITableViewCell 策划删除,iOS11之后 设置侧滑不到最左边
  • 原文地址:https://www.cnblogs.com/wxylog/p/10611632.html
Copyright © 2011-2022 走看看