Jeśli używam Ubuntu lub Linux Mint (jedyne dwa smaki, które wypróbowałem i na pewno działają), mogę uruchomić coś takiego:
wayne@myhost$ ssh [email protected]
I nazwa jest automatycznie tłumaczona na dowolny adres IP innego hosta w mojej sieci lokalnej.
Postanowiłem zacząć rozgałęziać się na inne dystrybucje i Arch działa na moim laptopie - ale jeśli spróbuję użyć poprzedniego polecenia, otrzymam Could not resolve hostname otherhost.local: Name or service not known
Co trzeba zrobić, aby tego rodzaju automatyczne rozpoznawanie nazw (?) Miało miejsce?
networking
arch-linux
hostname
Wayne Werner
źródło
źródło
avahi
a takżenss-mdns
- aby uzyskać więcej informacji, zajrzyj na arch wikiOdpowiedzi:
Odpowiedź Wayne'a jest już dość stara. Od tego czasu Arch przeszedł na używanie systemd zamiast skryptów init. Strona Avahi Arch wiki została zaktualizowana i zawiera szczegółowe informacje o tym, dlaczego potrzebne są poniższe kroki. W skrócie: Avahi to narzędzie zeroconf, co oznacza, że samo nie wymaga konfiguracji, aby działać po zainstalowaniu na wszystkich komputerach w sieci LAN, ale musisz skonfigurować resztę oprogramowania, aby właściwie poprosiło Avahi o informacje.
Uruchom je jako root lub dodaj w
sudo
razie potrzeby w terminalu i zamień nanano
wybrany edytor.pacman -S avahi nss-mdns
Instaluje demona usług Avahi i program rozpoznawania nazw multiemisji.nano /etc/nsswitch.conf
Ten plik informuje bibliotekę C, jak uzyskać informacje o usłudze nazw.hosts: files dns myhostname
nahosts: files mdns_minimal [NOTFOUND=return] dns myhostname
, zapisz i wyjdź.systemctl start avahi-daemon
Uruchamia usługę Avahi ręcznie, ponieważ jesteśmy już uruchomieni. Szukaj błędów)systemctl enable avahi-daemon
Włącza usługę Avahi podczas rozruchu.Właśnie wykonałem te kroki na laptopie Arch i nie było potrzeby restartowania innych usług lub interfejsu Wi-Fi, aby moje inne maszyny mogły je wykryć w ciągu kilku sekund, a mój laptop odkrył swoje usługi.
Ponieważ nie mogę jeszcze skomentować odpowiedzi ggg, chciałbym tutaj wskazać, że nie trzeba tego robić w skrypcie startowym - po to służy włączanie usługi w systemd. Zrób to raz i zapomnij o tym.
źródło
systemctl enable avahi-daemon --now
. Uruchamia się i włącza usługę natychmiast, zamiast czekać na kolejne uruchomienie.Dzięki wskaźnikowi do artykułu Arch Wiki na temat Avahi z Ulrich Dangel, to właśnie zrobiłem:
$ sudo pacman -S avahi nss-mdns
/etc/rc.d/avahi-daemon start
na końcurc.local
dhcpcd
,/etc/dhcpcd.conf
skomentowałemnoipv4ll
linię.$ sudo /usr/sbin/avahi-autopid -D wlan0
. Ponieważ nie lubię ponownego uruchamiania, nie jestem pewien, czy krok 3 był konieczny./etc/nsswitch.conf
Ustawiłem wiersz do odczytuhosts: files mdns4_minimal dns mdns4
.$ sudo /etc/rc.d/dbus restart
aby zrestartować dbus.Po prostu po
ssh [email protected]
prostu działało.źródło
Nie sądzę, że musimy
avahi-daemon
biegać, aby z niego korzystać.local
. Oto, co mam w skrypcie uruchamiania. Jest to o wiele prostsze w porównaniu do metody Arch Wiki.źródło