Hostname Verändern !?!

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo ich stehe vor einem Problem !

    Ichh habe mehre Pi's in gebrauch und habe mir ein Standardimage gemacht , naürlich muss ich jedesmal bei den neu - aufgesetzten Pi's immere den Hostnamen ändern... damit diese auch anspechbar sind die RaspberryPi0001 002 003 etc....

    Meine Idee ich Spiele ein Image auf starte den Pi, der im Systemstart ein Script startet das wenn er den Host schon findet dann den host umbenennt und aus RPI wird RPI_a4dfe
    oder so .... dann neustartet...
    Ich könnte dann noch eine email an mich senden das der Pi unter RPI_a4dfe erreichbar ist etc....
    und auch neustartet bla bla bla....

    in erster linie geht es mir darum das er das netzwerk scannt, merkt das Hostname schon existiert dann ändert und neutstartet ...
    in Shell wäre es am einfachsten...
    aber wenn jemand gern in Python ne idee hat auch gut :-))

    lg

  • Durch einen Scan des Netzwerkes kann man nich unbedngt die Hostnamen rausfinden, es sei denn die Pis wurden speziell dafür programmiert. Was DU meinst, sind sicher Anfragen an den lokalen DNS (meist implementiert im Router, z.B. Fritzbox). Das geht mit nslookup. Allerdings musst DU sicherstellen, dass wirklich nur ein lokales DNS darauf antwortet. Standartmaessig ist nslookup beim Pi nicht installiert. Mussr Du mal suchen, in welchem Paket das daherkommt. Ich finds grad nicht.

    nslookup kann jedenfalls eine Liste mit allen Hostnamen in einer domain ausgeben. Das ist wohl, was Du willst.


  • in erster linie geht es mir darum das er das netzwerk scannt, ...

    Das Netzwerk (bzw. den DNS-Server des Routers) kann man auch mit nmap scannen. Z. B. (hier für die FritzBox):

    Code
    nmap -sP -R --dns-servers 192.168.178.1 192.168.178.0/24 | grep -i fritz.box | awk {'print $5$6'}


    Ergebnis:

    Code
    fritz.box (192.168.178.1)
    dsfdg7868.fritz.box (192.168.178.9)
    868768sgdgsggfb.fritz.box (192.168.178.21)
    ff6abvvbgrg.fritz.box (192.168.178.27) [host down]
    hh33366sgyvds.fritz.box (192.168.178.43)


    BTW: Wenn man bei awk das $6 weg lässt, wird nur der Hostname mit der lokalen domain (hier "fritz.box"; die man bei Bedarf aber auch entfernen könnte) ausgegeben.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (9. Februar 2017 um 09:46)


  • Wie sieht es denn damit aus, die Datei /etc/hostname auf den PIs einmalig zu ändern, die melden sich dann immer mit dem eingetragenen Namen?

    Dann wäre es schön wenn ich eine
    Datei mit z.B.
    changehost.sh hätte
    die folgendes kann

    firsthostname = raspberry
    dann auslesen aus Hostfile ob ausgelesener name gleich ist
    Wenn nein dann ok und aussteigen
    wenn ja dann soll er die Mac Adrresse von eth0 ermitteln
    in den Hostfile raspberry_12_34_56_ad_ff nennen z.b
    dann
    renboot

    diese datei trage ich dann in die init.d ein als autostart !
    das würde mir reichen !


    danch würde ich dann ein Image erstellen wo der hostname denn Raspberry heist und beim "ersten" start würde dann der host unbenannt werden

    mit Python oder php bin ich eigentlich gut bewandert aber ich hätte es gern als eine Bash shell datei die nur auf basis von Linux shell programierung läuft

    also ich probier mich mal drann wenn jemand schon einen Code hat der kann ihn gern posten :)

    Danke im voraus


    lg

    Einmal editiert, zuletzt von brenner23 (9. Februar 2017 um 18:55)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!