Howto: Das SZUT-WLAN mit Gentoo

Transcription

Howto: Das SZUT-WLAN mit Gentoo
Howto: Das SZUT-WLAN mit Gentoo-Linux Nutzen
Vorbemerkungen:
Eine funktionierende WLAN-Verbindung zum Schulnetzwerk wird vorausgesetzt!
Das Interface wlan0 ist durch das jeweilige Interface zu ersetzen.
IPSECKEY ist durch den IPSec-Schluessel der Schule zu ersetzen
USERNAME ist durch den Benutzernamen zu ersetzen
USERKEY ist durch den dazugehörigen Schlüssel zu ersetzen
Benötigte Pakete:
net-misc/openswan (bei mir: Version 2.4.15)
net-dialup/ppp (bei mir: Version 2.4.4-r23)
net-dialup/xl2tpd (bei mir: Version 1.2.3)
Entsprechende USE-Flags und Kernel-Optionen für Ipsec, ppp und l2tp sind zu setzen!
Firewall Schnittstellen:
Die Firewall muss (wenn sie denn existiert) folgendermaßen geöffnet werden:
iptables -A INPUT -i wlan0 -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -i wlan0 -p udp --dport 1701 -j ACCEPT
iptables -A INPUT -i wlan0 -p esp -j ACCEPT
iptables -A INPUT -i wlan0 -p tcp --dport 500 -j ACCEPT
iptables -A INPUT -i wlan0 -p tcp --dport 50 -j ACCEPT
iptables -A INPUT -i wlan0 -p tcp --dport 4500 -j ACCEPT
Außerdem muss das System IP-Forwarding unterstützen.
Dazu fügt man in /etc/sysctl.conf die folgende Zeile ein:
net.ipv4.ip_forward = 1
Konfigurationsdateien bearbeiten:
Es ist hier unbedingt auf den Unterschied zwischen Leerzeilen und Tabulatoren zu achten
(Openswan hat bugs...)
Die Konfigurationsdateien für die Dienste sehen folgendermaßen aus: (siehe nächste Seite)
/etc/ipsec/ipsec.conf
# /etc/ipsec/ipsec.conf - Openswan IPsec configuration file
# RCSID $Id: ipsec.conf.in,v 1.15.2.6 2006/10/19 03:49:46 paul Exp $
# This file: /usr/share/doc/openswan-2.4.15/ipsec.conf-sample
#
# Manual: ipsec.conf.5
version 2.0 # conforms to second version of ipsec.conf specification
# basic configuration
config setup
# plutodebug / klipsdebug = "all", "none" or a combation from below:
# "raw crypt parsing emitting control klips pfkey natt x509 private"
# eg: plutodebug="control parsing"
#
# ONLY enable plutodebug=all or klipsdebug=all if you are a developer !!
#
# NAT-TRAVERSAL support, see README.NAT-Traversal
nat_traversal=yes
# virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
#
# enable this if you see "failed to find any available worker"
nhelpers=0
# Add connections here
conn SZUT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
type=transport
left=%defaultroute
leftprotoport=17/1701
right=172.20.254.201
rightprotoport=17/0
# sample VPN connections, see /etc/ipsec.d/examples/
#Disable Opportunistic Encryption
include /etc/ipsec/ipsec.d/examples/no_oe.conf
/etc/ipsec/ipsec.secrets
(wird durch das später folgende Script erstellt)
/etc/xl2tpd/xl2tpd.conf
[global]
[lac iravpn]
lns = 172.20.254.201
require authentication = yes
max redials = 5
name = USERNAME
ppp debug = yes
autodial = yes
pppoptfile = /etc/ppp/options.l2tpd
require chap = yes
refuse pap = yes
/etc/ppp/options.l2tpd
user USERNAME
nodefaultroute
usepeerdns
ipcp-accept-remote
ipcp-accept-local
noipdefault
asyncmap 0
debug
lock
noaccomp
novj
novjccomp
nobsdcomp
nodeflate
noccp
nocrtscts
noauth
/etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
USERNAME * "USERKEY" *
Das Startscript für den VPN-Tunnel erstellen
Das Startscript sieht folgendermaßen aus:
#!/bin/bash
##
#Die Folgenden Variablen müssen vor dem Ersten Start initialisiert werden
#
IPSEC_SCHLUESSEL="IPSECKEY"
#
#
#Ende
IPADRESSE=$(/sbin/ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}')
echo "$IPADRESSE 172.20.254.201: PSK \"$IPSEC_SCHLUESSEL\"" > /etc/ipsec/ipsec.secrets
route add -net 0.0.0.0 dev wlan0
route add -host 172.20.254.201 dev wlan0
/etc/init.d/ipsec start
/etc/init.d/ipsec restart
ipsec auto --up SZUT
/etc/init.d/xl2tpd start
sleep 10
route add -net 0.0.0.0 dev ppp0
Autor/Quellen
Einrichten der Programme, etc.: Toke Lichtenberg, Marc Niehaus
Dieses HOWTO: Marc Niehaus
GEWÄRLEISTUNG für das, was das HOWTO anrichtet oder für die Funktionstüchtigkeit ist
ausgeschlossen
Quellen:
http://www.jacco2.dds.nl/networking/linux-l2tp.html
http://www.atis.uka.de/760.php
viele weitere Internetseiten
Hallo Admins,
das HOWTO von marc läuft auch unter Ubuntu, allerdings
müssen ein paar kleine Änderungen am Init-Script
vorgenommen werden:
#!/bin/bash
#
#
#Die Folgenden Variablen müssen vor dem Ersten Start
initialisiert werden
#
IPSEC_SCHLUESSEL="IPSec-Schluessel_12072005"
#
#
#Ende
IPADRESSE=$(ifconfig | grep 'inet Adresse:'| grep -v
'127.0.0.1' | cut -d: -f2 | awk '{print $1}')
echo "$IPADRESSE 172.20.254.201: PSK \"$IPSEC_SCHLUESSEL\""
> /etc/ipsec.secrets
echo $IPADRESSE
echo $IPSEC_SCHLUESSEL
route add -net 0.0.0.0 dev ath0
route add -host 172.20.254.201 dev ath0
/etc/init.d/ipsec start
ipsec whack --listen
sleep 5
ipsec auto --up SZUT
/etc/init.d/xl2tpd start
sleep 10
route add -net 0.0.0.0 dev ppp0
Mit freundlichen Grüßen Toke Lichtenberg