Portál AbcLinuxu, 2. června 2024 01:08


Dotaz: Avahi - IPv6 Link Local + mDNS

8.11.2019 19:09 KasheK | Ostrava
Avahi - IPv6 Link Local + mDNS
Přečteno: 402×
Odpovědět | Admin
Přílohy:

Ahoj linuxáci a linuxačky!
obracím se na Vás s velkou prosbou o pomoc. Předem se omlouvám, pokud bude něco špatně srozumitelné / popsané, ale s linuxem jsem začal zhruba měsíc zpět a všechno se učím a je pro mě oproti oknům nové. V rámci školy máme předmět zaměřený na linux a já dostal za úkol vypracovat zapojení v účebně ( všechny PC linux only ) s Avahi a IPv6 only.

Abych nastínil více co vlastně potřebuji udělat, tak mám za úkol připravit skript, který nahodí na všech mašinách Avahi a IPv6 link-local adresy ( + IPv6 normální adresaci, ale v rámci jednoho LANu bude komunikace pouze na link-local adresách ). Na něco málo jsem už koukal, ale pořád mi nejde do hlavy pár věcí ohledně avahi a skriptování na linuxu, proto se obracím na Vás, linux mágové, s prosbou o pomoc.

 

Co se týče avahi, koukal jsem na pár stránek na gůglu a manuál v linuxu, ale moje angličtina není až tak skvělá a v češtině jsem žádný tutoriál na IPv6 Avahi nenašel. Jediné co bych potřeboval vysvětlit je to, jak mám správně nastavit konfigurační soubory Avahi ( avahi-autoipd.action , avahi-daemon.conf . nsswitch.conf ). Všechny dám do příloh.

V konfiguráku avahi-autoipd.action je zhruba toto:

 

set -e
# Command line arguments:#   $1 event that happened:#          BIND:     Successfully claimed address#          CONFLICT: An IP address conflict happened#          UNBIND:   The IP address is no longer needed#          STOP:     The daemon is terminating#   $2 interface name#   $3 IP adddress
PATH="$PATH:/usr/bin:/usr/sbin:/bin:/sbin"
# Use a different metric for each interface, so that we can set# identical routes to multiple interfaces.
METRIC=$((1000 + `cat "/sys/class/net/$2/ifindex" 2>/dev/null || echo 0`))
if [ -x /bin/ip -o -x /sbin/ip ] ; then
# We have the Linux ip tool from the iproute package
case "$1" in        BIND)            ip addr flush dev "$2" label "$2:avahi"            ip addr add "$3"/16 brd 169.254.255.255 label "$2:avahi" scope link dev "$2"            ip route add default dev "$2" metric "$METRIC" scope link ||:            ;;
CONFLICT|UNBIND|STOP)            ip route del default dev "$2" metric "$METRIC" scope link ||:            ip addr del "$3"/16 brd 169.254.255.255 label "$2:avahi" scope link dev "$2"            ;;
*)            echo "Unknown event $1" >&2            exit 1            ;;    esac
elif [ -x /bin/ifconfig -o -x /sbin/ifconfig ] ; then
# We have the old ifconfig tool
case "$1" in        BIND)            ifconfig "$2:avahi" inet "$3" netmask 255.255.0.0 broadcast 169.254.255.255 up            route add default dev "$2:avahi" metric "$METRIC" ||:            ;;
CONFLICT|STOP|UNBIND)            route del default dev "$2:avahi" metric "$METRIC" ||:            ifconfig "$2:avahi" down            ;;
*)            echo "Unknown event $1" >&2            exit 1            ;;    esac
else
echo "No network configuration tool found." >&2    exit 1
fi
exit 0


 

 

má otázka zní, je potřeba v tomto skriptu / konfiguráku něco měnit pro rozběhnutí link-local IPv6 avahi?


Další konfigurák, avahi-daemon.conf obsahuje toto:

[server]

#host-name=TEST1

#domain-name=VSB.CZ

#browse-domains=0pointer.de, zeroconf.org

use-ipv4=no

use-ipv6=yes

#allow-interfaces=enp1s0

#deny-interfaces=lo

#check-response-ttl=no

#use-iff-running=no

#enable-dbus=yes

#disallow-other-stacks=no

#allow-point-to-point=no

#cache-entries-max=4096

