У меня есть окно Linux, служащее брандмауэром / маршрутизатором для нашей домашней сети. Я живу в домах, поэтому у меня относительно медленное широкополосное соединение:
Downstream Rate 7616 Kbps
Upstream Rate 512 Kbps
Что более реалистично, примерно на 5000 Кбит / с вниз, на 300 Кбит / с вверх по данным speedtest.net
Мои дети любят играть в Steam, Skype и Minecraft, а также в многопользовательские игры на своей Playstation 3. Нам нравится смотреть Hulu и Netflix.
Когда наши дети играют в игры, это часто приводит к потере потокового видео и вообще к интернет-отклику. Во время таких "отключений" я часто вижу сотни соединений, созданных их игровой деятельностью, и нашел способ ограничить это для каждого хоста, что очень помогает. Очень простое правило IPTABLES, ограничивающее до 25 соединений на хост:
iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 25 -j REJECT
С тех пор удалось облегчить целый ряд "инцидентов", но у нас все еще есть проблемы с просмотром Hulu и Netflix, когда дети скачивают какую-то новую игру или загружают свое последнее домашнее видео на YouTube, так что теперь я пытаюсь выяснить, как это сделать. некоторые основные движения трафика.
tc qdisc add dev eth0 root tbf rate 5000Kbit latency 50ms burst 1540
Но это более или менее убило подключение к Интернету в целом. Я неправильно рассчитал свои цифры или это просто неправильный способ решить мою проблему? В качестве альтернативы, существуют ли другие / более эффективные методы, позволяющие нашему интернету реагировать на потоковую передачу Netflix / Hulu? Я все еще немного узнаю о QoS и формировании трафика, поэтому, пожалуйста, предоставьте ссылки, если вы знаете о некоторых хороших ресурсах, документирующих эту тему.
Я в основном работаю через этого бегемота: http://lartc.org/lartc.html#LARTC.IPROUTE2, чтобы попытаться разобраться.