enigmagroup / enigmasuite

The software suite that powers the Enigmabox
GNU General Public License v3.0
12 stars 5 forks source link

Weboberfläche reagiert nicht #1

Closed RockInBlack closed 10 years ago

RockInBlack commented 10 years ago

Hallo Enigmas,

leider funktioniert die Weboberfläche derzeit nicht korrekt. D.h. wenn die Änderungen übernommen werden, dann reagiert die Seite nicht mehr.

Ich erhalte zusätzlich folgende Ausgabe von "puppet-apply":

\ dry run ** running puppet and applying manifest... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 47625 0 47625 0 0 71159 0 --:--:-- --:--:-- --:--:-- 71294 Could not parse for environment production: Syntax error at '<' at /var/local/enigmasuite/puppet/manifests/site.pp:2 on node box

enigmagroup commented 10 years ago

Hast du die neuste Version vom webinterface.tar.gz? Es wurde vor 2 Tagen aktualisiert: https://github.com/enigmagroup/enigmasuite/blob/master/files/webinterface.tar.gz?raw=true

RockInBlack commented 10 years ago

Ja, habe die gesamte Software heute frisch heruntergeladen. Die Änderung sollte also dabei sein.

enigmagroup commented 10 years ago

Ok, seltsam. Was wird für eine Fehlermeldung angezeigt, wenn du die Manifest-URL besuchst? --> http://box/puppet/site.pp

RockInBlack commented 10 years ago

Ich erhalte auf dieser Seite folgenden IndexError:

IndexError at /puppet/site.pp

list index out of range

Request Method: GET Request URL: http://box/puppet/site.pp Django Version: 1.4.5 Exception Type: IndexError Exception Value:

list index out of range

Exception Location: /usr/lib/python2.7/dist-packages/django/db/models/query.py in getitem, line 207 Python Executable: /usr/bin/python Python Version: 2.7.3 Python Path:

['/var/local/enigmasuite/webinterface', '/usr/bin', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/pymodules/python2.7']

Server time: Sa, 1 Feb 2014 17:00:52 +0100

enigmagroup commented 10 years ago

Ah. Ich kanns nachstellen. Das ist eine selbstgebaute Box?

enigmagroup commented 10 years ago

Die Suite geht davon aus, dass immer Länderserver vorhanden sind. Ein Bug.

Wenn keine Länderserver da sind (im Selbstbau), dann fliegts auf die Schnauze. Muss ich noch beheben. Kleiner Workaround: Server manuell hinzufügen:

Welches Land ist aktuell gewählt? Falls Ungarn, Ländercode ist "hu". Falls die Schweiz, "ch", usw.

Im Django Admininterface ein Peering hinzufügen: http://box/admin/app/peering/add/

Address: 1.1.1.1 Public key: xxx Password: xxx Country: [dein aktuell gewähltes Land, z.B. hu] Custom: NICHT ausgewählt.

Save.

Dann müsste es keinen IndexError mehr geben.

enigmagroup commented 10 years ago

Das Passwort für das Django Admininterface ist das gleiche wie das SSH-Passwort. User ist "admin".

RockInBlack commented 10 years ago

Vielen Dank, jetzt tut sich schon mal was.

Möchte mir gerne eine zweite Enigmabox selbst zusammenbauen. Habe ebenfalls eine Box von euch, die aber leider nicht mehr geht..

Die Änderungen ließen sich nun übernehmen & habe gleich darauf alle benötigten Pakete nachinstalliert. Leider ist die Box nun nicht mehr über das Netzwerk erreichbar, d.h. weder Weboberfläche noch SSH-Zugang funktionieren. Komischerweise scheint der DHCP zu laufen..) Kann mich nun nur noch über den COM-Port einloggen.

"puppet-apply" sagt dazu nun folgendes:

\ dry run ** running puppet and applying manifest... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1450 0 1450 0 0 1049 0 --:--:-- 0:00:01 --:--:-- 1054 notice: /Stage[main]/Cjdns/File[/etc/wpa_supplicant/wpa_supplicant.conf]/ensure: current_value absent, should be file (noop) notice: /Stage[main]/Cjdns/Package[firmware-ralink]/ensure: current_value purged, should be present (noop) notice: Class[Cjdns]: Would have triggered 'refresh' from 2 events notice: Stage[main]: Would have triggered 'refresh' from 1 events notice: Finished catalog run in 6.76 seconds

RockInBlack commented 10 years ago

Konnte die obigen Puppet-Fehler selbst beheben:


\ dry run ** running puppet and applying manifest... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1450 0 1450 0 0 4861 0 --:--:-- --:--:-- --:--:-- 4915 notice: Finished catalog run in 6.44 seconds


Jetzt müsste bloß das Netzwerk wieder funktionieren. Eine Idee wie ich das hinbekommen kann?

RockInBlack commented 10 years ago

Ändert die Engimasuite die Firewall? Schaut fast so aus, als ob das Problem daran liegt..

RockInBlack commented 10 years ago

Jetzt wo ich die Firewall deaktiviert habe, komme ich wieder auf die Box.

