如何在专用网络上启用多播 IP 转发
Posted
技术标签:
【中文标题】如何在专用网络上启用多播 IP 转发【英文标题】:How to enable forwarding for a multicast IP on the private network 【发布时间】:2012-12-02 01:01:57 【问题描述】:我正在尝试让帝国时代 II (AoE2) 在我的局域网上运行。 AoE2 因其在现代系统上的连接问题而臭名昭著,可能是因为它使用了现已弃用的称为 DirectPlay(在 DX9 中)的网络框架,并且代码在当时可能也不健壮。
当我在计算机 (win7) 上为 AoE2 托管 LAN 游戏时,Wireshark 显示我的计算机通过 SSDP 协议向多播地址 239.255.255.250 发送了几个数据包。这实际上是到我的路由器(我假设用于转发),我的路由器使用 ICMP 协议返回一个数据包,上面写着“无法到达目标(无法到达端口)”。因为没有任何东西转发到网络上的其他计算机,所以他们看不到主机创建的游戏。
我想我需要让应用程序/windows7 将数据包作为广播发送,或者我需要让路由器广播数据包到该多播地址。有没有人对如何做到这一点有想法或建议?
我的路由器/网关正在运行 DD-WRT 固件 v24-sp2。
【问题讨论】:
【参考方案1】:我的第一个猜测是您使用的是 wifi,默认情况下,大多数系统在 wifi 上禁用多播,因为它会对 wifi 使用的时间切片产生不利影响。但是,对于几台机器来说,这应该不是问题。
这是禁用多播的方法,但它应该为您指明启用它的正确方向:ddwrt multicast
其次,确保它们都在同一个 VLAN 中,VLAN 被定义为“广播域”,这意味着不同 VLAN 上的机器在没有一些技巧的情况下永远不会从其他 VLAN 获得广播或多播。
最后确保您已启用 LAN 端口之间的多播我相信选项是“多播转发”
编辑:如果其他人遇到此问题,只需将一些内容添加到列表中。 ipv6 中不存在广播,运行 ipv6 的机器也可能看不到来自 ipv4 上的机器的广播,而 ipv4 上的机器也不会看到到 ipv6 多播地址的多播。
【讨论】:
我没有专门定义任何 VLAN,目前我的网络上只有 2 台机器。是否有必要将它们都放在一个专门定义的 VLAN 中,或者不定义任何 VLAN 都可以(我认为效果是一样的?)。 所有这些电脑都是通过wifi连接的。其中一个似乎通过我在原始帖子中提到的多播地址发送 ssdp 数据包。所有其他人都将其发送到 ff02:c 我相信这是一个 IPv6 多播地址。因此,即使它们都通过wifi,似乎也没有过滤任何东西。这可能是 Window 的 UPnP 的一些特殊情况吗?当我有机会查看是否有任何变化时,我将尝试将它们插入。 如果他们在 wifi 上,请确保在路由器上启用了 wifi 上的多播。至于 VLAN 大多数家用路由器不支持 VLAN,但我知道 ddWRT 支持,老实说,我从未在 wrt 上使用过该功能,但如果它们都在无线上,它们可能在同一个 VLAN 上。如果机器在 ipv6 上进行多播,则尝试在机器上禁用 ipv6,而未运行 ipv6 的机器将丢弃这些数据包。 当我通过电缆将所有东西都插入路由器时,游戏主机似乎并没有太大的不同,但正在寻找游戏的客户端正在发送重复的 UDP 广播(地址 255.255.255.255)。但是,广播没有到达主机。在主机上使用wireshark,什么都没有。这是否意味着我的路由器正在阻止广播? 是的,或者你的主机正在使用 ipv6(在 ipv6 中广播不是一个东西)。我想不出别的了。【参考方案2】:您尝试过 LogMeIn Hamachi 吗?
它本身不是 LAN 客户端,但它会创建一个虚假的在线 LAN,并为您提供一个工作 IP,让您可以与拥有它的人一起玩。
【讨论】:
以上是关于如何在专用网络上启用多播 IP 转发的主要内容,如果未能解决你的问题,请参考以下文章