Как настроить systemd-разрешенный для многоадресной передачи mdns DNS в локальной сети?

Хорошо, я понял. Прежде всего я применил этот обходной путь (ниже обновленная версия):

(как суперпользователь)

$ systemctl stop org.cups.cupsd.service

Затем создайте файл /etc/udev/rules.d/10-cups_device_link.rules и добавьте это содержимое:

KERNEL=="lp[0-9]", SYMLINK+="%k", GROUP="lp"

Отключите и подключите USB-кабель принтера и подождите несколько секунд. Наконец перезапустите чашки

$ systemctl start org.cups.cupsd.service

Теперь принтер обнаружен CUPS как принтер с параллельным портом. В моем случае, к сожалению, я не смог установите его с помощью инструментов с графическим интерфейсом, поскольку они не смогли найти информацию об используемом диске. К счастью, в CUPS есть инструмент командной строки, который я мог бы использовать для установки своего принтера

(как обычный пользователь, НЕТ sudo )

$ lpadmin -p DELL_LaserJet_3110cn -E -v parallel:/dev/lp0 -P /usr/share/cups/model/Dell/Dell_3110cn.ppd

Примечание:

Путь к драйверу, указанному в параметре -P , вы должны найти его, выполнив поиск PDD в вашей системе

Имя устройства (в моем случае параллельно: / dev / lp0 ), который необходимо указать в параметре -v , вы можете g et, выполнив lpinfo -v

4
02.08.2018, 05:56
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
1
27.01.2020, 20:59

В дополнение к MulticastDNS=yesв вашем файле.network, тот же параметр и необходимо установить в файле resolve.conf. Из документа resolve.conf:

Multicast DNS will be enabled on a link only if the per-link and the global setting is on.

1
27.01.2020, 20:59

Чтобы включить mDNS на интерфейсе, необходимо установить параметр MulticastDNS=в разделе [Network]файла .networkдля интерфейса в сети 10.0.0.0/16..

Этот параметр по умолчанию отключен, и его необходимо включить для каждого интерфейса.

Вы также можете использовать команду systemd-resolve --status(, доступную в systemd v237, поставляемой в Ubuntu 18.04,Более новая система systemd заменила эту команду на resolvectl), чтобы запросить статус разрешения, включая параметры, включенные для каждого сетевого интерфейса. Если вы видите MulticastDNS setting: noдля интерфейса Link, где находится сеть 10.0.0.0/16, это означает, что он еще не включен.

5
27.01.2020, 20:59

Это поздний ответ, но я все еще думаю, что это может помочь кому-то, потому что по этой теме мало информации. Я тоже потратил время на эту проблему.

Изменение файла /etc/systemd/resolved.conf — это только часть работы. После того, как вы изменили его, вам все еще нужно решить эту загадку:

Multicast DNS will be enabled on a link only if the per-link and the global setting is on.

А если знаешь хитрость... это легко.

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

Перезапустить systemd -решить через systemctl:

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
11
20.03.2020, 21:33

Теги

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