Leider habe ich nun erneut den ersten Fehler, sobald ich eine Änderung vornehme hängt die Seite. Unter "http://box/puppet/site.pp" erhalte ich den IndexError & bei "http://box/admin/app/peering/add/" ist aber immer noch mein manuell angelegtes Peering.

RockInBlack commented 10 years ago

Kann es sein, dass unter Peering eure Server eingetragen werden müssen? Ich habe ja bereits einen Netzwerkzugang für eure Server erworben. Das Zertifikat habe ich auch schon über die Weboberfläche wieder erfolgreich importiert gehabt.

enigmagroup commented 10 years ago

Oh, die Zertifikate sind importiert? In dem Fall, führ mal folgendes aus:

puppet agent --test

RockInBlack commented 10 years ago

Bekomme folgenden Fehler: err: Could not request certificate: getaddrinfo: No address associated with hostname Exiting; failed to retrieve certificate and waitforcert is disabled

enigmagroup commented 10 years ago

Hmm. Vergleich mal die Konfiguration. Die puppet.conf müsste so aussehen:

cat /etc/puppet/puppet.conf

[main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/etc/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter templatedir=$confdir/templates runinterval = 10800 server = sa0100.azar-a.net certname = [deine hostid]

Hostid an der entsprechenden Stelle einsetzen.

RockInBlack commented 10 years ago

Habe meine puppet.conf angepasst. Als Hostid wurde von mir der Hostname der Box verwendet..

Nun erhalte ich bei "puppet agent --test":


info: Creating a new SSL key for enigma.box err: Could not request certificate: Network is unreachable - connect(2) Exiting; failed to retrieve certificate and waitforcert is disabled


Die Box kommt eigentlich ins Internet. Ist meine Hostid falsch?

enigmagroup commented 10 years ago

Hach, ich Aff. Tut mir leid, der Server braucht noch einen Eintrag in der /etc/hosts:

box ~ # cat /etc/hosts 91.219.238.219 sa0100.azar-a.net

So. Jetzt müsste es dann funktionieren...

RockInBlack commented 10 years ago

Jetzt erhalte ich folgendes: Exiting; no certificate found and waitforcert is disabled


Meine Weboberfläche hängt weiterhin..

http://img5.fotos-hochladen.net/uploads/screen2m9a17nskc.jpg

RockInBlack commented 10 years ago

Der Weg mit dem Ändern der Hosts-Datei kann nicht gut sein. Wenn ich alle vorherigen Schritte wieder durchführe & ein paar Änderungen über die Weboberfläche vornehme, dann wird der Inhalt der Hosts-Datei wieder zurückgesetzt. Es kann doch nicht sein, dass ich dann jedes Mal manuell wieder die Datei ändern müsste..

enigmagroup commented 10 years ago

Nach dem Anpassen der hosts-Datei nicht mehr im Webinterface auf "apply" drücken, oder puppet-apply ausführen. Das überschreibt sie, genau.

Nur noch: puppet agent --test laufen lassen.

Hier das Template, welches die hosts-Datei erstellt: https://github.com/enigmagroup/enigmasuite/blob/master/files/puppet/modules/box-networking/templates/hosts.erb

Ich werde jetzt eine neue Version des Webinterfaces erstellen und den IndexError beheben.

enigmagroup commented 10 years ago

Die neue Version ist da: https://github.com/enigmagroup/enigmasuite/blob/master/files/webinterface.tar.gz

Nach dem Ersetzen der Datei den Puppetmaster im Backend so einrichten: change puppetmaster django site admin

RockInBlack commented 10 years ago

Schön, dann hätten wir schon mal einen Fehler weniger.

Blöd das man danach nichts mehr am Webinterface ändern kann, aber könnt damit leben.

Die einzige Sache wäre jetzt noch, dass ich mit der Box nicht ins Internet komme..

enigmagroup commented 10 years ago

Funktioniert jetzt der "puppet agent --test"? Der müsste nämlich so eine /box/server.json Datei generieren, wo alle Infos für den Internetzugang drin stehen.

Und ja, ich kam grad auch nicht ins Internet, weil durch den "Fix" der Gateway leer war. Habs behoben und vor 7min nochmals eine neue Version erstellt.

RockInBlack commented 10 years ago

Habe auf die neueste Version aktualisiert & "puppet apply -e "include enigmasuite"" ausgeführt. Die Hosts-Datei stimmt auch.

Erhalte immer noch den selben Fehler mit "puppet agent --test":

Exiting; no certificate found and waitforcert is disabled

enigmagroup commented 10 years ago

Gopferdammi was ist denn da los... Ich recherchiere mal.

RockInBlack commented 10 years ago

Alles klar.. Die Anleitung im Wiki ist anscheinend noch nicht wirklich ausgereift?


Nebenbei nur ein kleiner Vorschlag an den Verein: Es wäre definitiv sinnvoll, wenn ihr einfach ein, sagen mir mal, "Werkzustands-Image" veröffentlichen könntet.

Leute, die eigentlich gar nichts basteln wollen, würden sich bestimmt darüber freuen, falls diese ihre Enigmabox leicht wiederherstellen könnten ohne diese gleich einschicken zu müssen...

enigmagroup commented 10 years ago

Du bist tatsächlich der erste und einzige, der sich die Mühe genommen hat, alles selber zu bauen :)

