Соединитесь с Linux по имени, а не IP

Я плохо знаком с Linux (в настоящее время запускающий Ubuntu 10.04), и я только что закончил установку доступ SSH к моей Машине Linux. В настоящее время я должен использовать ssh root@x.x.x.x соединяться, но очень смогло бы подкачать IP для имени компьютера (как в Windows с \\name) или доменное имя (как computername.example.com).

Я действительно не знаю, где запустить так, любая справка больше всего ценилась бы. Идите медленно, как упомянуто - я все еще плохо знаком с этим.


РЕДАКТИРОВАНИЕ 1

Полностью забыл упоминать, что я пытаюсь соединиться из Windows 7 (через PuTTY) - извините.

18
задан 07.09.2010, 18:57

6 ответов

Нулевая конфигурация протоколы обнаружения LAN, в порядке предпочтения:

  • mDNS
    • Используемый, прежде всего, продуктами Apple и некоторыми программами Linux, но также и доступный для Windows и возможно других платформ; многоадресный IP-пакет использования.
    • Обеспечивает и исследование поиска и обслуживания имени.
    • Имена хостов всегда находятся в форме name.local.
    • Программное обеспечение:
      • исходно поддерживаемый в Windows 10.1709 и позже (должен быть включен с помощью Реестра);
      • Добрый день в более старом Windows;
      • Avahi с nss_mdns на Linux;
      • исходно поддерживаемый на OS X и iOS (и, предположительно, Android).
  • LLMNR
    • Используемый для определения имен Windows Vista и выше, как современная альтернатива службам имен NetBIOS.
    • Очень похожий на mDNS, но имеет меньше функций – в частности, испытывает недостаток в сервисном исследовании (Windows использует Протокол обнаружения WS для этого).
    • Использует пустые имена хостов (как NBNS, но в отличие от mDNS).
    • Программное обеспечение:
      • Исходно поддерживаемый Windows Vista и позже;
      • systemd-resolved с nss_resolve (часть systemd 216) на Linux..
  • Службы имен NetBIOS
    • Часть старого комплекта сетевого протокола NetBIOS используется Windows, ОС/2, MS-DOS... Все еще используемый. Не оправдание начать использовать его в новых сетях.
    • Обеспечивает определение имен и (в некоторой степени) сервисное исследование – иначе "Сетевой Район" или "Мои Сетевые Места" в Windows.
    • Использование (несколько болтливые) широковещательные сообщения IPv4, и имеет его собственный сложный и глупый "протокол" выборов браузера для сокращения болтливости. Никакая поддержка IPv6 вообще.
    • Программное обеспечение:
      • Исходно поддерживаемый в Windows и ОС/2;
      • nmbd с nss_wins (часть Samba) на Linux и BSD's;
      • По-видимому, OS X поддерживает его исходно также?

Методы, которые часто предварительно конфигурируются для Вас:

  • DNS с помощью локального (внутреннего) доменного имени
    • Домашние шлюзы имеют тенденцию иметь это встроенное как часть локального кэша DNS. Часто это является просто регулярным dnsmasq, который Вы могли выполнить вручную при установке шлюза Linux/BSD-based.
    • Они берут имя хоста из Вашего запроса DHCP, регистрируют его в dnsmasq под доменом как home, и предложите себя как основной сервер DNS (действие как кэш DNS).
    • Работы по умолчанию с большинством операционных систем, но только с DHCP (шлюз не знает имен хостов статических Хостов IP), и обычно имеют тенденцию быть довольно облупленными, по моему опыту.
    • Программное обеспечение:
      • Регулярный клиент DHCP на хостах. Должен отправить опцию имени хоста.
      • dnsmasq на шлюзе. (Большие установки могли использовать dhcpd + named.)

