У меня небольшой домашний офис. Я использую Google voice и vonage для телефонных звонков.
См. Диаграмму -
Я знаю, что это не идеал, но поскольку мой коммутатор cisco (3550) упакован, это единственный способ максимально использовать входы Ethernet; У меня сейчас нет средств, чтобы потратить ни копейки.
Коробка vonage имеет QOS и QOS на интерфейсе, идущем к obitalk. Коммутатор cisco был просто vlans и маршрутизацией, без qos. Точка беспроводного доступа была на одном влане, телефоны - на другом. Это была эффективная установка.
Поскольку коммутатор умер, качество телефонных звонков было плохим, поэтому я полагаю, что мне нужно реализовать QOS в Linux с помощью iptables? особенно когда кто-то подключается к VPN, это никогда не было проблемой. У меня довольно хорошее интернет-соединение.
Могу ли я написать одну строку iptables, которая поставит QOS на все, что приходит из ящика Vonage? и сбросить приоритет 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
Вы действительно хотите выполнить формирование трафика на Linux? Или вы хотите просто установить флаги TOS для исходящих пакетов? Если первое:
Установка флагов TOS
Если все, что вы хотите сделать, это установить флаги TOS на пакеты, проходящие через ваш Linux-сервер, вы можете использовать iptables TOS
модуль. Есть пример в LARTC документ, указанный ниже, который может помочь.
Формирование трафика
Если вы действительно хотите реализовать формирование трафика ...
Вы можете реализовать QOS - или формирование трафика - под Linux с помощью tc
команда. Это довольно большая кроличья нора, но она может быть очень эффективной. Например, я использовал это, чтобы ограничить скорость резервного копирования из моего дома в течение дня, чтобы они не вызывали проблем с нашей службой VOIP.
Есть ряд руководств. Вы можете начать с Linux Advanced Routing & Traffic Control HOWTO, но это не очень хорошее руководство для новичка. это имеет практическое руководство и этот есть ссылки на множество других материалов для чтения.