我有一个小型家庭办公室。我使用 Google Voice 和 Vonage 打电话。
请看图——
我知道这不是理想的,但由于我的思科交换机(3550)已经装好,所以这是最大化以太网输入的唯一方法;我目前没有预算花一分钱。
vonage 盒子开启了 QOS,并且进入 obitalk 的接口也开启了 QOS。思科交换机只有 VLAN 和路由,没有 QoS。无线接入点在一个 VLAN 上,电话在另一个 VLAN 上。这是一个有效的设置。
自从交换机坏了之后,电话质量就一直很差,所以我觉得我需要用 iptables 在 Linux 机器上实现 QOS?特别是当有人通过 VPN 连接时,这以前从来都不是问题。我的互联网连接非常好。
我可以写一行 iptables 来为来自 Vonage 盒子的所有内容设置 QOS 吗?并降低 openvpn 的优先级?我宁愿 openvpn 客户端运行得慢一点,因为它只用于在外出时安全地浏览互联网。openvpn 在端口 443 上运行。
以下是我的当前情况iptables -L
:
Chain INPUT (policy DROP)
target prot opt source destination
fail2ban-SSH tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp flags:ACK/ACK
ACCEPT all -- anywhere anywhere state ESTABLISHED
ACCEPT all -- anywhere anywhere state RELATED
ACCEPT udp -- anywhere anywhere udp spt:domain dpts:1024:65535
ACCEPT icmp -- anywhere anywhere icmp echo-reply
ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
ACCEPT icmp -- anywhere anywhere icmp source-quench
ACCEPT icmp -- anywhere anywhere icmp time-exceeded
ACCEPT icmp -- anywhere anywhere icmp parameter-problem
ACCEPT udp -- anywhere anywhere udp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:auth
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain fail2ban-SSH (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
答案1
您是否希望在 Linux 机器上实际执行流量整形?或者您是否希望在传出的数据包上设置 TOS 标志?如果是前者:
设置 TOS 标志
如果你只想在 Linux 机器上传输的数据包上设置 TOS 标志,那么你可以使用 iptablesTOS
模块。有一个LARTC 中的示例下面引用的文件可能会有所帮助。
流量整形
如果您确实想实现流量整形......
您可以实施 QOS——或者流量整形-- 在 Linux 下使用tc
命令。这是一个相当大的兔子洞,但它可能非常有效。例如,我使用它来限制白天从我家备份的速率,以防止它们对我们的 VOIP 服务造成问题。
有很多指南。你可以从Linux 高级路由和流量控制指南,但这对初学者来说并不是一个特别好的指南。这有实用的演练,并且这有多种其他阅读材料的链接。