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

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