VirtualBox VM unter Linux erweitern

Bei mir läuft seit Ewigkeiten die WinSol Software in einer VM auf meinem Flurserver.
Heute war die Platte voll, also was tun?

# VBoxManage showmediuminfo /opt/VirtualBox\ VMs/Winsol/Winsol.vdi
UUID:           aaaaaaa-aaaa-aaaaa-aaaaaaa-aaaaaaaaaaaaaaa
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /opt/VirtualBox VMs/Winsol/Winsol.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       20000 MBytes
Size on disk:   19773 MBytes
Encryption:     disabled
Property:       AllocationBlockSize=1048576
In use by VMs:  Winsol (UUID: xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx)

dynamic default, gut..
resizen und starten

# VBoxManage modifyhd /opt/VirtualBox\ VMs/Winsol/Winsol.vdi --resize 40000
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
# VBoxHeadless --startvm "Winsol" &

Danach war am Ende der Platte unallozierter Speicherplatz eine 500MB Partion dazwischen.
um die Partition zu erweitern muss der leere Platz neben der bisherigen Partition liegen, das geht wohl mit gparted ich hab das im Windows mittels der Freien Version von Minitool Partition Wizard genmacht. https://www.partitionwizard.com/offline-download.html
Zum Verschieben der Partition taugt es alles andere geht auch mit Windows mitteln. Der Installer versucht einem penetrant die Pro Version unterzuschieben und andere Testversionen anzudrehen.. aufpassen

Volkszähler Daten aus dem Stromzähler auslesen

Ziel auslesen eines Smartmeters (EMH-ED300L) -> Vorbereitung für PV -> Wieviel „Watt“ brauchen wir denn und wie verteilt sich das?
Ich habe genutzt:
– USB-IR Lesekopf (von hichi aus dem PV Forum)
– RasPi mit Volkszähler Image

Als erstes den PIN vom Versorger besorgt, damit die Infrarotschnittstelle Daten ausgibt.
Mit einer Taschenlampe musste man den PIN eingeben – komisches Konstrukt, aber berührungslos. nichts für Leute mit zittrigen Händen.

Pi mit SD Karte und Volkszähler Image (Download von der Webseite volkszaehler.org) schreiben mit dem Raspberry Imager.

Feste DHCP IP vergeben und Erreichbarkeit getestet, Passwort geändert, so muss ich nicht im Keller stehen um zu konfigurieren.

USB Lesekopf an der Frontplatte anbringen und am Pi anschliessen.
Udev Rule erstellen, damit der Lesekopf immer unter einem bestimmten Namen

udevadm info --query=all --name=/dev/ttyUSB0

Uns interessiert die „Serial Short“

root@raspberrypi:/home/pi# udevadm info --query=all --name=/dev/ttyUSB0
P: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.3/1-1.1.3:1.0/ttyUSB0/tty/ttyUSB0
N: ttyUSB0
[..]
E: ID_MODEL_ENC=CP2102\x20USB\x20to\x20UART\x20Bridge\x20Controller
E: ID_MODEL_ID=ea60
E: ID_REVISION=0100
E: ID_SERIAL=Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001
E: ID_SERIAL_SHORT=0001
[..]

Udev Rule erstellen, dann wird der Lesekopf immer unter dem gleichen namen ansprechbar, auch wenn an einem anderen USB Port angesteckt:

vi /etc/udev/rules.d/99-usb-ir-lesekopf.rules
SUBSYSTEM=="tty", ENV{ID_SERIAL_SHORT}=="0001", SYMLINK+="usb-ir-lesekopf0"

Danach Volkszähler konfigurieren – zum start erstmal eine minimal Config erstellen (meters -> enabled, protocol sml und verbosity auf 15) und schauen, ob was ankommt:
/etc/vzlogger.conf

