Raspberry Pi orkestrering (3 / 6 steg)
Steg 3: struktur
Detta är ett stort projekt för mig, så jag måste dela upp det i delar.
här är det första utkastet till vad jag ville uppnå:
- rpi_detector
- Discovery modul, använda några sätt att upptäcka ip av partiell mac-adress
- Använd ip för att skapa ansible lager
- valfri
- testa för standardinloggning metoder # integreras i rpi_ssh
- SSH med lösenord
- SSH med nyckel
- rpi_inventory
- använda detektor för att få lista över RPi
- rpi_ssh
- använda mallar för rolldefinition
- Generera ansible lagret baserat på en mall
- rpi_ssh
- provningsmetoder för standard ssh inloggning
- SSH med lösenord
- om värdet är true fortsätter att växla till nyckel, annars ssh med nyckel
SSH med nyckel: om politiska mandat switch till nyckel, annars avsluta
- SSH med lösenord
- provningsmetoder för standard ssh inloggning
- nmap - stora multi-plattform verktyg för nätverksidentifiering och säkerhetsgranskning. Du kan skanna ditt nätverk för alla anslutna enheter och få IP-adresser för RPi. Nackdelen är att du måste installera det i OS X och Windows och inte alla Linux distributioner har det förinstallerade. Jag använder det hela tiden för olika tillämpningar och om du gillar det – Använd detta alternativ för den upptäckt delen.
- Logga in på din router om möjligt och slå upp ip som tilldelades till RPi. Inte mycket skriptbar process.
- om RPi har avahi-daemon kör än använda Apple zeroconfig, Bonjour i Windows, eller avahi-bläddra i Linux för att få IP-adresser.
- Pi Finder.app - enkel Apple script app för upptäckt.
- många fler
Jag behövde liten och snabb lösning som behöver ingen ytterligare apps, libs för python – "arp". ARP nätverk verktyg tillgängliga på nästan alla plattformar, definitivt på OS X, Windows och Linux. Det ger i princip samma produktion och lättillgängliga via python.
Du kan se jag hittade 4 RPi på mitt nätverk.
Det finns en varning med denna kod. Som standard arp tabellen är tom och du måste fylla den. Min monitor server fyller det för att det ständigt i kontakt med alla maskiner.
Möjliga lösningar:
-använda nmap istället, eller använda den som en lösning för att fylla tabellen arp.
-lägga till ping loop för undernät Skanna
Jag använder arp eftersom nmap behöver ytterligare bibliotek i python att fungera korrekt och parsning nmap utgång som är inte så enkelt som arp för mig.
Från henne kan du rör det till nästa steg.