Перейти в группу новостей: 
 
Тема маршрутизация, трассировка, Time Exceeded Message
Написал Alexei <webmaster@microsoft.com>
Дата 8 февраля 2021 в 22:16:59
Группа новостей kraft.os.linux

Всем привет.
Есть линукс, осуществляет функции роутера.
Маршрутизирует часть сети 2001:db8::/32.
Сам занимает пару адресов этой сети, примерно так:
ip -6 address add 2001:db8::0011/124 dev lo
ip -6 address add 2001:db8::0021/124 dev eth0
и есть, для простоты, один маршрут в один из интерфейсов, куда он
маршрутизирует часть сети, о которой в самом начале вопроса:
ip -6 route add 2001:db8::0030/124 via <тут_адрес_на_той_стороне_линка>
dev eth0

Всё маршрутизируется, пакеты ходят.
Вопрос в следующем: когда кто-то извне запускает трассировку traceroute
адресов, которые маршрутизируются в eth0 (маршрут командой выше написан,
2001:db8::0030/124), то пакеты ICMPv6 "Time Exceeded Message" шлются
трассирующему от адреса, забинденого интерфейс lo (который 0011/124), а
не тот, который забинден на eth0 (0021/124). Мне кажется логичным, что
ICMPv6 сообщение должно отправляться от адреса, который находится по
реальному пути, то есть, на eth0.
Что я неправильно понимаю в этой конкретно ситуации и как сделать так,
чтобы сообщения отправлялись от "правильного" адреса ?
Спасибо.

Все сообщения в этой теме
 
#  маршрутизация, трассировка, Time Exceeded Message Alexei 8 февраля 2021 в 22:16:59