Um einen Host hinter einer Firewall zu administrieren habe ich ein VPN zwischen den beiden Punkten aufgebaut. Um aber den ausgehenden Netzwerktraffic, der über die Firewall läuft, testen zu können brauchte ich eine Routing via Ports. Genau genommen wollte ich Port 22 durch den VPN Tunnel und den HTTP traffic über das Standard Gateway routen.

Zuerst braucht man eine separate routing table in unserem Fall foo
echo "1 foo" >> /etc/iproute2/rt_tables
In diese routing Tabelle legen wir zuerst eine default route ab
ip route add table foo default dev vpn
Dann braucht man eine rule zum die angibt wann die foo routing Tabelle verwendet werden soll.
ip rule add fwmark 1 table foo
Nun kommen wir zur Auswahl der Pakete, die anders geroutet werden sollen. Dies geschieht über die mangle table. Hier werden die einzelnen Pakte über fwmarks markiert.
iptables -t mangle -A OUTPUT -d 203.0.113.80/32 -p tcp -m tcp --dport 22 -j MARK --set-xmark 0x1/0xffffffff
Damit der Kernel auch die ausgehenden Pakete richtig benennt, werden alle Pakete die über das VPN geroutet werden nun auf die source Adresse des VPNs umgeschrieben.
Dies ist notwendig, da der Kernel beim bestimmen der Absenderadresse unserer TCP Verbindung die firewall Konfiguration bei der Bestimmung der ausgehenden route nicht verarbeitet.
iptables -t nat -A POSTROUTING ! -s 10.8.0.2/32 -o vpn -j SNAT --to-source 10.8.0.2
Zum Schluss müssen wir das reverse path filtering ausschalten, damit die Entgegennahme der Pakete, deren Antwort an ein anderes Interface gehen würde, erlaubt werden.
echo 0 | tee /proc/sys/net/ipv4/conf/*/rp_filter
Veröffentlicht am: 28.11.2014 von: CHR | Tags: iproute2, iptables | publiziert in: Linux, Netzwerk, public
Es reicht nicht aus nur Updates einzuspielen, wenn man Dienste nicht neu startet deren libraries aktualisiert wurden. Denn erst nach einem Neustart werden diese neu eingelesen.
lsof | grep libssl | grep DEL
apache2 1129 www-data DEL REG 253,1 1831551 /lib/x86_64-linux-gnu/libssl.so.1.0.0
Ein einfacher Neustart der hier aufgeführten Dienstes reicht in diesem Fall aus.
/etc/init.d/apache restart
Veröffentlicht am: 18.11.2014 von: CHR | Tags: ssl | publiziert in: Linux, public, Security
Installation eines NTP Clients auf CentOS 7
Installation:
yum install ntp
Zeit von Hand updaten:
ntpdate de.pool.ntp.org
ggf. Zeitserver in der Config anpassen.
vim /etc/ntp.conf
Den ntp Dienst beim jetzt und beim Booten starten.
systemctl enable ntpd
systemctl start ntpd
Veröffentlicht am: 07.11.2014 von: CHR | publiziert in: CentOS
Bei RAIDs kommt es ab und an einmal vor, dass Festplatten aus dem RAID geworfen werden. Eine wieder hinzugefügte Festplatte muss dann wieder gesynct (resharpt) werden. In meinem Beispiel von 4x2TB Festplatten in einem RAID 5, dauert dass ca. 4 Stunden. Um die Wahrscheinlichkeit das während des resharpen eine weiter Festplatte ausfällt, das den Totaluferlust der Daten bedeuten würde, zu minimieren. Ist es sinnvoll auf kosten der Schreibperformance ein bitmap zu erstellen.
mdadm --grow --bitmap=internal /dev/md0
Alternativ kann man das bitmap auch auf eine separate Festplatte schreiben, dies erhört die schreib Performance des RAIDs.
mdadm --grow --bitmap=/mnt/bitmap-md0.bin /dev/md0
Um die bitmaps wieder auszuschalten muss man none angeben:
mdadm --grow --bitmap=none /dev/md0
Read the rest of this entry »
Veröffentlicht am: 01.11.2014 von: CHR | Tags: mdadm | publiziert in: Linux, public
Nach dem unsauberen entfernen einer USB Platte mit LVM und mdadm Raid kam es beim aufrufen jeglicher lvm Kommandos zu folgenden Fehlern:
# vgscan
Reading all physical volumes. This may take a while...
/dev/md0: read failed after 0 of 4096 at 0: Input/output error
/dev/md0: read failed after 0 of 4096 at 9997975552: Input/output error
/dev/md0: read failed after 0 of 4096 at 9998090240: Input/output error
/dev/md0: read failed after 0 of 4096 at 4096: Input/output error
/dev/dm-23: read failed after 0 of 4096 at 45097091072: Input/output error
/dev/dm-23: read failed after 0 of 4096 at 45097148416: Input/output error
/dev/dm-23: read failed after 0 of 4096 at 0: Input/output error
/dev/dm-23: read failed after 0 of 4096 at 4096: Input/output error
Found volume group "vg01" using metadata type lvm2
Mittels dmsetup kann man die lvs löschen. Die fehlen lvs kann man mittels ls auflisten und mit remove wieder löschen:
# dmsetup ls | grep ^vg01
vg01-lv66_hdd (254, 23)
# dmsetup remove vg01-lv66_hdd
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdd1[2]
9763768 blocks super 1.2 [2/1] [_U]
Das raid device konnte man mittels mdadm dann einfach Stoppen. Siehe dazu auch: mdadm –stop
Veröffentlicht am: 14.10.2014 von: CHR | Tags: lvm2, mdadm | publiziert in: Debian