우분투 18
나는 많은 연구를 했고 이 그림을 정리하려고 하는데 잘 이해가 되지 않습니다.
mdns에 대해 systemd-resolved를 구성하는 방법은 무엇입니까?
나의 구체적인 목표는 다음과 같습니다.
- 10.0.0.0/16 네트워크에서 서버를 시작합니다.
- 새 서버가 foo1과 같은 임의의 이름을 스스로 부여하도록 합니다.
- foo1이라는 이름을 사용하여 동일한 네트워크에 있는 다른 컴퓨터에서 이 서버에 연결할 수 있습니다.
누구든지 systemd-resolved를 사용하여 이를 구체적으로 달성하는 방법을 말해 줄 수 있습니까?
감사해요
지금까지solved.conf를 다음과 같이 구성했습니다.
ubuntu@ip-10-0-0-229:/etc$ --> CHROME -> cat /etc/systemd/resolved.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details
[Resolve]
#DNS=
#FallbackDNS=
#Domains=
LLMNR=yes
MulticastDNS=yes
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes
ubuntu@ip-10-0-0-229:/etc$ --> CHROME ->
답변1
늦은 답변이지만 이 주제에 대한 정보가 거의 없기 때문에 누군가에게 도움이 될 수 있다고 생각합니다. 나도 이 문제로 시간을 낭비했다.
/etc/systemd/resolved.conf를 변경하는 것은 작업의 일부일뿐입니다. 변경 후에도 다음 퍼즐을 풀어야 합니다.
멀티캐스트 DNS는 다음과 같은 경우에만 링크에서 활성화됩니다.링크당그리고 전역 설정이 켜져 있습니다.
요령을 알면...쉽습니다.
sudo systemd-resolve --set-mdns=yes --interface=wlan0
wlan0은 mDNS를 요청하기 위한 인터페이스입니다. 그러면 mDNS가 활성화된 것을 확인할 수 있습니다.
$ sudo systemd-resolve --status wlan0
Link 3 (wlan0)
Current Scopes: none
DefaultRoute setting: no
LLMNR setting: yes
MulticastDNS setting: yes #<--- BINGO!
DNSOverTLS setting: no
DNSSEC setting: allow-downgrade
DNSSEC supported: yes
systemctl을 통해 systemd-resolved를 다시 시작합니다.
sudo systemctl restart systemd-resolved
mDNS가 작동 중입니다!
(앞으로)
~ ❯ ping homebridge.local
ping: cannot resolve homebridge.local: Unknown host
(뒤쪽에)
~ ❯ ping homebridge.local
PING homebridge.local (192.168.1.9): 56 data bytes
64 bytes from 192.168.1.9: icmp_seq=0 ttl=64 time=21.721 ms
64 bytes from 192.168.1.9: icmp_seq=1 ttl=64 time=22.429 ms
답변2
재부팅 후에도 시스템 구문 분석이 유지되도록 많은 시간을 보냈지만 제대로 작동하지 않아 매우 실망스럽습니다.
위의 지침과 설명에 따라 수행한 단계는 다음과 같습니다.
- 설정
MulticastDNS=yes
하다/etc/systemd/resolved.conf
/etc/systemd/network/eth0.network
다음 내용의 파일이 생성되었습니다.
[Match]
Name=eth0
[Network]
MulticastDNS=yes
나는 이것들을 따라하려고 노력한다지시하다ArchLinux 위키의 NetworkManager를 사용합니다.
아무것도 작동하지 않습니다. 그래서 결국 포기하고 시스템화된 서비스 노선을 택하기로 결정했습니다.
내 솔루션
네트워크 링크에서 mDNS를 활성화하려면 systemd-resolve의 멀티캐스트 DNS(mDNS) 설정을 업데이트하세요.
sudo nano /etc/systemd/resolved.conf
다음 설정을 업데이트하세요.
MulticastDNS=yes
LLMNR=no
systemd-resolved.service
eth0 네트워크 링크에서 mDNS를 활성화하는 사후 실행 서비스를 생성합니다 . 이렇게 하면 재부팅 후에도 멀티캐스트 DNS가 유지됩니다.
sudo nano /etc/systemd/system/multicast-dns.service
다음을 추가합니다.
[Unit]
Description=Enable MulticastDNS on eth0 network link
After=systemd-resolved.service
[Service]
ExecStart=systemd-resolve --set-mdns=yes --interface=eth0
[Install]
WantedBy=multi-user.target
서비스 를 활성화합니다 multicast-dns
.
sudo systemctl enable multicast-dns
sudo systemctl start multicast-dns
sudo systemctl status multicast-dns
sudo systemctl restart systemd-resolved
테스트해 보겠습니다.
# Protocols should show '+mDNS' instead of '-mDNS'
sudo systemd-resolve --status eth0
# The same information voor all network interface
resolvectl status
# Check if the hostname with .local added is resolved
resolvectl query `hostname`.local
이제 재부팅하면 시스템 구문 분석이 제대로 작동합니다 :-)
이것이 누군가의 좌절감을 덜어주기를 바랍니다.
답변3
인터페이스에서 mDNS를 활성화하려면 다음이 필요합니다.설정 MulticastDNS=
옵션10.0.0.0/16 네트워크의 인터페이스에 대한 문서 섹션 [Network]
..network
이 옵션은 기본적으로 비활성화되어 있으며 인터페이스별로 활성화해야 합니다.
또한 이 systemd-resolve --status
명령(Ubuntu 18.04에 포함된 systemd v237에서 사용 가능, 최신 systemd가 이 명령을 대체함 resolvectl
)을 사용하여 각 네트워크 인터페이스에 활성화된 옵션을 포함하여 확인된 상태를 쿼리할 수도 있습니다. 10.0.0.0/16 네트워크가 있는 MulticastDNS setting: no
인터페이스가 표시되면 Link
아직 활성화되지 않은 것입니다.
답변4
mDNS를 처리하는 방법은 다음과 같습니다(avahi).
• sudo apt install ifupdown
• sudo apt install avahi-utils
텍스트에서 얻은 아이디어
• cat /etc/network/interfaces
• # ifupdown has been replaced by netplan(5) on this system. See
• # /etc/netplan for current configuration.
• # To re-enable ifupdown on this system, you can run:
• # sudo apt install ifupdown