Это моя установка:
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet 10.0.2.0/24 scope global lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
'lo' волшебно в том смысле, что эта строка 10.0.2.0/24 фактически создает ~ 250 связываемых адресов. Большинство демонов без проблем связываются с ними. Однако в моей конфигурации BIND9 это не работает:
listen-on port 53 { 10.0.2.15; };
(Пробовал и без "порта 53"). Проблема в том, что для BIND прослушивание похоже на «белый список привязки», который соответствует всем IP-адресам, которые он может найти на всех интерфейсах. В этом случае он не находит 10.0.2.15 ни на одном интерфейсе, поэтому не выполняет привязку.
Кто-нибудь может порекомендовать обходной путь? Я должен отметить, что это тестовая установка, на которой я все время перемещаю вещи, поэтому я бы предпочел решение, которое не включает слишком много движущихся частей.
После небольшого тестирования ... Bind, похоже, не работает так, как вы наблюдали за работой других демонов. Я отметил 2 обходных пути, первый - добавить дополнительный адрес в lo
чтобы позволить привязке привязаться к ней
ip addr add 10.0.2.15/32 dev lo
Второй - изменить адрес, который прослушивает привязка. 10.0.2.0
Я не думаю, что ты сможешь это сделать. Тот факт, что loopback interface
отвечает на каждом IP-адресе в настроенной подсети (т.е. ping 10.0.2.15
работает должным образом), не означает каждый IP можно привязать.
Попробуйте привязать, например, к 127.0.0.2
и посмотрите, работает ли это.
Я думаю, что единственное решение - сделать так, как сказал @ m0ntassar.
Что вы можете сделать в качестве обходного пути для тестирования, так это создать виртуальный интерфейс lo: 1, назначить ему адрес 10.0.2.15 и вызвать его.