stun/tun 服务搭建详细记录

需要root 权限。

  • 安装gcc环境

    #查看 gcc 是否安装
    which gcc
    
  • 安装 libssl-dev

    sudo apt install libssl-dev
    
  • 安装 libevent

    1. 下载

      wget --no-check-certificate https://gitee.com/langgehenshuai/softs/raw/master/libevent-2.1.12.tar.gz
      
    2. 解压

      tar -zxvf libevent-2.1.12-stable.tar.gz
      
    3. 编译安装

      cd libevent-2.1.12-stable/
      ./configure
      make
      sudo make install
      
  • 安装 sqlite(可无)

    apt install sqlite3
    apt install libsqlite3-dev
    
  • coturn

    1. 下载

      wget --no-check-certificate https://gitee.com/langgehenshuai/softs/raw/master/coturn-4.5.1.1.tar.gz
      
    2. 解压

      tar -zxvf coturn-4.5.1.1.tar.gz
      
    3. 编译安装

      cd coturn-4.5.1.1
      ./configure
      make
      sudo make install
      
      #查看是否安装成功
      which turnserver
      
    4. 生成用户(可无)

      #添加用户名为 lang,密码为 11111 ,realm 域为 stun.lang.cn 的用户
      turnadmin -a -u lang -p 11111 -r stun.lang.cn
      
      ######
      # 命令说明:
      #-a - 使用长期凭据机制
      #-o - 以守护程序身份运行服务器进程
      #-v - “中等”详细模式。
      #-n - 无配置文件
      #--
      #no-dtls - 不启动 DTLS 侦听器
      #--
      #no-tls - 不启动 TLS 侦听器
      #-u - 要使用的用户凭据
      #-r - 要使用的默认领域,需要 TURN REST API
      ######
      
    5. 修改TURN服务配置文件

      ## vim /usr/local/etc/turnserver.conf.default 修改内容
      
      #指定云主机的公网IP地址
      external-ip=公网ip
      
      #用户:密码
      user=lang:111111
      
      #域名,这个一定要设置
      realm=stun.lang.cn
      
      #指定监听的端口, 默认3478
      listening-port=3478
      
      ##指定局域网IP地址,默认内网ip
      #listening-ip=内网ip
      
    6. 开放端口

      # 命令开启3478的 tcp 和 udp 端口。
      sudo ufw allow 3478/tcp
      sudo ufw allow 3478/udp
      
      # ps:
      # 设置 root 密码:sudo passwd root
      # 安装 ufw:sudo apt install ufw
      

      PS: 若还不可以,可以通过云服务器的安全组规则配置(入站和出站),允许 udp 和 tcp 的 3478-3478 32355-65535

    7. 启动服务

      # 非后台启动
      turnserver 或 turnserver -a -f -r xxx.com
      
      # 后台启动(-o)
      service coturn start 或 turnserver -a -o -f -r xxx.com
      
    8. 测试turn服务器

      在线测试(推荐):https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

  • 推荐
    制作 stun/turn 服务 Dockerfile 文件

  • 参考

    搭建 WebRTC TURN&STUN 服务器
    Ubuntu搭建turn服务器(webrtc ice服务器)
    stun server、turn server、coturn server安装与使用
    Linux服务器上搭建(webrtc 外网)turn 、stun服务器 纯小白看这里

你可能感兴趣的:(stun/turn,服务器,turn,stun)