Ubuntu 部署 STUN服务端

部署 STUN (Session Traversal Utilities for NAT) 服务端是解决 P2P 网络穿透(如 WebRTC、VoIP)的关键步骤。目前最流行、功能最全的开源实现是 coturn

以下是在 Linux (以 Ubuntu/Debian 为例) 上部署 coturn 的详细步骤:


1. 安装 coturn

在大多数 Linux 发行版中,可以直接通过包管理器安装:

bash 复制代码
sudo apt update
sudo apt install coturn

2. 配置 coturn

安装完成后,主要的配置文件位于 /etc/turnserver.conf。虽然我们只需要 STUN 功能,但 coturn 通常作为 STUN/TURN 混合服务器运行。

关键配置步骤:

  1. 备份原始文件:sudo cp /etc/turnserver.conf /etc/turnserver.conf.bak
  2. 编辑文件:sudo nano /etc/turnserver.conf
  3. 修改/取消以下参数的注释:
ini 复制代码
# 监听端口(默认 3478)
listening-port=3478

# 监听的网卡 IP(如果是云服务器,建议写内网 IP 或 0.0.0.0)
listening-device=eth0
listening-ip=0.0.0.0

# 外部公网 IP (如果是云服务器,必须指定公网 IP)
external-ip=1.2.3.4 

# 域名(可选)
realm=yourdomain.com

# 仅启用 STUN(如果不需要 TURN 中继功能,可以不配置用户)
# 但通常建议保留 TURN 功能以备不时之需


3. 启用服务

在 Debian/Ubuntu 系统上,需要修改 /etc/default/coturn 文件来允许服务启动:

  1. 编辑:sudo nano /etc/default/coturn
  2. 取消注释或添加:TURNSERVER_ENABLED=1
  3. 启动并设置开机自启:
bash 复制代码
sudo systemctl start coturn
sudo systemctl enable coturn

4. 开放防火墙端口

这是部署最容易失败的地方。STUN 主要使用 UDP 协议。

  • UDP 3478: 必须开放。
  • TCP 3478: 建议开放。
  • 云服务器安全组 : 记得在阿里云、腾讯云或 AWS 的控制台安全组中放行上述端口。

5. 测试服务端

部署完成后,你可以使用在线工具或命令行工具进行测试。

  • 在线测试 : 访问 Trickle ICE

  • STUN or TURN URI 处输入:stun:你的公网IP:3478

  • 点击 "Add Server",然后点击 "Gather candidates"。

  • 如果看到类型为 srflx 的组件,说明 STUN 服务已成功获取你的公网 IP。

  • 本地工具 : 使用 stuntman 客户端测试:

bash 复制代码
sudo apt install stuntman-client
stunclient 你的公网IP 3478
相关推荐
Codefengfeng10 小时前
CTF工具篇
linux·运维·服务器
封奚泽优10 小时前
Docker常用命令(Windows 11)
运维·docker·容器
上海合宙LuatOS10 小时前
LuatOS核心库API——【i2c】I2C 操作
linux·运维·单片机·嵌入式硬件·物联网·计算机外设·硬件工程
一文解千机12 小时前
wine 优化配置及显卡加速,完美运行Electron 编译的程序(新榜小豆芽、作家助手、小V猫等)
linux·ubuntu·electron·wine·wine优化配置·wine显卡加速·wine大型游戏
2401_8582861113 小时前
OS53.【Linux】System V 共享内存(2)
linux·运维·服务器·共享内存
coding随想16 小时前
ESM + TypeScript:零配置实现类型安全的现代开发
安全·ubuntu·typescript
能源革命17 小时前
Ubuntu_24.04 安装OpenClaw教程
linux·ubuntu
志栋智能18 小时前
AI驱动的安全自动化机器人:从“告警疲劳”到“智能免疫”的防御革命
运维·人工智能·安全·机器人·自动化
laocui118 小时前
树莓派Ubuntu系统安装openclow(豆包+QQ机器人)
linux·运维·ubuntu
qq_242188633218 小时前
快速搭建跨环境检测服务的步骤
linux·开发语言·windows·python·macos