stun服務器搭建(coTurn)

0. 前言html

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

1. 安裝github

  https://github.com/coturn/coturn 在這裏git clone 下來而後編譯安裝,一切默認便可。編譯後,也能夠不用安裝。在編譯目錄下bin文件夾下有turnserver turnutils_stunclient turnutils_uclient 這三個等一下會用到的軟件。web

  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的轉發功能,暫時不考慮。tcp

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 

相關文章
相關標籤/搜索