Нужно организовать простенькую поддержку QoS через интерфейс, чтобы через канал передавать VoIP с приоритетом перед другим трафиком.
Нашел, что это можно сделать через qdisc PRIO.
Взял из примера:
#tc qdisc add dev eth1 root handle 1: prio
# tc qdisc add dev eth1 parent 1:1 handle 10: sfq
# tc qdisc add dev eth1 parent 1:2 handle 20: sfq
# tc qdisc add dev eth1 parent 1:3 handle 30: sfq
Но, почему-то такая ситуация, что у меня ВЕСЬ трафик попадает во 2 полосу. Любой трафик, независимо от того, TOS у него 0 или нет.
# tc -s qdisc ls dev eth1
qdisc prio 1: bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 123930 bytes 1349 pkts (dropped 0, overlimits 0)
qdisc sfq 10: parent 1:1 quantum 1518b
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
qdisc sfq 20: parent 1:2 quantum 1518b
Sent 123930 bytes 1349 pkts (dropped 0, overlimits 0)
qdisc sfq 30: parent 1:3 quantum 1518b
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
#
Почему так?
Это нормально?
И как с этим бороться?
Спасибо.
Подскажите пожалуйста, как ограничить трафик по скорости (и входящий, и исходящий) на интерфейсе eth0 машрутизатора.
eth0 - смотрит во внутреннюю сеть, там карточка 100Mbit, нужно ограничить например до 64kbit.
Есть еще внешние интерфейсы eth1, 2, 3. На какой из них пойдет трафик из eth0 - неизвестно.
Что я придумал:
1. входящий
tc qdisc add dev eth0.1 handle ffff: ingress
tc filter add dev eth0.1 parent ffff: protocol ip prio 10 u32 match ip src 0.0.0.0/0 police rate 64kbit burst 4k drop flowid :1
Добрый день.
Подскажите пожалуйста, как решить след задачу:
имеется роутер, внутрення (eth1 - 192.168.10.0/24) и внешняя (eth0 192.168.1.0/24) подсеть.
На роутере поднят NAT:
# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to-source 192.168.1.33
Пинг проходит, НАТ работает, вроде все нормально.
Понадобилось следующее - чтобы проходили только пакеты с определенных ip.
Делаю:
# iptables -A FORWARD -s 192.168.10.36 -j ACCEPT
# iptables -A FORWARD -j DROP
Все, пакеты не проходят ни от кого, в т.ч. и от 192.168.10.36.
Почему???
P.S. может это нужно делать в -t nat -A PREROUTING? Но FORWARD то чем плох?
Но пинг сквозь мост не проходит. Вернее в одну сторону проходит, а обратно нет.
Кто может предположить, почему так?
И вообще, можно ли объединять в мост eth0.1 и eth0.2, у которых одинаковый MAC адрес (такой же, как и у eth0)?
Или может быть можно как-то по-другому сделать такой мост с vlan-ами?
Добрый день.
У меня есть плата с IXP425 процом. 64М ОЗУ, 16 флешка.
Загрузчик - RedBoot:
1. zImage грузится по адресу 0x1600000
2. ramdisk.gz - 0x0800000
3. go 0x1600000
Размер ramdisk = 8192. Все работает нормально.
Но мне нужно увеличить размер ramdisk до 16 (хотя бы до 12).
Но тут такая проблема: 0x1600000 - 0x0800000 = 0x0E00000 (14M).
ramdisk.gz ~ 2M,
Какой может быть размер несжатого ramdisk?
Как я думаю, в моей ситуации сумма ramdisk и ramdisk.gz не может быть > 14M?
Куда разжимается сжатый ramdisk.gz?
Можно ли изменить это место?
Здравствуйте!
очень интересует сабж.
Вроде данную задачу может решить syslogd, но в моей версии он в busysox какой-то урезанный что-ли и не поддерживает файл /etc/syslog.conf ("Note that this version of syslogd/klogd ignores /etc/syslog.conf.).
Т.е. у меня есть железка, у нее консоль заведена на компорт. Все пользовательские printf валятся на нее.
А мне бы очень хотелось, чтобы они еще валились и в файл.
Добрый день!
Подскажите, пож-ста, как решить следующую задачу.
Есть интерфейс eth1 - реальный физический интерфейс.
Есть мой драйвер, который создает ifconfig-ом два устройства myeth0 и myeth1.
Мне нужно, чтобы Линукс работал с myeth0 и myeth1, а в физическую линию данные отправлялись/принимались бы через eth1.
Добрый день.
Подскажите, пожалуйста, можно ли в функции hard_start_xmit сетевого драйвера перед отправкой пакета определить alias, с какого он был отправлен?
Например у меня есть eth1:0 и eth1:1.
int hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
dev->name всегда равен "eth1".