IT-Service GmbH 


SERVER.ulm.go-itservice.de

IBM Thinkpad X41 mit Debian 7.0 Wheezy als Firewall und Proxyserver

BASIS

Die Installation erfolgt entweder exakt so, wie unter rigel oder als Kopie der Systemfestplatte des bereits installierten Rechners rigel. Die Kopie des Rechners erhält man am einfachsten mit cpHOST was im wesentlichen ein rsync -avurtHAX ohne
/proc
/sys
/home
/dev
ist.

Erweiterung für sgrx1

zu den Paketen von rigel kommen
	acl
	cryptsetup
	nfs-kernel-server	
	nfs4-acl-tools
	samba
	sudo

Anpassung Skripte

/usr/local/bin/global.sh
/usr/local/bin/fwstart2
/usr/local/bin/fwstop2
/usr/local/bin/fwmask2

bind für ulm,aug,vach erweitern

Dateien von deneb.aug.go-itservice.de holen, und unter /etc/bind ablegen. Diese Dateien kopieren und in die für Vachendorf passenden umwandeln. Die .db und .rev Dateien werden dann in der /etc/bind/named.conf.local hinzugefügt.

Anpassung Proxy

Proxy soll im lokalen Netz lauschen. Damit das nicht bei jedem Standort angepasst werden muß, hier für alle: /etc/squid/squid.conf
http_port 192.168.40.10:3128
http_port 192.168.40.10:8080
http_port 192.168.60.13:3128
http_port 192.168.60.13:8080
http_port 192.168.80.1:3128
http_port 192.168.80.1:8080

Anpassungen für Fileserver (analog sgrx1)

Damit der neue Rechner sich wie der alte verhält, werden die Hostkeys, das /root-Verzeichnis und /usr/local/bin vom alten Rechner sgrx1 geholt.
/root/.ssh
/root/
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_rsa_key.pub
/usr/local/bin/
Dateien anpassen. Bei passwd, shadow und group geht das am besten so:
# cp passwd passwd.ORG
# cat /OLD/etc/passwd >> passwd
Alte Einträge ausser den echten Usern löschen. Dateien zum Anpassen:
/etc/squid/squid.conf
/etc/passwd
/etc/shadow
/etc/exports
/etc/group
/etc/idmapd.conf
/etc/profile	(nur wegen export EDITOR=vi)
/etc/init.d/obi1
/etc/sudoers	(kopieren)
/etc/samba/smb.conf

Startdatei in rc.n

bereits in squeeze wurde die Reihenfolge der Bootskripte auf abhänigkeitsgesteuerte Bootskripte geändert. Diese sind komplizierter aufgebaut und nüssen ihre Abhänigkeiten und "start","stop" Zweige enthalten. Ist das Startskript, im Beispiel /etc/init.d/obi1 fertig, wird es in den Bootablauf eingebunden. Hierzu wird im Verzeichnis /etc/init.d folgendes Kommando ausgeführt:
# update-rc.d obi1 defaults

NFS-Export

in der /etc/init.d/obi1 muss zur Verwendung der ACLs unter wheezy nichts mehr eingetragen werden. Da ich aus Platzproblemen in Ulm eine zweite Datenplatte einbaute und von dort verschlüsselte Datenpartitionen (z.B. /home/go) nach /home einbinde und letzteres exportiere, muß das in der /etc/exports mit crossmnt explizit erlaubt werden. NFS Export für alle Standorte erlauben:
/home		192.168.0.0/16(rw,fsid=1,nohide,crossmnt,insecure,no_subtree_check,async,no_root_squash)
Falls der NFS Server auf der Firewall läuft, müssen die Ports der Dienste festgelegt werden. Hierzu werden drei Dateien, wenn man Quotas verwendet vier, angepasst bzw angelegt werden. /etc/default/nfs-common
/etc/default/nfs-kernel-server
# /etc/default/quota
/etc/modprobe.d/local.conf
options lockd nlm_udpport=32768 nlm_tcpport=32768
options nfs callback_tcpport=32764
im Firewallskript müssen dann folgende Ports für Zugriff aus dem lokalen Netz freigegeben werden:
udp     111
tcp     111
tcp     2049
udp     2049
tcp     32764:32769
udp     32764:32769
Ob das Binden der Dienste an den festen Port funktioniert erfärht man mit
# rpcinfo -p
Damit das Verzeichnis /home/common von allen Mitgliedern der Gruppe common so genutzt werden kann, dass jeder User der Gruppe darunter abgelegte Dateien lesen UND schreiben kann, muss root am NFS-Server folgendes eingeben:
# mkdir /home/common
# chown common:common /home/common
# cd /home/common
# umask 0007
# setfacl -R -m d:group:common:rwx /home/common/
das bedeutet, dass jede Datei mit den Rechten 660 und jedes Verzeichniss mit den Rechten 770 angelegt wird. Die Voreinstellung ist umask 0022 (also für Dateien 644 und Verzeichnisse 755). Zusätzlich muss die Default ACL für das Verzeichnis /home/common und die Gruppe common am Server eingerichtet werden.

Samba Export

# smbpasswd -a go
# smbpasswd -a uw
Die SMB Arbeitsgruppe lautet workgroup Falls der SMB Server auf der Firewall läuft, müssen die Ports 137,138 für udp und 139 und 445 für tcp freigegeben werden.

CUPS konfigurieren

auf wega /etc/cups/cupsd.conf
#Listen localhost:631 			# REMOVE or COMMENT
#Listen /var/run/cups/cups.sock	# REMOVE or COMMENT
# Allow remote access
Port 631						# ADD


  Order allow,deny
  Allow 192.168.0.0/24			# ADD

 

  Order allow,deny
  Allow 192.168.0.0/24			# ADD

 

  #AuthType Default
  #Require user @SYSTEM
  Order allow,deny
  Allow 192.168.0.0/24			# ADD

dann kann der CUPS unter http://192.168.40.10:631 konfiguriert werden, wenn der Port auch am Firewall zugelassen ist.

upgrade von wheezy auf jessie

Nachdem ich mit den Systemupgrades (von etch nach lenny) so meine Probleme hatte, funktionierte der Upgrade von wheezy auf jessie mal ohne grosse Schwierigkeiten. Ich habe das aber vorsichtshalber erstmal mit einer zuvor geklonten Platte getestet, um jedenfalls einen funktionsfähigen X41 für das Büro in Vachendorf zu haben.
# apt-get update
# cp /etc/apt/sources.list /etc/apt/sources.list.wheezy
# sed 's/wheezy/jessie/g' /etc/apt/sources.list > /etc/apt/sources.list
# apt-get update && apt-get upgrade
# apt-get --download-only dist-upgrade
# apt-get dist-upgrade
Zuerst war nach dem neu booten die Verbindung ins Internet weg, die 3Com PCMCIA Karte 3C574, die ich als externes Interface verwende, war bei ifconfig nicht mehr da. Nach ein/ausstecken und herumkonfigurieren (zuerst am falschen /dev), war sie doch wieder wie unter wheezy als eth7 da.
Anschliessend funktionierte Firewall mit Routing, DNS, Samba von der Virtual Box aus und NFS wieder.
Den Apache2 mußte ich wie bei Spica konfigurieren, also den Teil mit
<Directory /home/go/httpd>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>
in die /etc/apache2/apache2.conf hinein und die Links in /etc/apache2/sites-enabled mit der Endung .conf neu anlege. Zuerst die alten löschen und neue anlegen, z.B.:
# rm 001-myvach.go-itservice.com
# ln -s ../sites-available/myvach.go-itservice.com 001-myvach.go-itservice.com.conf
Nach dem Upgrade zeigte die letzte Zeile der /etc/squid/squid.conf auf die Defaultkonfiguration des Squidguard statt auf meine angepaßte Datei, so daß ich die letzte Zeile der /etc/squid/squid.conf korrigieren mußte.
Weitere Probleme sind mir nicht aufgefallen.