On Wed, Apr 10, 2019 at 04:50:55PM +0200, Michael A. Kangin wrote: > On 04/09/2019 02:47 PM, Sergey wrote: > > > Я так понимаю, что вопрос из-за того, что какой-то resolv.conf > > лежит в /var/resolv/etc/, а изменения в /etc/resolv.conf не > > во всех случаях становятся актуальными без запуска update_chrooted > > (или изменения /var/resolv/etc/resolv.conf другим способом каким- > > нибудь). Хотя вопрос, каков сейчас список приложений, которые > > используют /var/resolv/ тем или иным образом. > > > > "каков сейчас список приложений" - а это разве не на общесистемном > уровне применяется? Нет, конечно, на уровне приложений. > По крайней мере, ping работает с файлами именно из /var/resolv/etc/ > > У меня такая проблема - на хосте работает свой резолвер, он прописан в > /etc/net/ifaces/{iface}/resolv.conf как 127.0.0.1. > При старте системы всё это прописывается в /etc/resolv.conf, > /var/resolv/etc/resolv.conf, всё хорошо и благостно. > > Теперь создаём netns, у которого свой собственный lo со своим > собственным 127.0.0.1, и обнаруживаем, что резолвинг в этом неймспейсе > не работает. > > Ок, в man ip-netns сказано: > =================== > For applications that are aware of network namespaces, the convention is > to look for global network configuration files first in /etc/netns/NAME/ > then in /etc/. For example, if you want a different version of > /etc/resolv.conf for a network namespace used to isolate your vpn you > would name it /etc/netns/myvpn/resolv.conf. > > ip netns exec automates handling of this configuration, file convention > for network namespace unaware applications, by creating a mount > namespace and bind mounting all of the per network namespace configure > files into their traditional location in /etc. > ================== > > Делаем директорию /etc/netns/myns, кладём туда исправленный экземпляр > resolv.conf > Заходим снова в неймспейс, смотрим, что изнутри него /etc/resolv.conf > виден как исправленно-правильный, однако резолвинг по-прежнему не > работает, потому что /var/resolv/etc/resolv.conf остался старый, > немодифицированный. > Если теперь изнутри неймспейса сказать update_chrooted, то резолвинг > чинится для неймспейса, но тут же (ожидаемо) ломается для остальной > хост-системы. Научите ip netns exec, который "automates handling of this configuration ... by creating a mount namespace and bind mounting all of the per network namespace configure files into their traditional location in /etc", не забывать про /var/resolv/. > В общем, для меня тот факт, что resolv.conf и hosts используются из > чрута /var/resolv/, создаёт дикое количество затруднений и проблем, и я > был бы очень рад, если бы нашёлся путь использовать версии файлов > непосредственно из /etc (как это в RHEL например работает). Что за дикое количество затруднений и проблем? Вы всю систему в netns запихиваете, что ли? -- ldv