
PPTP-VPN Server mit statischen Client-IPs
von Stefan Dambeck
Vorraussetzungen:
Dieses Paket dient dazu, um für PPTP Clients eine Einwahlmöglichkeit
ins Firmen- oder Heimnetz zu bieten.
In der Standardkonfiguration des OPT_VPND ist es nicht möglich, den VPN-Clients
anhand des Logins
eine bestimmte IP zuzuweisen. Die im folgenden aufgezeigt Modifikation ermöglicht
dies.
Die Verwendung von statischen Client-IPs ist besonders dann sinnvoll, wenn der
Fli4l-Router in Kombination
mit einer bestehenden Firewall-Lösung als VPN-Server eingesetzt wird und
den Clients mit Hilfe der IP
bestimmte Zugriffsrechte erteilt werden sollen.
Die zu verwendenden IPs werden in der Datei /etc/ppp/chap-secrets hinterlegt.
Da diese Datei erst zur Lauf-
zeit erzeugt wird, sind einige Änderungen erforderlich. Der Trick besteht
eigentlich nur darin, dass eine weitere
Variable verwendet wird, die den Logins zugeordnet wird. Die folgende Zeile
muss in die Datei
/check/vpnd.txt
angefügt werden:
VPND_USER_%_IP OPT_VPND VPND_USER_N NOTEMPTY
Jetzt kann die
/config/vpnd.txt
angepasst werden. Mein Beispiel verwendet 3 Benutzer mit entsprechenden IPs.
Setzt man die Anzahl der User höher und werden die VPND_USER_x Parameter
entsprechend ergänzt, so
lassen sich natürlich auch wesentlich mehr Benutzer anlegen.
| VPND_USER_N='3' VPND_USER_1_USER='stefan' VPND_USER_1_PASS='nafets' VPND_USER_1_IP='192.168.0.50' VPND_USER_2_USER='franz' VPND_USER_2_PASS='znarf' VPND_USER_2_IP='192.168.0.60' VPND_USER_3_USER='sepp' VPND_USER_3_PASS='ppes' VPND_USER_3_IP='192.168.0.70' |
#Anzahl der User |
Nun muss noch die Datei
\opt\etc\rc.d\rc.pptpd
bearbeitet werden. Es muss folgender Bereich
...schnipp...
do
eval vpnuser='$VPND_USER_'$ivpn'_USER'
eval vpnpass='$VPND_USER_'$ivpn'_PASS'
echo '"'"$vpnuser"'" "'"$HOSTNAME"'"
"'"$vpnpass"'" *' >> /etc/ppp/chap-secrets
ivpn=`/usr/bin/expr $ivpn + 1`
done
...schnapp...
durch diesen ersetzt werden:
do
eval vpnuser='$VPND_USER_'$ivpn'_USER'
eval vpnpass='$VPND_USER_'$ivpn'_PASS'
eval vpnip='$VPND_USER_'$ivpn'_IP'
echo '"'"$vpnuser"'" "'"$HOSTNAME"'"
"'"$vpnpass"'" "'"$vpnip"'"' >>
/etc/ppp/chap-secrets
ivpn=`/usr/bin/expr $ivpn + 1`
done
Jetzt die Disk erzeugen und die VPN-Einwahl testen. Mit dem Befehl
cat /etc/ppp/chap-secrets
kann man überprüfen, ob alle User vorhanden sind und ob auch die richtigen IPs eingetragen sind.
Klicken Sie hier, um die Seite auszudrucken.