使用docker搭建STUNTURN服务器

使用docker搭建STUNTURN服务器,第1张

前言

    STUN,首先在RFC3489中定义,作为一个完整的NAT穿透解决方案,英文全称是Simple Traversal of UDP Through NATs,即简单的用UDP穿透NAT。

    TURN,首先在RFC5766中定义,英文全称是Traversal Using Relays around NAT:Relay Extensions to Session Traversal Utilities for NAT,即使用中继穿透NAT:STUN的扩展  

    简单的说,TURN与STURN的共同点都是通过修改应用层中的私网地址达到NAT穿透的效果,异同点是TURN是通过两方通讯的“中间人”方式实现穿透。

    ICE的全称Interactive Connectivity Establishment(互动式连接建立),由IETF的MMUSIC工作组开发出来的,它所提供的是一种框架,使各种NAT穿透技术可以实现统一。

    STUN和TURN服务器和ICE可以参考阅读: P2P技术详解(三):P2P技术之STUN、TURN、ICE详解

    本文介绍如何通过DOCKER搭建STUN和TURN服务器,步骤如下

1:创建Dockerfile,内容如下:

FROM      ubuntu:1404

MAINTAINER Patxi Gortázar <patxigortazar@gmailcom>

RUN apt-get update && apt-get install -y \

  curl \

  libevent-core-20-5 \

  libevent-extra-20-5 \

  libevent-openssl-20-5 \

  libevent-pthreads-20-5 \

  libhiredis010 \

  libmysqlclient18 \

  libpq5 \

  telnet \

  wget

RUN wget >

请先以管理员身份打开PowerShell窗口

一台新的服务器,或是没有装过Docker,需要先安装一些Windows功能
(可以通过添加角色与功能界面安装,也可以通过PowerShell安装)

然后安装Docker,可以选择正式版,也可以选择预览版

正式版

安装成功,显示

如看到以下提示,请重启一次服务器

预览版

安装成功,显示:

( AVMA微软官方文档 )

1切换内核
安装完后,默认为Windows内核容器,可手工切换至Linux内核容器,但个人认为意义并不大,完全可以在服务器上通过Hyper-V管理器安装一个Linux虚拟机,在虚拟机内跑Linux下的Docker,实现同时拥有两种内核的Docker服务,然后再通过Docker自带的Swarm进行统一管理,但混合部署情况下需配置 Docker对象标签 ,具体配置可查看微软官方文档( Linux+Windows 混合 *** 作系统群集 )。

2其它命令

3其它参考
Docker对象标签
创建ActiveDirectory

4官方镜像地址

Docker部署WEB 应用时,本地可以成功打开测试页,在公网上(阿里云服务器)却不能打开。

1、环境:阿里云服务器
2、CentOS7系统
3、Docker成功部署

这里前提docker 已经成功部署啦,现有有一个简单的测试案例,在docker上部署一个应用从而访问web。

接下来让我们尝试使用 docker 构建一个 web 应用程序。

我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。

通过 -p 参数来设置一样的端口:

docker ps 查看正在运行的容器

容器内部的 5000 端口映射到我们本地主机的 5000 端口上。

这时我们可以通过浏览器访问WEB应用

访问失败

指定外网端口为5000,

1 本地测试能否打开测试页

本地没有问题。

2 浏览器中访问

在任意一台电脑上输入公网IP+端口号 (此端口号为运行WEB应用时指定的端口号5000) 如我的阿里云公网IP为123111111 此时在任意一台有网络的浏览器地址栏输入公网IP:>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10287559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存