Назад | Перейти на главную страницу

Задержка ответа сервера для определенного IPv6-адреса

У меня есть 3 сервера, настроенных с адресом IPv6, и я хочу добавить некоторую задержку на пару серверов, например S1 и S3. Для IPv4 я использую команду tc, и она работает нормально.

Команды, использующиеся для IPv4-адреса:

tc qdisc ls dev eth1 
tc qdisc add dev eth1 root handle 1: prio
tc qdisc add dev eth1 parent 1:1 handle 2: netem delay 1000ms
tc filter add dev eth1 parent 1:0 protocol ip pref 55 handle ::55 u32 match ip 
   src 20.1.1.1 flowid 2:1
 tc filter add dev eth1 parent 1:0 protocol ip pref 55 handle ::55 u32 match 
   ip src 20.1.1.3 flowid 2:1

Я хочу добавить такую ​​же политику к IPv6-адресу. Любая помощь будет оценена. заранее спасибо

Поскольку эти фильтры применяются к исходящим пакетам и соответствуют исходным IP-адресам, а также последние две команды tc конфликтуют из-за повторного использования одного и того же дескриптора, я понимаю, что правила добавляются непосредственно на каждый сервер или на маршрутизатор, если дескрипторы изменяются. В ответе не имеет значения, где хэндл не будет указан, оставляя систему выбирать их.

Переключиться на эквивалентное правило IPv6 довольно просто: protocol ip заменяется на protocol ipv6 пока match ip заменяется на match ip6. Спасибо за нестыковку! Одинаковые pref / prio нельзя использовать при переключении протокола. Ссылка на два предыдущих пункта: Использование tc с IPv6 и IPv4 . Просто добавьте ручку, если нужно (с уникальным :: nodeid в том же преф.).

Итак, чтобы добавить задержку для двух дополнительных адресов 2001:db8::10 и 2001:db8::20, оставьте все предыдущие правила в Вопросе и добавьте эти два правила:

tc filter add dev eth1 parent 1:0 protocol ipv6 pref 56 u32 match ip6 src 2001:db8::10 flowid 2:1
tc filter add dev eth1 parent 1:0 protocol ipv6 pref 56 u32 match ip6 src 2001:db8::20 flowid 2:1

Называемый фильтр u32 на самом деле это означает, что он работает на 32 битах. Таким образом, каждое правило будет фактически использовать 4 совпадения, потому что IPv6-адрес использует 128 бит.