内网穿透教程

阿里云服务器需要做的工作

  1. 下载并解压 https://github.com/fatedier/frp

  2. 修改配置文件frps.ini 记得设置一个长一点的密码

    [common]
    bind_port = 7000
    token = wo_shi_aliyun_mima
    
  3. 开启TCP协议, 端口是7000

  4. 运行nohup ./frps -c frps.ini >logfile.dat 2>&1 &

  5. 停止ps -aux|grep frp| grep -v grep 查看进程号, 进程号是第一个数字

    kill -9 进程号可停止, 例如kill -9 3498

实验室服务器需要做的工作

  1. 下载并解压 https://github.com/fatedier/frp

  2. 修改配置文件frpc.ini

    假设阿里云的公网ip是47.13.4.5

    [common]
    server_addr = 47.13.4.5
    server_port = 7000
    token = wo_shi_aliyun_mima
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000
    
  3. 运行nohup ./frpc -c frpc.ini >logfile.dat 2>&1 &

个人电脑需要做的工作

假设实验室机器的用户名为shiyanshi
ssh -p 6000 shiyanshi@47.13.4.5

安全策略

上面的步奏是可以轻松实现内网穿透, 但是会把实验室的机器暴露在公网里, 为此, 建议用安全策略

多控模式

如果实验室有多台服务器, 该怎么处理?

假设实验室有两台服务器A与B

开机启动

简单方法

这个已经测试成功
/etc/rc.local的代码exit 0前面加上开启frp的命令即可, 例如在阿里云上添加
nohup /xxx/frps -c /xxx/frps.ini >/xxx/logfile.dat 2>&1 &
这里xxx为/frp的绝对路径

非root的方法

这个并没有测试成功
这个并没有测试成功

利用crontab命令实现

  1. crontab -e
  2. @reboot nohup /xxx/frps -c /xxx/frps.ini >/xxx/logfile.dat 2>&1 &

常用命令

停止crontab正在执行的任务

免密登陆

这种功能方法比输入密码肯定要安全不少
, 并且也方便很多. 但是也要注意安全, 万一自己电脑私钥泄露, 就会影响到服务器的安全.

参考教程