Gateway Installation: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(Basisinstallation: minimale device-nodes)
(Merge mit Server Installation)
 
(123 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Kurzer Leitfaden für das Aufsetzen neuer Vereinsgateways.
+
#REDIRECT [[Server Installation]]
 
+
=== Hardware ===
+
 
+
* sinnvoll >500 Mhz CPU, >256 MB RAM
+
* mindestens 2 NICs
+
* ausreichend HD-Kapazität; ideal SCSI (z.B. U2W), alternativ IDE (mit z.B. RAID1)
+
 
+
=== Basisinstallation ===
+
 
+
* Booten, z.B. per CD oder PXE mit Knoppix
+
* Dateisystem vorbereiten:
+
** ''cfdisk /dev/<device>'', z.B. /dev/hda (IDE) oder /dev/sda (SCSI)
+
** primäre Partitionen: 32 MB boot (Typ 83 + bootable), 500 MB swap (Typ 82), Rest für / (Typ 83)
+
** boot mit EXT2: mkfs.ext2 /dev/<device>1
+
** swap mit SWAP: mkswap /dev/<device>2
+
** root mit XFS: mkfs.xfs /dev/<device>3
+
* Debian Stable (oder Testing) installieren
+
: a) Neuinstallation, vgl. [http://www.debian.de/releases/stable/i386/index.html.de Debian GNU/Linux-Installationsanleitung]
+
: c) per ''debootstap'' von Knoppix aus, vgl. [http://www.debian.de/releases/stable/i386/apcs04.html.de Debian GNU/Linux-Installationsanleitung - C.4]
+
: b) als Kopie von vorhandenem GW, z.B. [[GW250|izumi]]
+
::* Filesysteme auf izumi ggf. mounten, crontab Einträge ggf. deaktivieren (CPU-Last)
+
::* boot einbinden: mount /dev/<device>1 /mnt/
+
::* boot spiegeln: rsync -axz --numeric-ids root@izumi.on:/boot/ /mnt/
+
::* root einbinden: umount /mnt; mount /dev/<device>3 /mnt/
+
::* root spiegeln: rsync -axz --numeric-ids root@izumi.on:/ /mnt/
+
::* Minimale Device-Nodes anlegen (bei UDEV): cd /dev; mknod -m 660 console c 5 1; mknod -m 660 null c 1 3
+
* Bootloader installieren (''grub''):
+
** via chroot und grub-Skripte: (chroot...); grub-install --no-floppy /dev/<device>; update-grub
+
** oder manuell, dabei /boot/grub/menu.lst selbst anpassen/erstellen: grub --no-floppy (root (hd0,0) / setup (hd0) / quit)
+
* Kernel bauen / aktualisieren
+
** cd /usr/src/linux; make menuconfig; make; make install; make modules_install; update-grub
+
** ggf. local-version neu setzen
+
 
+
==== Hilfsmittel: chroot Umgebung ====
+
mount /dev/<device>3 /mnt
+
mount /dev/<device>1 /mnt/boot
+
mount -t proc proc /mnt/proc
+
mount --bind /dev /mnt/dev
+
chroot /mnt
+
 
+
==== Hilfsmittel: RAID mit mdadm ====
+
 
+
* spezieller Partitionstyp FD (Linux raid autodetect), mit cfdisk einstellen
+
* ''mdadm --create --verbose /dev/md0 --level=raid1 --raid-devices=2 /dev/hda2 /dev/hdc2''
+
 
+
=== Konfiguration ===
+
 
+
==== Allgemeines ====
+
 
+
* Hostname /etc/hostname + /etc/mailname
+
* Zeitzone /etc/timezone -> UTC
+
* Kernelmodule /etc/modules
+
* Dateisysteme /etc/fstab
+
/dev/<device>1  /boot        ext2    noauto,noatime    1 1
+
/dev/<device>3  /            xfs      noatime          0 0
+
/dev/<device>2  none          swap    sw                0 0
+
/dev/cdrom      /mnt/cdrom    iso9660  noauto,ro        0 0
+
none            /proc        proc    defaults          0 0
+
none            /dev/shm      tmpfs    defaults          0 0
+
 
+
==== Netzwerk-Geräte ====
+
 
+
* Ethernet /etc/network/interfaces
+
auto lo
+
iface lo inet loopback
+
auto eth0
+
iface eth0 inet manual
+
auto eth1
+
iface eth1 inet static
+
  address 192.168.0.X
+
  netmask 255.255.0.0
+
  network 192.168.0.0
+
  broadcast 192.168.255.255
+
auto <peername>
+
iface <peername> inet ppp
+
provider <peername>
+
* PPP /etc/ppp/*
+
** /etc/ppp/pap-secrets -> "<account>" * "<password>"
+
** /etc/ppp/peers/<peername>, Defaults mit:
+
logfile /var/log/pppd/qsc-dsl.log
+
#defaultroute
+
hide-password
+
lcp-echo-interval 20
+
lcp-echo-failure 3
+
connect /bin/true
+
noauth
+
persist
+
mtu 1492
+
noaccomp
+
default-asyncmap
+
plugin rp-pppoe.so eth0
+
user "<account>"
+
:* ln -s /etc/ppp/peers/<peername> /etc/ppp/peers/provider
+
:* mkdir /var/log/pppd
+
:* /etc/ppp/ip-up.d
+
#!/bin/sh
+
# default routes
+
route add -net 0.0.0.0/1 gw $PPP_REMOTE
+
route add -net 128.0.0.0/1 gw $PPP_REMOTE
+
# uni rostock
+
route add -net 139.30.0.0/16 gw $PPP_REMOTE
+
# ipkg repositories
+
route add -host 195.56.146.238 gw $PPP_REMOTE
+
route add -host 212.91.225.42 gw $PPP_REMOTE
+
# wikipedia
+
route add -net 207.142.131.192/26 gw $PPP_REMOTE
+
route add -net 145.97.39.128/28 gw $PPP_REMOTE
+
route add -net 212.85.150.128/28 gw $PPP_REMOTE
+
# www.opennet-initiative.de
+
route add -host 212.105.204.29 gw $PPP_REMOTE
+
# rostock.de
+
route add -net 195.37.188.160/28 gw $PPP_REMOTE
+
:* /etc/ppp/ip-down.d/00routes - analog nur s/add/del
+
 
+
==== Routing ====
+
 
+
* OLSR /etc/olsrd.conf, Defaults mit:
+
UseHysteresis      no
+
LinkQualityLevel    2
+
Interface "eth1"    { <defaults> }
+
Hna4
+
{
+
  # university rostock
+
  139.30.0.0      255.255.0.0
+
  # ipkg repositories
+
  195.56.146.238  255.255.255.255
+
  212.91.225.42  255.255.255.255
+
  # wikipedia
+
  207.142.131.192 255.255.255.192
+
  145.97.39.128  255.255.255.240
+
  212.85.150.128  255.255.255.240
+
  # www.opennet-initiative.de
+
  212.105.204.29  255.255.255.255
+
  # www.rostock.de
+
  195.37.188.160  255.255.255.240
+
}
+
 
+
* WAN-Routing /etc/network/ip-up.d/gatewaysetup.sh (Kopie besorgen)
+
 
+
==== SSH-Server ====
+
 
+
* ggf. neue Schlüssel erstellen in /etc/ssh/
+
** RSA-Host-Key per ''ssh-keygen -b 2048 -t rsa -f ssh_host_rsa_key''
+
** DSA-Host-Key per ''ssh-keygen -b 2048 -t dsa -f ssh_host_dsa_key''
+
 
+
==== VPN-Server ====
+
 
+
* OpenVPN:
+
** openvpn + openssl installieren
+
** /etc/openvpn/openssl.conf anpassen (Kopie besorgen)
+
** /etc/openvpn/opennet_users.conf anpassen (Kopie besorgen), key + cert anpassen
+
** Csr/Key erstellen: ''openssl req -days 3650 -nodes -new -keyout <hostname>.key -out <hostname>.csr -extensions server -config openssl.cnf'' (Common Name = <hostname>.on)
+
** Csr absenden und unterschreiben lassen, Crt einspielen
+
** Diffie hellman PEM: ''openssl dhparam -out /etc/openvpn/dh2048.pem 2048''
+
 
+
* automatische ACL Aktualisierung
+
** Nutzer openvpn-acl anlegen + absichern
+
** SSH Schlüsselpaar erzeugen: su openvpn-acl; cd .ssh/; ssh-keygen -t rsa
+
** SSH Public Key (id_rsa.pub) in opennetca@ratte:.ssh/authorized_keys hinzufügen
+
** cronttab für openvpn-acl mit "*/10 * * * * rsync -rt --delete --safe-links opennetca@139.30.3.52:'opennet_users opennet_users_disabled' /etc/openvpn/acl"
+
 
+
==== Nameserver ====
+
 
+
* zuerst chroot-bind9 installieren und einrichten
+
* rndc absichern per ''rndc-conf -a'' (Key ins chroot kopieren)
+
* im chroot /etc/bind/named.conf.options:
+
options {
+
  directory "/var/cache/bind";
+
  forward first;
+
  forwarders {
+
    <isp-dns1>;
+
    <isp-dns2>;
+
    192.168.0.254;
+
  };
+
  auth-nxdomain no;    # conform to RFC1035
+
  listen-on {
+
    127.0.0.1;
+
    <gateway-ip>
+
  };
+
  # ignoriert unterstrich in Domainnamen vom ON
+
  check-names slave ignore;
+
};
+
* im chroot /etc/bind/named.conf.local:
+
// on - forward (includes vpn)
+
zone "on." {
+
  type    slave;
+
  file    "db.on";
+
  masters {192.168.0.254;};
+
};
+
//on - reverse
+
zone "168.192.in-addr.arpa" {
+
  type    slave;
+
  file    "db.192.168";
+
  masters {192.168.0.254;};
+
};
+
//on-vpn - reverse
+
zone "1.10.in-addr.arpa" {
+
  type    slave;
+
  file    "db.10.1";
+
  masters {192.168.0.254;};
+
};
+
* lokale Namensauflösung /etc/resolv.conf:
+
search on
+
nameserver 127.0.0.1
+
* Nameserver starten: ''/etc/init.d/bind9 start''
+
* Funktion prüfen:  ''ps aux|grep bind'' und ''rndc status''
+
* Fehlermeldungen suchen: ''grep named /var/log/daemon.log|tail -20''
+
* Zonen-Transfer manuell durchführen: ''rndc retransfer on''
+
 
+
==== Webserver ====
+
 
+
* apache2 installieren
+
** in /etc/apache2/ports.conf eintragen: Listen 80
+
** Default-Site deaktivieren: #RedirectMatch ^/$ /apache2-default/
+
** Default-Site unter /var/www/apache2-default ggf. löschen
+
 
+
* OpenVPN-Status-Skript anpassen unter /root/tasks/openvpn-users-status.py: host = '<hostname>.on'
+
 
+
[[Kategorie:Konfiguration]]
+
[[Kategorie:Opennet Projekte]]
+
 
+
==== NTP-Server ====
+
 
+
* ntpdate und ntpd installieren
+
* beide beim Systemstart starten lassen (zur Sicherheit zuerst ntpdate, dann ntpd)
+

Aktuelle Version vom 9. Oktober 2011, 19:47 Uhr

  1. REDIRECT Server Installation
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge