Задержка ответа сервера для определенного адреса 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. Любая помощь будет оценена. заранее спасибо

1 ответ

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

Переключиться на эквивалентное правило IPv6 довольно просто: protocol ip заменяется на protocol ipv6 в то время как match ip заменяется на match ip6, Спасибо за несоответствие! Тот же pref/prio не может быть использован при переключении протокола. Ссылка на два предыдущих пункта: Использование tc с IPv6 и IPv4. Просто добавьте дескриптор, если необходимо (с unique :: 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 бит.

Другие вопросы по тегам