我已将 Ubuntu 12.04 用作 DHCP 路由器,运行良好,为连接的设备提供了很大的吞吐量。两个单网卡(一个板载,一个 PCI-e,均带有 Realtek 8111E 芯片)用作 WAN 和 LAN 接口,其中 LAN 端连接到 Apple Airport Extreme 基站,该基站通过以太网和 wifi 共享与我的设备的连接。所有电缆均为 CAT5 或更高规格。
我的问题出现在尝试通过雅马哈家庭影院接收器播放互联网广播时。互联网广播由 vtuner 提供。流缓冲并播放约 4 分钟,之后接收器显示“无连接”,然后重新连接并跳回频道列表。
当我使用 Apple Airport Extreme 路由器提供 DHCP 并使用 NAT-PMP(即未连接 Ubuntu 路由器)时,无论我在 AP Extreme 中使用什么设置,我都不会遇到此问题。如果接收器直接连接到 Ubuntu 路由器,问题仍然存在,因此 AirPort Extreme 已被排除为问题根源。
我没有自己编写处理 dhcp 和防火墙的脚本,因此在排除故障以了解它如何影响流媒体时,我感到很茫然。
这是放置在 init.d 中的脚本
/bin/sh #!/bin/sh 复制代码 INET_IFACE="eth0" INET_IP =`ifconfig eth0 | grep inet | cut -d : -f 2 | cut -d ' ' -f 1` LAN_IP="10.0.0.1" LAN_IP_RANGE="10.0.0.2/25" LAN_BCAST_ADRESS="10.0.0.254" LAN_IFACE="eth1" LO_IFACE="低" LO_IP="127.0.0.1" # 网关功能的设置 回显“ 1”> / proc / sys / net / ipv4 / ip_forward #sysctl -w net.ipv4.netfilter.ip_conntrack_udp_timeout_stream=360 #sysctl -w net.ipv4.netfilter.ip_conntrack_udp_timeout=60 # 非必需的 proc 配置 #echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter #echo "1" > /proc/sys/net/ipv4/conf/all/proxy_arp #echo "1" > /proc/sys/net/ipv4/ip_dynaddr # 刷新所有链 iptables -F iptables -X iptables -t nat -F iptables -t 过滤器 -F iptables -t mangle -F # 政策 iptables -P 输入接受 iptables -P 输出接受 iptables -P 转发接受 iptables -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --到源 $INET_IP iptables -A PREROUTING -t nat -p tcp -d $INET_IP --dport 12345:54321 -j DNAT --to 10.0.0.100
非常感谢您的帮助!我对 Ubuntu 和网络还很陌生。
此致。