У меня есть сервер Debian с именем neptune
, со статическим IP-адресом 192.168.1.10
который предоставляет услуги SMB, Intranet и SSH. На моем компьютере с Windows он разрешается нормально, но на моем Mac он отображается в разделе "Shared" со своим именем хоста, и я могу его использовать. Тем не менее, я не могу использовать имя хоста для SSH и не могу перейти к нему по имени хоста в моем браузере. Я попытался перезагрузить свой Mac и обновить его IP-адрес, но это не удалось.
3 ответа
Вам не хватает базовых навыков в сети. Чтобы подключиться к чему-либо с его именем, вам нужен DNS-сервер и зарегистрированные IP-адреса на этом DNS-сервере.
То, что вы видите, - это не что иное, как беспорядок протоколов, транслируемых в вашей сети с разными именами и доменными именами.
В здравом смысле, возможно, вам не хватает локального домена. Ага. Попробуйте подключиться к имени хоста, которое вам нравится, с окончанием .local; например: если ваше имя хоста - машина, попробуйте использовать ssh для machine.local.
Почему я думаю, что это проблема? Потому что вы сказали, что у вас есть сервер Debian с SMB и дополнительными службами, поэтому на нем может быть установлена Avahi, и Avahi обычно транслирует домен .local. Для получения дополнительной информации посмотрите здесь: http://avahi.org/wiki/AvahiAndUnicastDotLocal
РЕДАКТИРОВАТЬ: Поскольку вы используете DNS-сервер, вы должны заполнить свой DNS с записями из вашей сети. Я не знаю, какую доменную зону DNS вы определили, но вы должны поставить запись таким образом, учитывая, что вы используете BIND:
192.168.1.10 IN A neptune
После этого дважды проверьте, все ли ваши машины используют ваш DNS-сервер. На компьютерах с Windows и OS X он находится в настройках сети. Просто поместите ваш DNS-сервер в качестве основного, а другой, обычно от вашего интернет-провайдера, в качестве отказоустойчивого DNS.
Затем вы должны попытаться подключиться к neptune.yourdomain.com
и посмотреть, получите ли вы ожидаемые результаты.
Если нет, запустите процессы отладки с помощью инструментов nslookup
и dig
. При сбое разрешения DNS часто встречаются плохие кэши, это часто случается на компьютерах с OS X, даже на моей машине такое случается. Поэтому я постоянно выдаю эту команду на терминале для очистки кешей:
sudo killall mDNSResponder
Посмотрим, решится ли ваша проблема сейчас.
Ранее (совсем недавно, с момента последнего запуска) я был в состоянии подключиться к ssh к Mac (из моей коробки с Ubuntu).
Я бы получил IP на Mac через:
ifconfig -a | grep-iw inet
"Обычно", я получил бы действительный IP-адрес, который согласуется с тем, который указан в "системном" предпочтении системы для удаленного входа в систему.
но на этот раз я получил только 127.0.0.1 (то есть localhost), и в системной настройке было указано только имя хоста, до которого я не смог добраться.
Я перезагрузился, и после этого я смог получить полезный IP-адрес. Затем я смог ssh на IP-адрес. (к имени хоста также :-).
Хотя мне бы очень хотелось, чтобы я писал сценарии прохождения таблиц маршрутизации и брандмауэров и, возможно, отлаживал ядро OS X, я, наконец, просто скопировал файл.
В этом случае я провел черту, используя scp, а не флеш-накопитель. У меня есть гордость (:-).
Насколько я знаю, это нормальное поведение. Если вы хотите, чтобы это работало, вы можете настроить свой собственный DNS-сервер или добавить запись в свой файл hosts
. Последний вариант самый простой, все, что вам нужно сделать, это добавить следующее в /private/etc/hosts
.
192.168.1.10 neptune
Вы должны иметь возможность редактировать его с помощью команды sudo nano /private/etc/hosts