Методы, включающие ручную конфигурацию:

  • DNS с помощью собственного доменного имени
    • Работы везде. (Не поможет Вам на самом деле соединиться по Интернету, все же.)
    • Динамический DNS, возможный, если Вы используете DHCP и управляете сервером DNS; иначе все данные статичны.
    • Должен владеть доменным именем (который будет стоить нескольких маркеров).
  • свободные субдомены DNS
    • Все еще DNS, просто свободный (или намного более дешевый, чем домен), но также и вполне ограниченный. Сервисы как FreeDNS и Dyn предлагают регистрацию отдельных субдоменов под доменом, которым они управляют (например, myhost.dyndns.com).
      • Слишком часто субдомен был уже выбран кем-то еще...
    • Динамическим обновлениям DNS часто позволяют (DynDNS-стиль).
  • /etc/hosts
    • Текстовый файл, перечисляющий IP-адрес – пары имени хоста, которые должны быть вручную настроены на каждой клиентской машине.
    • (%SystemRoot%\system32\drivers\etc\hosts в Windows)
  • Конфигурация SSH
    • Поле "Hostname" в PuTTY, или ~/.ssh/config на OpenSSH.
    • Должен быть вручную настроен.
  • PostIt отмечает на всем протяжении Вашего стола
    • Очень дешевый. Никакая политика именования. Типы данных Бога.
    • Довольно ненадежный. Должен быть вручную распределен. Никакой TTL, который часто приводит к устаревшей информации, кэшируемой в течение многих месяцев, пока кто-то не замечает. Алгоритмы запроса неэффективны. Ответы на запросы имеют тенденцию теряться легко, иногда оставляя просто запись связующего звена на Вашем мониторе. (Три месяца спустя Вы могли бы найти их буферизованными позади Вашего стола.)
36
ответ дан 07.12.2019, 10:23

Две опции.

  • Все сервисы:

Поместите запись для него в /etc/hosts. Не коснитесь существующих строк, добавьте новую.

  • ssh только:

Добавьте a Host строка файла конфигурации к ~/.ssh/config с именем Вы хотите использовать, затем добавить желаемые опции ниже этого. Посмотрите man 5 ssh_config для получения дополнительной информации.

Host myserver
    Hostname 192.168.123.234
    Protocol 2
4
ответ дан 07.12.2019, 10:23

Если бы Вы хотите получить доступ к полю Linux от произвольного компьютера, Вам было бы нужно доменное имя. Используйте динамическую службу DNS для указания на доменное имя на компьютер Linux (или маршрутизатор, это подключено с). После того как Вы настраиваете это, это принесет эй дополнительную пользу не необходимости волноваться о IP Вашего постоянно меняющегося компьютера Linux.

4
ответ дан 07.12.2019, 10:23

Из Windows 7 (на Ваше редактирование)...

Start -> Run -> notepad c:\windows\system32\drivers\etc\hosts

Когда блокнот запустится, перейдите к нижней части файла и добавьте свой IP-адрес и имя хоста:

x.x.x.x    mylinuxhostname mylinuxhostname.domain.com

Сохраните файл, затем попытайтесь проверить с помощью ping-запросов его от командной строки:

c:\> ping mylinuxhostname
c:\> ping mylinuxhostname.domain.com

Это будет только работать от Вашей LAN. Соединение с ним от "мира" (на Ваш добавленный комментарий) является совершенно другим зверем, включающим DNS (dyndns, godaddy, и т.д.) и конфигурация маршрутизатора как (NAT) преобразование сетевых адресов и др.

4
ответ дан 07.12.2019, 10:23

Вы собираетесь хотеть исследовать Samba или Winbind. Моя сеть все-Linux (включая маршрутизатор) может говорить друг с другом именем хоста, но я не уверен, как сказать Windows, каково название машины Linux.

2
ответ дан 07.12.2019, 10:23

Я также использую Ubuntu 10.04, и я могу соединиться со своими машинами с помощью их имени. Скажите, что у меня есть компьютеры, названные ernie и bert, которые находятся в той же сети:

Моя подсказка похожа на это на ernie:

ernie:~$ 

Если я ввожу это:

ernie:~$ ssh root@bert.local

Я буду корнем на bert:

bert:~#

Я делаю это между двумя машинами человечности, но я предположил бы, что это будет работать в шпаклевке также. (Я не знаю о соединении с окнами из Ubuntu, вижу другие ответы о самбе.)

Необходимо установить sshd в Ubuntu для этого для работы: sudo apt-get install openssh-server

1
ответ дан 07.12.2019, 10:23

Теги

Похожие вопросы