【Linux】 MediaMTX测试是否运行

外网无法访问通常不是 MediaMTX 本身问题,而是 网络、端口或系统防护层面阻挡导致的。

下面给出一份最系统的排查指南👇(逐步执行即可定位问题)


🧩 一、确认 MediaMTX 是否真的运行

执行:

bash 复制代码
ps -ef | grep mediamtx

✅ 如果看到:

复制代码
/usr/local/mediamtx/mediamtx

说明程序在运行。

如果没有,启动:

bash 复制代码
./mediamtx &

🧩 二、确认监听端口

执行:

bash 复制代码
ss -tulnp | grep mediamtx

或:

bash 复制代码
netstat -tulnp | grep mediamtx

查看是否有这些端口(MediaMTX 默认):

功能 协议 默认端口
RTSP TCP 8554
RTMP TCP 1935
HLS TCP (HTTP) 8888
WebRTC UDP/TCP 8000-8200(范围)

✅ 如果端口没监听,检查配置文件 mediamtx.yml 是否启用对应模块。


🧩 三、防火墙(Firewall)是否阻止外网访问

查看防火墙状态:

bash 复制代码
systemctl status firewalld

临时关闭防火墙(测试用):

bash 复制代码
systemctl stop firewalld

🔹 若关闭防火墙后可访问,则是端口未放行。

🔹 你可以选择仅开放 MediaMTX 所需端口。

例如开放:

bash 复制代码
firewall-cmd --zone=public --add-port=8554/tcp --permanent
firewall-cmd --zone=public --add-port=1935/tcp --permanent
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --zone=public --add-port=8000-8200/udp --permanent
firewall-cmd --reload

🧩 四、检查服务器是否有公网 IP

执行:

bash 复制代码
curl ifconfig.me

如果输出公网 IP,例如:

复制代码
8.218.xxx.xxx

说明服务器有公网。

如果显示内网 IP(如 192.168.x.x 或 10.x.x.x),则外网无法直连。

✅ 若是云服务器(如阿里云、腾讯云),需检查"安全组"规则是否放行端口。


🧩 五、确认外网访问方式

假设你的公网 IP 是 8.218.100.10

功能 外网访问地址
RTSP rtsp://8.218.100.10:8554/stream1
RTMP rtmp://8.218.100.10:1935/stream1
HLS http://8.218.100.10:8888/stream1/index.m3u8
WebRTC 浏览器访问 http://8.218.100.10:8889(若启用 Web UI)

🧩 六、NAT 或虚拟机环境

如果你在 虚拟机NAT 网络 下运行 Linux:

外网访问不到通常是因为端口没映射。

示例(VirtualBox 或 VMware):

  • 需要将 宿主机端口映射到虚拟机端口

    例如:

    复制代码
    宿主机 8554 → 虚拟机 8554
    宿主机 8888 → 虚拟机 8888

✅ 快速定位脚本

你可以执行下面命令,一键测试服务可访问性:

bash 复制代码
echo "=== MediaMTX 状态检查 ==="
ps -ef | grep mediamtx
ss -tulnp | grep mediamtx
curl -I http://127.0.0.1:8888
firewall-cmd --list-all
curl ifconfig.me

相关推荐
FII工业富联科技服务9 小时前
灯塔工厂用例详解:AR 远程巡检与智能运维闭环落地实践
运维·ar
mounter6259 小时前
走向长时运行:引入协程(Coroutines),打破 BPF 程序的“一堂到底”限制
linux·ebpf·kernel
六点_dn10 小时前
Linux学习笔记-shell运算符
linux·笔记·学习
hehelm10 小时前
IO 多路复用 — Reactor
linux·服务器·网络·数据库·c++
浅止菌11 小时前
嵌入式项目Makefile越写越乱?一张万能模板+5个技巧,告别重复劳动
linux
BerryS3N11 小时前
Cursor+GitOps:AI驱动的自动化运维新范式
运维·人工智能·自动化
Sagittarius_A*11 小时前
Web 渗透实战:服务器系统识别、端口与中间件全量探测
服务器·网络安全·中间件·渗透测试
刘某的Cloud12 小时前
手工配置nginx的systemd服务
linux·运维·网络·nginx·systemd
FREEDOM_X12 小时前
嵌入式Linux摄像头采集与图像处理
linux·图像处理·ubuntu
studytosky12 小时前
OpenClaw 入门与 Skill 开发
linux·服务器·ai编程