【发布时间】:2012-05-22 08:38:33
【问题描述】:
具有双接口的服务器。
-
One(eht0) 用于为互联网用户提供 http/ssh 服务的 WAN。
-
other(eth1)用于接收内网组播数据。
218.108.132.177是公网网关。
125.210.198.1 是私网网关。
233.49.3.*/24 是多播地址。
10.0.11.*/24 是组播数据的来源。
当路由表如下图时,ffmpeg无法从eth1读取udp数据,ffmpeg挂了:
rrca@rcasnap02:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
218.108.132.176 * 255.255.255.252 U 0 0 0 eth0
125.210.198.0 * 255.255.255.240 U 0 0 0 eth1
default 218.108.132.177 0.0.0.0 UG 100 0 0 eth0
default 125.210.198.1 0.0.0.0 UG 100 0 0 eth1
或
rrca@rcasnap02:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
218.108.132.176 * 255.255.255.252 U 0 0 0 eth0
125.210.198.0 * 255.255.255.240 U 0 0 0 eth1
default 218.108.132.177 0.0.0.0 UG 100 0 0 eth0
10.0.11.0 125.210.198.1 0.0.0.0 UG 100 0 0 eth1
或
rrca@rcasnap02:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
218.108.132.176 * 255.255.255.252 U 0 0 0 eth0
125.210.198.0 * 255.255.255.240 U 0 0 0 eth1
default 218.108.132.177 0.0.0.0 UG 100 0 0 eth0
233.49.3.0 125.210.198.1 255.255.255.0 UG 100 0 0 eth1
我想让ffmpeg正常工作,但是现在我认为路由表中的两个默认路由互相干扰,我试试,当公共网关路由被删除,或者私有网关路由在公共的头部默认网关路由,ffmpeg 运行良好,我认为它从 eth1 读取多播。但路由表不是这样,ffmpeg 无法从 eth1 读取数据,我认为它读取 eth0(不是私有网络接口)上的数据。
如何做到ffmpeg同时与两个接口很好的工作?
【问题讨论】: