curl DNS manipulation

Um auf einem Nignix Proxy der noch nicht an das Internet angebunden war zu prüfen ob eine Webseite erreichbar ist, hat curl die Möglichkeit DNS anfragen zu manipulieren:

curl --resolve 'blog.chr.istoph.de:443:127.0.0.1' https://blog.chr.istoph.de

Dies ist schöner als einen Eintrag in der /etc/hosts zu erstellen.

Leider ist diese feacher erst in curl 7.21.3 eingebaut worden.

apt Indexdateien inconsistent

Auf einem xenial Server hatte ich das Problem das eine paar index dateien nicht gelesen werden konnten. Dies führte beim ausführen von apt update zu folgenden fehler:


Fehl:7 http://de.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
Datei /var/lib/apt/lists/partial/de.archive.ubuntu.com_ubuntu_dists_xenial-updates_main_binary-amd64_Packages.xz konnte nicht geöffnet werden. - open (13: Keine Berechtigung) [IP: 141.30.62.24 80]
Ign:12 http://de.archive.ubuntu.com/ubuntu xenial-updates/restricted Translation-en
Es wurden 218 kB in 2 s geholt (101 kB/s).
Paketlisten werden gelesen... Fertig
E: Fehlschlag beim Holen von http://de.archive.ubuntu.com/ubuntu/dists/xenial-updates/main/binary-amd64/Packages Datei /var/lib/apt/lists/partial/de.archive.ubuntu.com_ubuntu_dists_xenial-updates_main_binary-amd64_Packages.xz konnte nicht geöffnet werden. - open (13: Keine Berechtigung) [IP: 141.30.62.24 80]
E: Einige Indexdateien konnten nicht heruntergeladen werden. Sie wurden ignoriert oder alte an ihrer Stelle benutzt.

Ein ls auf die datei zeigte mir das es sich um einen Symlic handeltet:
ls -al /var/lib/apt/lists/partial/de.archive.ubuntu.com_ubuntu_dists_xenial-updates_restricted_i18n_Translation-en.xz

Nachdem ich den Link und den die verlinkte Datei gelöscht habe war alles wieder in Ordnung.

OpenVPN Update auf 2.4

Beim updaten von Debian 8 auf 9 ist beim updaten von OpenVPN openvpn:amd64 2.3.4-5+deb8u2 2.4.0-6+deb9u2 folgendes Problem im Server Log aufgetaucht:

Jan 16 08:57:05 gw openvpn[21175]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Jan 16 08:57:05 gw openvpn[21175]: TLS Error: TLS handshake failed
Jan 16 08:57:05 gw openvpn[21175]: TCP/UDP: Closing socket
Jan 16 08:57:05 gw openvpn[21175]: SIGUSR1[soft,tls-error] received, process restarting

Es stellte sich herraus das die von easy-rsa erstelte crl.pem abgelaufen war. Dies Prüft man mit:

openssl crl -in easy-rsa2/keys/crl.pem -text

Im der Server Konfigurationsdatei wurde die Certificate Revocation List (CRL) geprüft:

crl-verify ./easy-rsa2/keys/crl.pem

Eigentlich wäre es schön wenn die crl.pem automatisch mit neuem Ablaufdatum erstellt würde. Meine Vorgehensweise um dies mit easy-rsa mitteln zum machen war:

cd /etc/openvpn/easy-rsa2
source ./vars
./list-crl
/revoke-full 

Hier habe ich ein bereits abgelaufenes Zertifikat noch einmal revokert.

Citrix Client flackern

Für die Arbeite verwenden wir bei Kunden einen Citrix Client beim öffnen von Fenstern fürt dieser zu einem unangenehmen flackern auf allen Monitoren.

Durch zufall bin ich auf eine Lösung für dieses Problem gekommen. Hierfür habe ich in der /etc/default/grub um folgende Variable erweitert:

GRUB_CMDLINE_LINUX_DEFAULT=" video=SVIDEO-1:d"

Anschließend müssen die Grup Konfigurationsdateien neu erstellt werden
sudo update-grub
Nach einem Neustart war das Problem behoben.

Vergrößern eine Partition mit LVM

Leider kommt es bei VMs immer wieder vor das die Festplatte im laufenden betrieb vergrößert werden muss. Im folgenden Beispiel habe ich eine LVM Partition im laufenden betrieb vergrößert.

Zunächst habe ich die Partition vergrößern müssen:

fdisk /dev/vda

Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p
Disk /dev/vda: 135 GiB, 144950685696 bytes, 283106808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xec02ef62

Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 585727 583680 285M 83 Linux
/dev/vda2 585728 33552383 32966656 15.7G 8e Linux LVM

Zunächst habe ich die Partien gelöscht:

Command (m for help): d
Partition number (1,2, default 2): 2

Partition 2 has been deleted.

Anschließend habe ich eine neue Partition angelegt:
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2):
First sector (585728-283106807, default 585728):
Last sector, +sectors or +size{K,M,G,T,P} (585728-283106807, default 283106807):

Created a new partition 2 of type 'Linux' and of size 134.7 GiB.
Partition #2 contains a LVM2_member signature.

Do you want to remove the signature? [Y]es/[N]o: n

Achtung: hier umbedingt N für no angeben. Wir wollen die Daten ja nicht löschen.

Den Type der Partition wieder richtig angeben:
Command (m for help): t
Partition number (1,2, default 2):
Partition type (type L to list all types): 8e

Changed type of partition 'Linux' to 'Linux LVM'.

Mit p noch einmal überprüfen:
Command (m for help): p
Disk /dev/vda: 135 GiB, 144950685696 bytes, 283106808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xec02ef62

Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 585727 583680 285M 83 Linux
/dev/vda2 585728 283106807 282521080 134.7G 8e Linux LVM

Wenn man sich sicher ist das alles richtig angegeben wurde kann man die Partition mit w Speicher:
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

Jetzt machen wir die Partition noch dem Kernel bekannt:
apt install partprobe
...
partprobe /dev/vda

Jetzt vergrößern wir das PV und dann das VG:
Das PV (Physical Volumes):
pvresize /dev/vda2
Physical volume "/dev/vda2" changed
1 physical volume(s) resized / 0 physical volume(s) not resized

Die VG (Volumen Gruppe):
vgextend VolGroup1
Command failed with status code 5.

Und zum Abschluss noch einmal Prüfen ob alles geht:
vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup1 1 3 0 wz--n- 134.71g 121.36g