Wir stellen bald auf das OpenWRT Buildsystem um, wenn dort (hoffentlich) alles läuft. Dann haben wir ein bisschen mehr Modularität, und Images lassen sich einfacher erstellen. Dann machen wir auch Werkzustand-Images. Kommt alles.

RockInBlack commented 10 years ago

Das freut mich wirklich zu hören :) Ist etwas blöd, wenn man nen bezahlten Netzwerkzugang zu euren Server hat, ihn aber nicht benutzen kann..

enigmagroup commented 10 years ago

Schick mir deine Hostid. Ich verlängere das Abo um einen Monat.

RockInBlack commented 10 years ago

Sehr großzügig, danke :+1:

Hostid: wftpxgxp

enigmagroup commented 10 years ago

Ist geändert. Das kriegen wir schon noch zum laufen ;) Sind die SSL-Zertifikate am richtigen Ort? Es gibt unter /etc/puppet/ssl jeweils Ordner für die drei Zertifikatstypen.

RockInBlack commented 10 years ago

Unter "/etc/puppet/ssl" schaut es bei mir folgendermaßen aus: ssl

enigmagroup commented 10 years ago

Genau. Sind folgende Dateien bei dir vorhanden?

/etc/puppet/ssl/private_keys/wftpxgxp.pem /etc/puppet/ssl/public_keys/wftpxgxp.pem /etc/puppet/ssl/certs/wftpxgxp.pem

(Achtung, das sind jeweils drei verschiedene Dateien!)

RockInBlack commented 10 years ago

Ja, sind alle drei vorhanden & haben unterschiedliche Größen.

enigmagroup commented 10 years ago

Hmm ok. Ich recherchier nochmals, wenn ich nicht fündig werde, schick ich dir morgen meinen ssl/ Ordner als zip. Natürlich ohne meine Zertifikate :>

RockInBlack commented 10 years ago

Alles klar ;)

enigmagroup commented 10 years ago

Hast du mir deinen PGP public key? Ich schick dir den kompletten Ordner.

RockInBlack commented 10 years ago

Hier ist mein PGP-Key: http://www.file-upload.net/download-8589975/0x58FE38C4.asc.html

enigmagroup commented 10 years ago

E-Mail ist raus... Hoffen wir dass es klappt!

RockInBlack commented 10 years ago

Danke, habe die Mail bekommen. Bekomme bloß einen Fehler beim Entschlüsseln der Nachricht. Habe euren PGP Public Key aus eurer Website entnommen, brauche ich noch einen anderen?

openpgp

enigmagroup commented 10 years ago

Ummm - nee, ich hab die Mail mit deinem Public-Key verschlüsselt; du brauchst nur noch deinen Private-Key (Geheimer Schlüssel)..

RockInBlack commented 10 years ago

Stimmt, bei mir war etwas falsch eingerichtet.

Ich wäre über eine erneute Mail mit diesem PGP-Key dankbar: http://www.file-upload.net/download-8593808/Olav-olav83-gmx.de--0x7BA25C03--pub.asc.html

RockInBlack commented 10 years ago

So, danke für die erneute Zusendung der Dateien. Habe den Puppet-Ordner nun mit dem Neuen ersetzt.

Darauf ist nun auch die 'server.json' mit "puppet agent --test" erstellt worden.

Nur leider komme ich weiterhin nicht mit der Box ins Internet...

RockInBlack commented 10 years ago

Nach dem Aktualisieren der Engimasuite war mal wieder der Netzzugriff gesperrt. Glaube es gibt einen Fehler mit dem enthaltenen Script für die Firewall-Regeln.

Nachdem ich diese wieder deaktiviert habe, ist mir aufgefallen, dass die Weboberfläche schon mal meine Hostid erkannt hat.

RockInBlack commented 10 years ago

Mir ist aufgefallen, dass jetzt der Button "Internet" grün geworden ist.

Sollten diese alle grün sein?

bild

enigmagroup commented 10 years ago

Ja, die müssten alle grün werden. Seltsam, dass der DHCP schwarz ist. Ein DHCP-Request ist das erste, was das Skript macht...

enigmagroup commented 10 years ago

Aber schön dass es jetzt geklappt hat mit dem SSL Zeug :)

enigmagroup commented 10 years ago

Beim ersten mal kann es u.U. bis zu 10min dauern, bis der letze Knopf grün wird...

RockInBlack commented 10 years ago

Ok, dann müsste wahrscheinlich bloß der DHCP repariert werden. Der installierte ISC DHCP Server startet eigentlich fehlerfrei & vergibt auch die IPs. (192.168.100.XXX)

Muss ich noch etwas anderes einstellen für den DHCP?

enigmagroup commented 10 years ago

Dein Router muss der Box einfach eine IP vergeben, das ist alles. Hier das entsprechende Skript: https://github.com/enigmagroup/enigmasuite/blob/master/files/puppet/modules/cjdns/templates/setup-cjdns-networking.erb#L41

Du kannst es via Shell auch manuell ausführen: setup-cjdns-networking