Network namespeces, resolv.conf и прочие файлы конфигурации.
Когда писал заметку о сетевых неймспейсах, т.е. о том, как на одном компьютере с одной физической сетевой картой организовать несколько виртуальных сетевых интерфейсов с разными IP (копия), забыл упомянуть о маленьком, но важном моменте.
Все созданные виртуальные сетевые стеки, а эмулируется не только сетевая карта, но и весь стек вместе с маршрутизацией, правилами IPTABLES и т.д., можно и нужно по разному конфигурировать. И, естественно, есть возможность создать разные файлы конфигурации для разных namespaces.
Файлы конфигурации хранятся в каталоге /etc/netns/<имя_namespace>
Например, в основном неймспейсе есть файл
/etc/resolv.conf
в котором прописаны адреса DNS для основной системы:nameserver 10.10.0.1
nameserver 10.10.0.200
И пусть в системе существует второй namespace с именем
linkns
и для него надо прописать DNS от Google (8.8.8.8
и 8.8.4.4
):1. Создаем каталог
/etc/netns/linkns
.2. В каталоге создаем (или копируем готовый из
/etc
) файл resolv.conf
.3. Записываем в файл новые адреса DNS:
nameserver 8.8.8.8
nameserver 8.8.4.4
Аналогично можно поступить и с другими файлами конфигурации, например правилами IPTABLES (если ваша система поддерживает конфигурацию фаервола через конфигурационные файлы).
Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2020/09/27/netw