25.04.2024 18:10, Volodymyr Litovka via UANOG:
On 4/25/24 15:46, Volodymyr Garnyk wrote:
Так у вас є два equal cost routes, тобто без policy routing (source routing) обидва ці маршрута повинні коректно обробляти усі пакети з усіма source addresses вашого хоста. Навіть якщо б libresolv bind'ився на INADDR_ANY, то в процесі роботи маршрут може змінитися прямо посеред сесії. Напевне це не дуже принципово для DNS, але, наприклад, для RTP, не кажучи вже про TCP - критично.Як на мене - це проблема з дизайном мережі. Я свого часу у подібних конфігураціях з динамічною маршрутизацією намагався ставити потрібні адреси на loopback і усі сервіси bind'ити сами на них, щоб не залежати від інтерфейсних адрес.
Факт - треба біндитись до лупбека, якщо є така можливість. Подумавши над цим, я гадаю, що питань до лінуху немає. Питання є до libresolv, яка (а) не дає можливості явно вказати src ip (напр це можна було б мати опцією в resolv.con) та (б) біндиться на свій розсуд Тікєт шолі відкрити? :) Уявляю, скільки там одразу в панамку насують :-D
Якийсь (досить помітний) час назад були дуже принципові претензії до nslookup, через те, що у нього були криві ліби резолвінгу. Що воно не працювало нормально. Тому при таких перевірках краще користуватися dig'ом. Тобто коли ти питаєш nslookup, то не факт, що воно працює так само, як системна бібліотека резолвінгу (stub resolver, AFAIR). Але я б не покладався, що DNS, то тільки UDP. З тим, що з'явилося DNSSEC (і здається там іще є щось велике), запити можуть цілком переходити в TCP і тоді може статися весело. -- tasic@