coturn 搭建 stun turn 服务器
coturn 搭建 stun / turn 服務器
分享經驗總結,歡迎加入
簡介
STUN,首先在RFC3489中定義,作為一個完整的NAT穿透解決方案,英文全稱是Simple Traversal of UDP Through NATs,即簡單的用UDP穿透NAT。
STUN(Simple Traversal of User Datagram Protocol Through Network Address Translators),即簡單的用UDP穿透NAT,是個輕量級的協議,是基于UDP的完整的穿透NAT的解決方案。它允許應用程序發現它們與公共互聯網之間存在的NAT和防火墻及其他類型。它也可以讓應用程序確定NAT分配給它們的公網IP地址和端口號。STUN是一種Client/Server的協議,也是一種Request/Response的協議,默認端口號是 3478。
TURN,首先在RFC5766中定義,英文全稱是Traversal Using Relays around NAT:Relay Extensions to Session Traversal Utilities for NAT,即使用中繼穿透NAT:STUN的擴展。簡單的說,TURN與STURN的共同點都是通過修改應用層中的私網地址達到NAT穿透的效果,異同點是TURN是通過兩方通訊的“中間人”方式實現穿透。
STUN協議在RFC5389中被重新命名為Session Traversal Utilities for NAT,即NAT會話穿透效用。在這里,NAT會話穿透效用被定位為一個用于其他解決NAT穿透問題協議的協議。它可以用于終端設備檢查由NAT分配給終端的IP地址和端口號。同時,它也被用來檢查兩個終端之間的連接性,好比是一種維持NAT綁定表項的保活協議。STUN可以用于多種NAT類型,并不需要它們提供特殊的行為。
STUN本身不再是一種完整的NAT穿透解決方案,它相當于是一種NAT穿透解決方案中的工具。這是與RFC3489/STUN版本相比最重要的改變。
ICE跟STUN和TURN不一樣,ICE不是一種協議,而是一個框架(Framework),它整合了STUN和TURN。
coturn 搭建
鏈接:https://github.com/coturn/coturn
代碼拉取后,先安裝所需的依賴包
sudo apt-get install libssl-dev sudo apt-get install libevent-dev sudo apt-get install libpq-dev sudo apt-get install mysql-client sudo apt-get install libmysqlclient-dev sudo apt-get install libhiredis-dev sudo apt-get install gcc sudo apt-get install pkg-config編譯 coturn
source ./configure make -j 8 sudo make install安裝部分截圖
安裝完成后編輯配置文件
路徑:/usr/local/etc/turnserver.conf.default
必須的配置項,其他項自行百度查看
listening-port=3478 #指定偵聽的端口 external-ip=39.121.185.185 #指定云主機的公網IP地址 user=aaaaaa:bbbbbb #訪問 stun/turn服務的用戶名和密碼 realm=stun.xxx.cn #域名,這個一定要設置 cli-password=123456開啟端口3478
turnserver 啟動
路徑:cd /usr/local/bin
turnserver -c …/etc/turnserver.conf
檢測 ice 穿透的在線工具
鏈接:https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
測試發現火狐瀏覽器正常,谷歌瀏覽器不正常
Android 端使用
PeerConnection.IceServer iceServer = new PeerConnection.IceServer("turn:172.21.0.147:3478", "taxiao", "123456"); iceServers.add(iceServer); PeerConnection.RTCConfiguration configuration = new PeerConnection.RTCConfiguration(iceServers);微信公眾號(他曉),關注并轉發,謝謝
總結
以上是生活随笔為你收集整理的coturn 搭建 stun turn 服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

- 上一篇: java字符串排序,(不使用sort)
- 下一篇: 好用的跨平台开源截图工具推荐--flam