Создание привязки для прослушивания 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 в моем пространстве имен? Что-то другое?

  • Evince / document viwer меняет настройки печати
  • Установка Cinnamon на Debian
  • Debian 9, APT и «ошибка GPG: ... InRelease: следующие подписи были недопустимыми:
  • Нет Wi-Fi «Intel Corporation Wireless 3160» и веб-камера не обнаружена также на Debian Jessie
  • Где значения параметров устройства, начинающиеся с «Monitor-xyz», происходят из xorg.conf?
  • Собственный драйвер NVIDIA по проблемам Jessie Debian
  • Как переместить Debian на USB-порт и оставаться полностью загрузочным?
  • Ошибка ввода / вывода последовательного порта в Intel NUC с Debian Wheezy
  • Использование учетной записи root для предоставления sudo priviledges для установки wordpress
  • Как Debian PTS обнаруживает, что есть новая версия upstream?
  • Получение всех открытых портов на всех сетевых интерфейсах
  • Interesting Posts

    Как измерить общий дисковый ввод-вывод в час

    Откройте новый терминал, проверьте его и выполните сценарий

    Как подключить Raspbian к Интернету в Eth0?

    Как сделать рекурсивную загрузку с помощью gwget (wget frontend)?

    видимые Ethernet-кадры наблюдаются частично, когда интерфейс MTU меньше, чем снятые кадры

    Как использовать запрос If-Else в зависимости от дня недели?

    Получение первых n символов из файла

    Как добавить уникальный идентификатор имени файла в работу cron?

    Почему «init 0» приводит к «избыточным аргументам» при установке Arch?

    Можно ли создать стандартного пользователя, который не может получить доступ к корню NO?

    Ошибка: неоднозначное перенаправление при передаче вывода команде

    Конечные точки USB 3.0 XCHI

    Параметры исчезли из настроек мыши и сенсорной панели

    Существует ли методика загрузки и загрузки пакета R без его установки?

    Просмотр сценария через SSH?

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