{
"retry" : 0,                /* how long to sleep between failed requests, in seconds */
"verbosity" : 15,           /* between 0 and 15 */
"log" : "/var/log/vzlogger/vzlogger.log",/* path to logfile, optional */
"local" : {
        "enabled" : false,  /* should we start the local HTTPd for serving live readings? */
        "port" : 8081,      /* the TCP port for the local HTTPd */
        "index" : true,     /* should we provide a index listing of available channels? */
        "timeout" : 30,     /* timeout for long polling comet requests, 0 disables comet, in seconds */
        "buffer" : 600      /* how long to buffer readings for the local interface, in seconds */
},
"meters" : [{
        "enabled" : true,   /* disabled meters will be ignored */
        "protocol" : "sml", /* use 'vzlogger -h' for list of available protocols */
        "device" : "/dev/usb-ir-lesekopf0",
        },
]}
systemctl start vzlogger
tail -f /var/log/vzlogger/vzlogger.log
[..]
Dec 22 15:26:26][]     Startup done.
[Dec 22 15:26:26][mtr0] Config.local: 0
[Dec 22 15:26:27][mtr0] Got 4 new readings from meter:
[Dec 22 15:26:27][mtr0] Reading: id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=70862637.00 ts=1671719187367
[Dec 22 15:26:27][mtr0] Reading: id=1-0:1.8.1*255/ObisIdentifier:1-0:1.8.1*255 value=36159417.50 ts=1671719187367
[Dec 22 15:26:27][mtr0] Reading: id=1-0:1.8.2*255/ObisIdentifier:1-0:1.8.2*255 value=34703219.50 ts=1671719187367
[Dec 22 15:26:27][mtr0] Reading: id=1-0:16.7.0*255/ObisIdentifier:1-0:16.7.0*255 value=1553.80 ts=1671719187367
[Dec 22 15:26:28][mtr0] Got 4 new readings from meter:
[Dec 22 15:26:28][mtr0] Reading: id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=70862637.60 ts=1671719188732
[Dec 22 15:26:28][mtr0] Reading: id=1-0:1.8.1*255/ObisIdentifier:1-0:1.8.1*255 value=36159418.10 ts=1671719188732
[Dec 22 15:26:28][mtr0] Reading: id=1-0:1.8.2*255/ObisIdentifier:1-0:1.8.2*255 value=34703219.50 ts=1671719188732
[Dec 22 15:26:28][mtr0] Reading: id=1-0:16.7.0*255/ObisIdentifier:1-0:16.7.0*255 value=1560.00 ts=1671719188732
[Dec 22 15:26:30][mtr0] Got 4 new readings from meter:
[..]

-> Es kommen sekündlich neue Daten und mein Meter gibt folgende OBIS Codes aus.

1-0:1.8.0 (Gesamtzählerstand)
1-0:1.8.1 Zählerstand HT
1-0:1.8.2 Zählerstand NT
1-0:16.7.0 Aktuelle Leistung in Watt

Kommt hier nichts muss man erstmal suchen -> ggf die IR Diode nicht richtig platziert, debuggen nach volkszähler wiki

Jetzt muss man einen (oder mehrere) Kanäle anlegen, mich interessiert nur die Leistung, also lege ich im Frontend auf der Webseite (-> http:\\IP_des_PI) einen Kanal an:
„Kanal hinzufügen“ -> Elektrische Energie (Leistungswerte) – öffentlich -> Stil Step, Name“Haus 1-0:16.7.0 Leistung“
Es wird eine UUID angezeigt (bekommt man auch nachträglich über das blaue „i“) die benötigt man für die vzlogger.conf

Man ergänzt die in der vzlogger.conf: indem man hinter die device Zeile den/die neuen Kanäle hängt:

{
"retry" : 0, /* how long to sleep between failed requests, in seconds */
"verbosity" : 15 , /* between 0 and 15 */
"log" : "/var/log/vzlogger/vzlogger.log", /* path to logfile, optional */

"local" : {
"enabled" : false, /* should we start the local HTTPd for serving live readings? */
"port" : 8081, /* the TCP port for the local HTTPd */
"index" : true, /* should we provide a index listing of available channels if no UUID was requested? */
"timeout" : 30, /* timeout for long polling comet requests, 0 disables comet, in seconds */
"buffer" : 600 /* how long to buffer readings for the local interface, in seconds */
},

"meters" : [{
         "enabled" : true, /* disabled meters will be ignored */
         "protocol" : "sml", /* see 'vzlogger -h' for list of available prot$ */
         "device" : "/dev/usb-ir-lesekopf0",
         "channels": [{
         "uuid" : "f0014260-8295-11ed-aaad-e54ab8ec0d75 <-UUID aus dem Frontend",
         "middleware" : "http://localhost/middleware.php",
         "identifier" : "1-0:16.7.0" /* Leistung */
         }]
         }
]}

nochmal starten und log anschauen:

systemctl start vzlogger
tail -f /var/log/vzlogger/vzlogger.log
[Dec 23 08:52:05][mtr0] Got 4 new readings from meter:
[Dec 23 08:52:05][mtr0] Reading: id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=70890821.30 ts=1671781925108
[Dec 23 08:52:05][mtr0] Reading: id=1-0:1.8.1*255/ObisIdentifier:1-0:1.8.1*255 value=36174328.40 ts=1671781925108
[Dec 23 08:52:05][mtr0] Reading: id=1-0:1.8.2*255/ObisIdentifier:1-0:1.8.2*255 value=34716492.90 ts=1671781925108
[Dec 23 08:52:05][mtr0] Reading: id=1-0:16.7.0*255/ObisIdentifier:1-0:16.7.0*255 value=1013.00 ts=1671781925108
[Dec 23 08:52:05][chn0] Adding reading to queue (value=1013.00 ts=1671781925108)
[Dec 23 08:52:05][chn0] ==> number of tuples: 1
[Dec 23 08:52:05][chn0] compare: 1671781923743 1671781925108
[Dec 23 08:52:05][chn0] copied 1/1 values for middleware transmission
[Dec 23 08:52:05][chn0] JSON request body: [ [ 1671781925108, 1013 ] ]
[Dec 23 08:52:05][chn0] CURL: Found bundle for host localhost: 0x74a07ed0 [serially]
[Dec 23 08:52:05][chn0] CURL: Can not multiplex, even if we wanted to!
[Dec 23 08:52:05][chn0] CURL: Re-using existing connection! (#0) with host localhost
[Dec 23 08:52:05][chn0] CURL: Connected to localhost (::1) port 80 (#0)
[Dec 23 08:52:05][chn0] CURL: Sent 27 bytes: '[ [ 1671781925108, 1013 ] ]'
[Dec 23 08:52:05][chn0] CURL: upload completely sent off: 27 out of 27 bytes
[Dec 23 08:52:05][chn0] CURL: Mark bundle as not supporting multiuse
[Dec 23 08:52:05][chn0] CURL: Received 26 bytes: '{"version":"0.3","rows":1}'
[Dec 23 08:52:05][chn0] CURL: Connection #0 to host localhost left intact
[Dec 23 08:52:05][chn0] CURL Request succeeded with code: 200
[Dec 23 08:52:05][chn0] emptied all (1) values

Man sieht jetzt auch die CURL requests mit dem der Datenwert in die Datenbank/an die Middleware) geschickt wird.

In der Weboberfläche kann man nach kuzer Zeit die ersten Daten bewundern.
Danach das logging im vzlogger.conf von „15“ auf „0“ stellen, da sonst sehr viel geloggt wird (schlecht für die Haltbarkeit der SSD). ggf testen ob der Pi auch einen Reboot übersteht und die vzlogger dann automatisch anspringt

Sehr geholfen hat mir:
https://wiki.volkszaehler.org/howto/emh_pv-anlage
https://wiki.volkszaehler.org/howto/debug

Fortinet – ein bisschen Shell für alle

Auch Fortinet kocht nur mit Wasser und man kann einen eingeschränkten Blick hinter die Kulissen werfen:


FG100A############ # fnsysctl ls -al
drwxr-xr-x 14 0 0 Sun Oct 4 21:42:01 2015 320 .
drwxr-xr-x 14 0 0 Sun Oct 4 21:42:01 2015 320 ..
drwxr-xr-x 2 0 0 Sun Oct 4 21:41:44 2015 2740 bin
drwxr-xr-x 8 0 0 Sun Oct 4 21:41:56 2015 1024 data
drwxr-xr-x 2 0 0 Wed Sep 4 10:38:16 2013 40 data2
drwxr-xr-x 5 0 0 Sun Oct 4 21:42:21 2015 16920 dev
lrwxrwxrwx 1 0 0 Sun Oct 4 21:41:31 2015 8 etc -> data/etc
lrwxrwxrwx 1 0 0 Sun Oct 4 21:41:31 2015 1 fortidev -> /
drwx------ 2 0 0 Sun Oct 4 21:42:01 2015 40 ipc_quar
drwx------ 2 0 0 Sun Oct 4 21:42:01 2015 40 ipc_quar_backup
drwxr-xr-x 2 0 0 Sun Oct 4 21:41:32 2015 380 lib
drwxr-xr-x 38 0 0 Sun Oct 4 21:41:44 2015 2280 migadmin
dr-xr-xr-x 74 0 0 Sun Oct 4 21:41:27 2015 0 proc
drwxr-xr-x 2 0 0 Sun Oct 4 21:41:44 2015 60 sbin
drwxrwxrwt 9 0 0 Wed Oct 28 06:32:41 2015 2260 tmp
drwxr-xr-x 9 0 0 Sun Oct 4 21:42:01 2015 180 var

IPv6 – Linuxserver hinter der Fritzbox betreiben

Als (verspäteter) Nachzügler für http://janscholten.de/blog/2012/08/ipv6-daheim-mit-einen-sixxs-tunnel-und-einer-fritzbox/

Wie betreibe ich den einen Server mit IPv6 hinter der Fritzbox und was muss ich einstellen, damit der Server erreichbar ist?

Wie haben im ursprünglichen Artikel an der Fritzbox einen SixXS Tunnel erstellt und dort ein entsprechendes IPv6 Prefix bekommen.

Für den Linuxserver habe ich eine (mehrere?) feste IPv6 Adressen eingetragen, so dass hier per DHCP entsprechende Adressen verteilt werden.
setdhcp
dhcp-fb

Am Linuxserver habe ich per

# This is an autoconfigured IPv6 interface
iface eth0 inet6 auto

nichts besonderes eingetragen.

sehe aber mittels ifconfig die entsprechenden (benutzten) Adressen:


root@seth:~# ifconfig
eth0      Link encap:Ethernet  Hardware Adresse 00:08:54:55:e7:de  
          inet Adresse:192.168.2.2  Bcast:192.168.2.255  Maske:255.255.255.0
          inet6-Adresse: 2001:4dd0:ff00:8e78:6438:..:3eef/64 Gültigkeitsbereich:Global
[..]
          inet6-Adresse: fe80::208:54ff:fe55:e7de/64 Gültigkeitsbereich:Verbindung
          inet6-Adresse: 2001:4dd0:ff00:8e78:8413:..:67d0/64 Gültigkeitsbereich:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

Damit sollte der PC per (fester) IPv6 ins Netz kommen.
Für die Weiterleitung bemüht man in der Fritzbox
Internet -> Freigaben -> IPv6 und legt einen neuen Host an.
Freigabe
Ich rate dringend davon ab den Rechner komplett ins Netz zu hängen, sondern würde nur ping6, 80 und 443 freigeben.

Testen kann man das z.B. via ping auf der Seite http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-ping.php

Den Zugriff mit einem Browser via https://[die eigene IPv6-Adresse] (Klammern mitangeben).

Hat man Zugriff auf einen DNS Server kann man danach natürlich einen AAAA Eintrag machen und dem eigenen Server einen Domainnamen geben.

Einfacher Zugriff auf andere CMM bei 6900/OS10k im Virtual Chassis

Will man „mal eben“ auf die andere CMM in einem OS10K-Chassis oder eionem 6900-VC zugreifen bieten sich neben den vorher dokumentierten Wegen auch der direkte Zugriff auf den NFS mount an.

ACHTUNG hier endet die Alcatel Gewährleistung, die superuser shell sollte nur benutzt werden, wenn man weiß was man tut.

-> su
Entering maintenance shell. Type 'exit' when you are done.

TOR #-> cd /mnt/
TOR #-> ls
CMMA           CMMB           chassis2_CMMA  chassis3_CMMA  otherCMM

TOR #-> ls -al /flash
drwxr-xr-x   13 admin    user          4096 Jan 20 15:41 .
drwxr-xr-x   23 root     root             0 Jan 20 15:37 ..
-rw-r--r--    1 admin    user          2195 Jan 20 15:51 .bash_history
drwxr-xr-x    2 admin    user          4096 Jan 20 15:41 app-signature
drwxr-xr-x    2 admin    user          4096 Jan 20 15:48 certified
drwxr-xr-x    2 admin    user          4096 Dec 17  2013 diags
drwxr-xr-x    2 admin    user          4096 Jan 20 15:37 foss
-rw-r--r--    1 admin    user           256 Jan 20 15:37 hwinfo
-rw-r--r--    1 admin    user            40 Jan 16 12:25 licence.txt
drwxr-xr-x    2 admin    user         16384 Dec 18  2013 lost+found
drwxr-xr-x    2 admin    user          4096 Sep  5 07:30 network
drwxr-xr-x    3 admin    user          4096 Sep  5 07:30 pmd
drwxr-xr-x    3 admin    user          4096 Sep  5 07:30 switch
-rw-r--r--    1 admin    user        998306 Jan 16 12:59 swlog
drwxr-xr-x    2 admin    user          4096 Jan 20 15:41 swlog_archive
-rw-r--r--    1 root     root       1187945 Jan 20 16:31 swlog_chassis1
-rw-r--r--    1 admin    user       1280107 Jan 20 15:41 swlog_chassis1.0
-rw-r--r--    1 admin    user       1280105 Jan 20 14:44 swlog_chassis1.1
-rw-r--r--    1 admin    user       1280059 Jan 20 13:24 swlog_chassis1.2
drwxr-xr-x    2 admin    user          4096 Jan 20 13:25 system
-rw-r--r--    1 admin    user       6499328 Jan 20 09:46 tech_support_eng.tar
drwxr-xr-x    2 admin    user          4096 Jan 20 15:47 working

TOR #-> ls -al /mnt/chassis2_CMMA      
drwxr-xr-x   13 admin    user          4096 Jan 20 15:39 .
drwxr-xr-x    7 root     root             0 Jan 20 15:41 ..
-rw-r--r--    1 admin    user          3417 Jan 20 14:59 .bash_history
drwxr-xr-x    2 admin    user          4096 Jan 20 15:41 app-signature
drwxr-xr-x    2 admin    user          4096 Jan 20 15:48 certified
drwxr-xr-x    2 admin    user          4096 Dec 17  2013 diags
drwxr-xr-x    2 admin    user          4096 Jan 20 15:37 foss
-rw-r--r--    1 admin    user           256 Jan 20 15:38 hwinfo
-rw-r--r--    1 admin    user            40 Jan 16 12:28 licence.txt
drwxr-xr-x    3 admin    user         16384 Dec 18  2013 lost+found
drwxr-xr-x    2 admin    user          4096 Sep  5 03:42 network
drwxr-xr-x    3 admin    user          4096 Sep  5 03:42 pmd
drwxr-xr-x    3 admin    user          4096 Jan 16 13:17 switch
-rw-r--r--    1 admin    user        210830 Jan 16 12:59 swlog
-rw-r--r--    1 admin    user       1280003 Jan 16 12:31 swlog.0
drwxr-xr-x    2 admin    user          4096 Jan 20 13:39 swlog_archive
-rw-r--r--    1 root     root        789870 Jan 20 16:31 swlog_chassis2
-rw-r--r--    1 admin    user       1280028 Jan 20 15:39 swlog_chassis2.0
-rw-r--r--    1 admin    user       1280018 Jan 20 14:36 swlog_chassis2.1
-rw-r--r--    1 admin    user       1280040 Jan 20 13:39 swlog_chassis2.2
-rw-r--r--    1 admin    user       1280054 Jan 20 11:45 swlog_chassis2.3
drwxr-xr-x    2 admin    user          4096 Jan 20 15:41 system
-rw-r--r--    1 admin    user       6887936 Jan 20 09:47 tech_support_eng.tar
-rw-r--r--    1 admin    user           437 Jan 16 13:01 vcsetup.cfg.1.err
drwxr-xr-x    2 admin    user          4096 Jan 20 15:47 working
TOR #-> exit

Eignet sich z.B. um mal schnell Logfiles tech-support.eng etc zu kopieren.

Mit ssh geht es auch, ist aber nicht so cool 😉

Konfiguration freeradius für dot1x Teil 2

Weiter gehts.
Ich möchte dot1x Authentifizierung am Switchport machen. Man braucht dazu ein Zertifikat, damit EAP-TLS funktioniert, das baut man dank entsprechender Tools von freeradius ganz einfach:
Man löscht die Links und den ganzen kram aus /etc/certs und kopiert die Tools:
rm /etc/freeradius/certs/*
cp /usr/share/docs/freeradius/examples/certs/* /etc/freeradius/certs

Dann passt man die Dateienn server.cnf und ca.cnf an.
in ca.cnf:
[ CA_default ]
default_days = 3660
[ req ]
input_password = meinpass
output_password = meinpass
[certificate_authority]
countryName = DE
stateOrProvinceName = radius@jan
localityName = daheim
organizationName = Radius-Teste
emailAddress = me@example.com
commonName = "Radiustest"

Damit gilt das Zertifikat 10 Jahre. Das Password muss man auch in der /etc/freeradius/eap.conf bei private_key_password angeben
(per default steht es dort auf „Whatever“), damit der Schlüssel nachher geladen werden kann.

In die server.cnf übernimmt man Laufzeit und die Daten aus der Ceritificate authority.

mit
make all
baut man seine Zeritifkate

Wichtig: ca.der auf memory stick o.ä. kopieren, das ist unser Stammzertifikat und das brauchen wir auf den Clients, damit diese nachher eine TLS Tunnel aufbauen können.

Um die Konfig erstmal nicht mehr anpassen zu müssen machen wir noch eine Änderung die es später erlauben wird VLANs für User zurückzugeben. Dafür setzten wir in
/etc/freeradius/eap.conf
Die in ttls und peap ändern wir den Parameter von „no“ auf „yes“
use_tunneled_reply = yes

Damit sollte die Konfiguration von Freeradius fertig sein.

Jetzt spielt man das Zertifikat im Computer ein, bei XP durch Doppelklick, bei Windows 7 muß man händisch den „Vertrauenswürdigen Zertifikatsspeicher“ wählen.

Wie man den Cisocswitch aktiviert und Windows einstellt kommt im nächsten Artikel.