#clients-max=4096

#objects-per-client-max=1024

#entries-per-entry-group-max=32

ratelimit-interval-usec=1000000

ratelimit-burst=1000

 

[wide-area]

enable-wide-area=yes

 

[publish]

#disable-publishing=no

#disable-user-service-publishing=no

#add-service-cookie=no

#publish-addresses=yes

publish-hinfo=no

publish-workstation=no

#publish-domain=yes

#publish-dns-servers=192.168.50.1, 192.168.50.2

#publish-resolv-conf-dns-servers=yes

#publish-aaaa-on-ipv4=yes

#publish-a-on-ipv6=no

 

[reflector]

#enable-reflector=no

#reflect-ipv=no

 

[rlimits]

#rlimit-as=

#rlimit-core=0

#rlimit-data=8388608

#rlimit-fsize=0

#rlimit-nofile=768

#rlimit-stack=8388608

#rlimit-nproc=3

#disable-publishing=no

#disable-user-service-publishing=no

#add-service-cookie=no

#publish-addresses=yes

publish-hinfo=no

publish-workstation=no

#publish-domain=yes

#publish-dns-servers=192.168.50.1, 192.168.50.2

#publish-resolv-conf-dns-servers=yes

#publish-aaaa-on-ipv4=yes

#publish-a-on-ipv6=no

 

[reflector]

#enable-reflector=no

#reflect-ipv=no

 

[rlimits]

#rlimit-as=

#rlimit-core=0

#rlimit-data=8388608

#rlimit-fsize=0

#rlimit-nofile=768

#rlimit-stack=8388608

#rlimit-nproc=3

něco málo jsem zde již vyeditoval, ale nejsem si zase jistý co vše jsou pro mne důležité parametry pro správnou funkčnost avahi.

 

A jako poslední mám soubor nsswitch.conf, který obsahuje toto:

passwd:         compat systemd

group:          compat systemd

shadow:         compat

gshadow:        files

 

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

networks:       files

 

protocols:      db files

services:       db files

ethers:         db files

rpc:            db files

 

netgroup:       nis

 

 

 

 

 

 

 

 

 

 

 

Případně budu moc rád za každé doporučení na nějakou literaturu zabývajíc se problematikou IPv6 + Avahi.

 

 

Předem Vám moc moc moc děkuji! Budu rád za každou radu / doporučení :-)

 

a přeji Vám hezký víkend!

01001000 01000101 01001100 01001100 01001111 00100000 01010100 01001000 01000101 01010010 01000101
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.11.2019 20:03 NN
Rozbalit Rozbalit vše Re: Avahi - IPv6 Link Local + mDNS
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hrube reseni by mohlo byt nasledujici:
#!/bin/bash

# Pridam vlastni IPv6 link local adresu.
ip -6 addr add fe80::dead:beaf/64  

# Restartuji Avahi.
systemctl restart avahi-deamon

: Hotovo ;)
exit 0
Zbytek by mel byt automaticky, doufejme. Firewall bude ve vychozim nastaveni zadny.
9.11.2019 20:10 KasheK | Ostrava
Rozbalit Rozbalit vše Re: Avahi - IPv6 Link Local + mDNS

Ahoj!

díky za odpověď. Co se týče manuálního nastavení IPv6 link-local adresace, tak jsem zkoušel, akorát byl problém v duplikátní ( automaticky nastavené ) adresaci od avahi. Zkoušel jsem flushnout nastavení ethernetového portu, ale automatická adresace byla během pár ms zpět.

Je nějaká možnost na zakázání automatické konfigurace od avahi?

Případně kde prosímtě najdu nastavení mDNS a jaké jsou příkazy pro zobrazení záznamů?

 

 

Jinak co se týče skriptů na linuxu, neznáš prosím nějakou dobrou literaturu / webové stránky, kde jsou nějaké návody?

 

 

Předem díky za odpověď!

01001000 01000101 01001100 01001100 01001111 00100000 01010100 01001000 01000101 01010010 01000101
9.11.2019 20:43 NN
Rozbalit Rozbalit vše Re: Avahi - IPv6 Link Local + mDNS
Pro zobrazeni / publikovani zaznamu je avahi-browse / avahi-publish. Jak zakazat generovani link local adresy jsem nenasel.. Zaklad skriptovani v Bash.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.