`

【转】WEBRTC P2P turn穿透

 
阅读更多

部署WebRTC 或 SIP p2p 方案时经常会遇到p2p 无法穿透的环境,

这时就是TunServer 的用武之地了。

这里我们使用turnserver-0.7.3 

下载confuse依赖库

 

wget http://savannah.nongnu.org/download/confuse/confuse-2.7.tar.gz
tar zxvf confuse-2.7.tar.gz
cd confuse*
./configure
make && make install

 

下载

 

wget http://downloads.sourceforge.net/project/turnserver/turnserver-0.7.3.tar.bz2
tar jxvf turnserver-0.7.3.tar.bz2
cd turnserver*
./configure
make && make install

 

编辑配置文件

 

将extra 中的配置文件模版拷贝到/etc目录下,假设您的ip 是 1.2.3.4

 

1,配置文件

 

 

cp extra/turnserver.conf.template  /etc/turnserver.conf
vi /etc/tunserver.conf

 

修改

 

listen_address = { "1.2.3.4" } #你的公网地址

 

修改 ## Daemon mode.

 

daemon = true # 修改为后台服务方式

 

修改带宽限制

 

## Allocation bandwidth limitation (in KBytes/s).
## 0 value means bandwidth quota disabled.
bandwidth_per_allocation = 1024


## Restricted user bandwidth (in KBytes/s).
## 0 value means bandwidth limitation disabled.
restricted_bandwidth = 0

 

 

2,认证用户文件

 

cp extra/turnusers.txt.template /etc/turnusers.txt

vi /etc/turnusers.txt

 

添加一行或多行认证信息格式为    用户名:密码:domain:authorized

 

例如下面的行:
700:700pass:domain.org:authorized
添加完成后,就可以在webrtc 里面使用stun 和tun server 了。
var configuration = {
  'iceServers': [{
    { 'url' : 'stun:1.2.3.4'} ,

    { 'url' : ‘turn:700@1.2.3.4',credential : '700pass'}
  }]
};
 

转自:http://blog.163.com/sir_876/blog/static/11705223201422810528434/

 

分享到:
评论

相关推荐

    webrtc 内外穿透打洞,改了配置直接可以用(window版本)

    在这个场景中,我们关注的是WebRTC如何实现在内网环境下的通信,即所谓的“内网穿透”或“打洞”技术。 内网穿透,也称为NAT穿透,是解决因网络地址转换(NAT)导致的两个处于不同内网环境的设备无法直接通信的问题...

    基于CRDT和WebRTC的实时P2P协作文本编辑器

    在实现时,通常会采用SRTP(Secure Real-time Transport Protocol)来加密媒体流,并使用STUN/TURN服务器解决NAT穿透问题。 7. 应用示例: "conclave-master"可能是一个开源项目,展示了如何使用CRDT和WebRTC构建...

    一个Flutter插件允许应用程序使用WebRTCDataChannel建立P2P连接并交换文本消息

    本项目聚焦于一个特定的Flutter插件,该插件允许开发者利用WebRTC DataChannel技术实现点对点(P2P)连接,并在这些连接上进行文本消息的交换。 WebRTC(Web Real-Time Communication)是一种开放的网络标准,旨在...

    webrtcDemo

    使用HTTPS确保数据传输的安全性,同时使用STUN/TURN服务器处理NAT穿透,保证不同网络环境下的连接可靠性。 7. **前端实现**: 前端可能使用HTML、CSS和JavaScript(可能包含库如React或Vue.js)来构建用户界面和与...

    xatriya.github.io:WebRTC P2P聊天

    WebRTC的工作原理涉及多个步骤:首先,通过STUN(Session Traversal Utilities for NAT)或TURN(Traversal Using Relays around NAT)服务器来发现并穿透NAT(网络地址转换),使得两个处于不同网络环境的设备能够...

    WebRTC+java实现多人视频通讯

    此外,由于NAT穿透问题,可能还需要了解STUN/TURN服务器的工作原理,以便在公网环境下进行跨NAT通信。总的来说,这个项目涵盖了WebRTC实时通信、Java后端开发、WebSocket协议应用等多个技术领域,对于提升全栈开发...

    webrtc教程(v0.3)

    - **概念**:一种NAT穿透方案,用于建立穿越NAT的P2P连接。 - **Turnuri**:URI格式规范。 - **开源服务器工程**:coturn等。 - **开源库**:如libnice。 - **交互式连接建立(Interactive Connectivity ...

    webrtc cookbook

    WebRTC包含的API可以很容易地访问用户的麦克风和摄像头,实现音视频通信,并可扩展至屏幕分享、游戏或者其他任何P2P的数据分享场景。 在《webrtc cookbook》中,会详细介绍WebRTC的使用方法和相关知识。首先,书中...

    WebRTC零基础开发者教程(纯净版)

    虽然WebRTC技术已经较为成熟,其集成了最佳的音/视频引擎,十分先进的codec,且包含了使用STUN、ICE、TURN、RTP-over-TCP的关键NAT和防火墙穿透等众多门槛并不低的技术。抛开音视频技术本身的复杂性外,要想找到合适...

    webrtc教程

    TURN(Traversal Using Relay NAT)是一种代理服务,当 STUN 无法穿透 NAT 时,可以使用 TURN 作为备选方案。 - **6.4 交互式连接建立(Interactive Connectivity Establishment),一种综合性的 NAT 穿越的技术。...

    P2P之UDP穿透NAT的原理与实现源代码

    为了实现P2P中的UDP穿透NAT,我们需要理解几种主要的穿透方法: 1. **UDP打洞(UDP Hole Punching)**:这种方法依赖于NAT的一致性行为,即当一个内网主机向公网发送数据后,NAT通常会记住这个映射,允许来自同一...

    WebRTC零基础开发者教程

    - **7.10 基于 ICE 方式 SIP 信令穿透 Symmetric_NAT 技术研究:** - 讨论了如何在对称 NAT 环境中使用 ICE 协议进行 SIP 信令的传输。 以上内容为《WebRTC 零基础开发者教程》的部分章节总结,旨在为初学者提供一...

    webrtc-web

    9. **STUN/TURN服务器**:网络穿透服务,帮助在NAT(网络地址转换)环境中建立P2P连接。STUN服务器用于发现公共IP,而TURN服务器作为中继,确保在必要时也能建立连接。 学习"webrtc-web",你需要理解上述基本概念,...

    js webrtc多人互动【vue demo源码】

    - **STUN/TURN服务器**:解决NAT穿透问题,确保P2P连接的可靠性。 - **DataChannels**:WebRTC的数据通道,用于传输非音视频数据,如文本消息或共享文件。 - **MediaStream**:表示音频和视频流的对象,用于连接到...

    WebRTC音视频通话.zip

    在Android应用开发中,WebRTC通常用于构建P2P(点对点)通信应用,如视频会议、在线教育、远程医疗等场景。其核心技术包括: 1. **信令协议**:在音视频通话中,信令协议用于建立和管理连接,如邀请通话、接受邀请...

    android使用webrtc视频对讲实例 端到端

    它包含了ICE(Interactive Connectivity Establishment)策略来寻找最佳的网络路径,STUN/TURN服务器用于穿透NAT,以及信令协议用于交换SDP(Session Description Protocol)信息。 - **MediaStream**:包含音频和...

    webRtc视频连接

    5. **ICE**:用于穿透NAT(Network Address Translation),帮助两个位于不同网络环境的对等节点找到对方,建立P2P连接。 6. **STUN**和**TURN**服务器:在网络通信中,NAT可能会阻止直接的P2P连接。STUN服务器帮助...

    webrtc最新源码

    6. **网络传输技术**: WebRTC使用SRTP(Secure Real-time Transport Protocol)进行安全的媒体传输,而STUN(Session Traversal Utilities for NAT)和TURN(Traversal Using Relays around NAT)服务器则帮助穿越...

    WebRtc.NET-master.zip

    - **STUN/TURN服务器**:用于NAT穿透,帮助在不同网络环境下的设备间建立P2P连接。 2. **信令流程**: - **offer/answer**:在两个浏览器之间建立连接时,一方作为offerer,创建SDP(Session Description ...

Global site tag (gtag.js) - Google Analytics