Задержка ответа сервера для определенного адреса 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 бит.