Создание привязки для прослушивания localhost в netns

У меня Debian Jessie работает Bind. Установлено соединение OpenVPN. И resolv.conf настроен на использование локального Bind:

 nameserver 127.0.0.1 nameserver 4.2.2.4 

Я хочу настроить систему таким образом, чтобы определенные программы получали доступ к Интернету только через это VPN-соединение (при отсутствии этого соединения он не должен иметь никакого доступа в любом месте), а остальное для доступа к Интернету напрямую. Я хочу, чтобы все программы использовали локальный Bind для разрешения имен доменов и удалили это 4.2.2.4 из resolv.conf .

Я думал, что пространство имен в сети – подходящий инструмент для задания: я перемещаю VPN-интерфейс в пространство имен в сети (так что это единственное соединение, доступное там, кроме loopback), а затем запускайте эти определенные программы в пространстве имен в сети. Я сделал следующий сценарий, который я настроил для запуска в качестве сценария route-up OpenVPN:

 NS=zzz if [ ! -f /var/run/netns/$NS ]; then /sbin/ip netns add $NS fi /sbin/ip link set $dev netns $NS /sbin/ip netns exec $NS /sbin/ifconfig lo up /sbin/ip netns exec $NS /sbin/ifconfig $dev $ifconfig_local pointopoint $ifconfig_remote up /sbin/ip netns exec $NS /sbin/route add default gw $ifconfig_remote metric 1024 

Работает отлично для меня, за исключением того, что Bind не прослушивает интерфейс loopback в моем пространстве имен в сети, поэтому все запросы разрешения имен переходят на внешний DNS. Как это исправить? Могу ли я как-то указать, что и loopback (обычный и netns один) одинаковы? Или мне нужно запустить другую копию Bind в моем пространстве имен? Что-то другое?

Interesting Posts

bash: / usr / bin / perl: слишком длинный список аргументов

Как получить доступ к частной сети за маршрутизатором? Не удается переместить

У CentS-7 Kernel Image есть суффикс «debug» после установки Kickstart

конвертировать временную метку в форматированное время OSX

Что такое файлы centos /root/core.*? они едят мой жесткий диск, пока он не будет полным

Строка 4: данные $: неоднозначное перенаправление при использовании пароля

Как Kernel 4.0 может повредить систему?

Почему переменная видима в подоболочке?

Персональные страницы для стандартных библиотек C и C ++ на Fedora 14

stty на старой AT & T unix: как добавить End-key для «end of line»?

Как получить точный размер файла и имя файла?

Каков худший сценарий, если жесткий диск или материнская плата не поддерживают `hddparm -s`?

wc показывает различия

Найти рекурсивно все архивные файлы различных форматов архивов и искать их для шаблонов имен файлов

Выполнение задач параллельно с использованием Bash

Linux и Unix - лучшая ОС в мире.