Несколько IP-адресов для одного и того же имени хоста в /private/etc/hosts?

У меня есть корпоративная почтовая учетная запись (exchange 2007), в которой используется самозаверяющий сертификат SSL. Что бы я ни делал, Mail всегда жалуется на это при подключении. Если я смотрю на детали, он всегда говорит, что имя сертификата postне соответствует имени DNS, которое я использовал для подключения.

Мне пришла в голову блестящая идея добавить запись в /private/etc/hosts, которая бы сопоставляла имя postс внешним IP-адресом сервера. Это прекрасно работает, и ошибка сертификата исчезла, и все работает, когда я нахожусь вне офиса.

Проблема в том, что когда я нахожусь в офисе, мне нужно получить доступ к серверу по его внутреннему адресу, и единственный способ, которым я мог подключиться, это удалить строку, которую я добавил в hosts, или изменить IP с внешнего IP на внутренний ИП.

Теперь вопрос: есть ли способ отформатировать несколько записей в файле hosts для одного и того же имени хоста, но с разными адресами? Я знаю, что это делается с realDNS-серверами, но, похоже, это не работает в файле hosts. Идея состоит в том, чтобы поиск имени возвращал оба IP-адреса, а Mail переключался на второй адрес, когда первый не работает.

Я знаю, что в Mail есть настройка для внутренних и внешних имен сервера, но ее использование возвращает исходные ошибки сертификата. После некоторого размышления я также задался вопросом, что произойдет, если я сделаю вторую запись для того же имени, но используя IPv6 вместо IPv4? Должен быть IPv6 позже в этом году, и если я правильно понимаю, вы можете иметь одно имя, указанное дважды в хостах, когда один адрес - IPv6.

Вы должны иметь возможность заставить почту принимать и сохранять сертификат без запроса, установив флажок в поле «Подробнее».
Да, я это сделал и добавил сертификат в локальный доверенный список, но он все равно ругается, потому что имя dns сервера не совпадает с именем на сертификате без записи hosts.

Ответы (1)

К сожалению, нет. Файл hosts является статическим файлом поиска, и из-за этого он не имеет концепции аварийного переключения с несколькими адресами на имя, циклического перебора или других функций, встроенных в преобразователь имен.

Вы можете указать несколько имен для данного IP-адреса, но не несколько IP-адресов, сопоставленных с одним именем.

Осмелюсь спросить, почему вы не можете получить доступ к внешнему интерфейсу почтового сервера, находясь внутри вашего офиса? Мы настраиваем всех наших клиентов на внешнее использование Mail/Jabber, чтобы они никогда не сталкивались с этой проблемой.

Вопреки расхожему мнению, использование внешнего интерфейса при внутреннем использовании не «тянет весь интернет», если, конечно, настроено правильно.

Я второй использую внешний адрес.
Что-то блокирует его, потому что мне пришлось удалить запись hosts, чтобы подключиться, находясь в офисе.
Это, вероятно, излишество, но разве нет настоящего DNS-сервера для osx, который я мог бы настроить вместо файла hosts? Я помню, как делал что-то подобное на компьютере с Vista, где я установил ISC Bind, чтобы я мог блокировать определенные запросы DNS.
Интересно, видимо BIND встроен в OSX. Думаю, это не такой большой сюрприз, как должно быть. Я нашел инструкции для Leopard, хотя и не обязательно для Snow Leopard: macshadows.com/kb/…