[sisyphus] резолвер
Dmitry V. Levin
ldv на altlinux.org
Ср Апр 10 18:06:33 MSK 2019
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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 801 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20190410/e915cf4d/attachment-0001.bin>
Подробная информация о списке рассылки Sisyphus