stun服務器搭建(coTurn)


0. 前言

  好久之前寫過一篇搭建WebRTC的文章,里面有簡單的說到怎么搭建一個stun服務。但那時只是一筆帶過。正好,這兩天搭建stun服務,這篇博客就再復習一遍,並把搭建過程整理一下。

1. 安裝

  https://github.com/coturn/coturn 在這里git clone 下來然后編譯安裝,一切默認即可。編譯后,也可以不用安裝。在編譯目錄下bin文件夾下有turnserver turnutils_stunclient turnutils_uclient 這三個等一下會用到的軟件。

  http://www.stunprotocol.org/ 這個stunserver 也是可以的。

2. 配置turnserver.conf

  可以創建 bin/turnserver.conf 文件,增加以下配置信息。

 1 listening-ip=0.0.0.0
 2 listening-port=3478
 3 
 4 #relay-ip=0.0.0.0
 5 external-ip=0.0.0.0
 6 
 7 min-port=59000
 8 max-port=65000
 9 
10 Verbose
11 fingerprint
12 
13 no-stdout-log
14 syslog
15 
16 cert=pem/turn_server_cert.pem
17 pkey=pem/turn_server_pkey.pem
18 
19 user=demo:demo
20 
21 no-tcp
22 no-tls
23 no-tcp-relay
24 stun-only
25 #secure-stun

  簡單說明,listening-ip 監聽的IP,這里的IP必須是外網IP,如果服務器有外網IP網卡即可。最近(2018-04)購買的阿里雲ECS虛擬主機,由於采用VPC專有網絡架構。購買的ECS主機在主機內部是看不到外網網卡的,提工單問了,說是不行了,新的專有網絡跟以前的經典網絡不一樣了。現在的網絡是在外面映射到虛擬主機的。這就很尷尬了,到時候如果要實際生產,那應該是要購買獨立物理主機了。 好吧,我錯了。是可以正常的運行的,是因為阿里雲網絡安全組的問題,類似與防火牆的東西。之前配了TCP,忘記還有UDP這回事了。道歉!!各位親,要注意哦。我是在排查問題時,發現,所有的UDP包都處理不了,突然想起的。

  
  cert 和 pkey 這兩個是配置如果要進行安全SSL連接用到的證書。TCP是SSL,UDP是DTLS連接。
  no-tcp 和 no-tls 表示不要TCP連接了,因為NAT穿透,對TCP支持很弱,一般是使用UDP來進行穿透。
  由於產品處於前期,這里只支持stun服務,對於turn的轉發功能,暫時不考慮。

3.啟動turnserver服務

  

4.測試stun服務

  (1) 使用 turnutils_stunclient 測試
  
  可通過該工具進行查詢,里面出現 The response is an error 401 (Unauthorized) 是如果服務器開啟secure-stun選項時,那么就會出現401未授權錯誤。turnutils_stunclient 是不支持帳號密碼驗證的。
  (2) 使用 turnutils_uclient 測試

./turnutils_uclient -S -v -u demo -w demo -i pem/turn_client_cert.pem -k pem/turn_client_pkey.pem xxx.wunaozai.com -y 

  如果不用帳號密碼校驗的可以不用 -u -w, 如果不用DTLS安全連接的可以不要-i -k.

  
  (3) 使用 stun-client-0-96.exe 測試
  

  
  (4)使用 NatTypeTester.exe 測試
  
  使用 https://github.com/webrtc/samples 下 /src/content/peerconnection/trickle-ice/index.html 測試
  

5.參考資料

  https://www.cnblogs.com/idignew/p/7446121.html
  https://www.cnblogs.com/idignew/p/7440048.html
  https://www.cnblogs.com/kakawater/p/7112925.html
  https://www.cnblogs.com/mobilecard/p/6544731.html
  https://www.cnblogs.com/lingdhox/p/4209659.html

  本文地址: https://www.cnblogs.com/wunaozai/p/9071097.html 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM