Gateway Installation: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(VPN-Server: OpenVPN ausführlicher)
(VPN-Server: Dateiendung pem)
Zeile 141: Zeile 141:
 
** 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/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
 
** Csr absenden und unterschreiben lassen, Crt einspielen
** Diffie hellman PEM: ''openssl dhparam -out /etc/openvpn/dh2048 2048''
+
** Diffie hellman PEM: ''openssl dhparam -out /etc/openvpn/dh2048.pem 2048''
  
 
* automatische ACL Aktualisierung
 
* automatische ACL Aktualisierung

Version vom 8. Januar 2006, 21:01 Uhr

Kurzer Leitfaden für das Aufsetzen neuer Vereinsgateways.

Inhaltsverzeichnis

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. Debian GNU/Linux-Installationsanleitung
c) per debootstap von Knoppix aus, vgl. Debian GNU/Linux-Installationsanleitung - C.4
b) als Kopie von vorhandenem GW, z.B. izumi
  • Filesysteme auf izumi ggf. mounten, crontab Einträge ggf. deaktivieren (CPU-Last)
  • boot einbinden: mount /dev/<device>1 /mnt/
  • boot spiegeln: rsync -avz -e ssh root@izumi:/boot/ /mnt/
  • root einbinden: umount /mnt; mount /dev/<device>3 /mnt/
  • root spiegeln: rsync -avzlx -e ssh root@izumi:/ /mnt/
  • 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; 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

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)

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

  • chroot-bind9: TODO
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge