Posts Tagged ‘sysadmin’

DD-WRT als OpenVPN-Server

Donnerstag, Juli 30th, 2009

Die aktuellen Preise der Energieversorger drängen zum Umdenken – irgendwie.

Es ist zwar sehr angenehm einen Server zuhause stehen zu haben, auf den man sich rund um die Uhr connecten kann. Dumm nur, wenn er 95% des Tages idlet.

Eine neue Lösung musste her um sich von unterwegs daheim einzuloggen und z.B. den LinVDR zu starten.

Ein WRT54GL verrichtet seit Jahren klaglos seinen Dienst mit DD-WRT. Das hatte ich mir ausgesucht, weil ich mal mit HotSpot-Funktionalitäten herumspielen wollte. Hatte damals auch prima geklappt. Der WRT stand im LAN, ein Radius-Server und die Splashseite waren auf meinem Server im Netz.

Geschickterweise gibt es auch ein Firmware-Image mit integriertem OpenVPN sowohl Client als auch Server.

Hier meine Einstellungen (Klick aufs Bild für Originalgröße):

dd-wrt-vpn-1

In die Felder:

Public Server Cert
Public Client Cert
Private Client Key
DH PEM
trägt man die generierten Keys bzw. Zertifikate ein. Prinzipiell kann man nach der Anleitung im DD-WRT-Wiki vorgehen.
Hier noch meine openvpn.conf auf dem WRT:
server 10.9.0.0 255.255.255.0
port 1195
proto udp
tls-server
dev tun
ca ca.crt
cert cert.pem
key key.pem
dh dh.pem
client-to-client
push "route 192.168.178.0 255.255.255.0"
comp-lzo
ping-timer-rem
keepalive 20 180
verb 3

Abweichend zum Default hört das OpenVPN auf dem WRT auf Port 1195. Ich habe das lieber sauber in der Fritz!Box die die DSL-Leitung handlet getrennt. Ausserdem verwende ich intern wie extern bei solchen Sachen gerne dieselben Portnummern.

Nun muss man dem WRT noch mitteilen, dass beim Booten auch das OpenVPN mitstarten soll:

dd-wrt-vpn2

Das Ganze nochmal für Copy&Paste, die beiden Skripte sind jeweils in die Inputbox bei Kommandos einzutragen:

cd /tmp/openvpn
/usr/sbin/openvpn --daemon --config /tmp/openvpn/openvpn.conf
sleep 5

und die Firewall, damit auch sauber ins Netz geroutet wird:

/usr/sbin/iptables -I INPUT -p udp --dport 1195 -j ACCEPT
/usr/sbin/iptables -I INPUT -i tun+ -j ACCEPT
/usr/sbin/iptables -I FORWARD -i tun+ -j ACCEPT

Jetzt kann ich auch von unterwegs schnell mal den Videorekorder per WOL anwerfen und Timer erstellen o.ä.

Nicht enden wollende Apache-Prozesse killen

Mittwoch, August 29th, 2007

Man stelle sich vor, man hat einem Webserver ein paar mal ein Reload mit auf den Weg gegeben. Nun soll es aber Software geben, die die Prozesse dann einfach nicht mehr frei gibt.

Den Weberver anzuhalten und neu zu starten wäre vielleicht eine Lösung, aber sicherlich keine gute. Eleganter geht es mit:

lynx --dump http://localhost/server-status | grep " G " | \
cut -d" " -f 5 | xargs kill -9

So kann man sich bequem die Prozess-IDs der hängenden Prozesse ausgeben lassen und sie abschiessen…

Blogged with Flock

Tags: , ,