Sie sind nicht angemeldet.

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich
  • »linuxerr« ist der Autor dieses Themas

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

1

19.02.2007, 12:57

openvpn tap hw-adresse+dhcp

hallo,

ich habe hier einen openvpn-server,
auth über certifikate
tap-device
das ethernetdevice auf das openvpn aufsetzt erhält seine ip von einem lokalen dhcp-server.
funktioniert soweit alles hervorragend.

ich möchte nun, dass die tap-devices der clienten ihre ip auch über den dhcp-server beziehen.
1.frage wie gebe ich den tap-devices der clienten eine feste mac-adresse?
2.frage wie erreiche ich, dass die ip-adresse für das tap device vom dhcp-server bezogen wird (--ipchange?)
in den howtos gehts andauernd um win clienten :böse:

wenn jemand einen guten tipp oder linkhinweis hat, wäre ich sehr dankbar :)
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich
  • »linuxerr« ist der Autor dieses Themas

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

2

20.02.2007, 23:55

RE: openvpn tap hw-adresse+dhcp

so, mal ein kleiner zwischenbericht. also die clienten sind nicht in der lage ihre ip nach dem aufbau des tunnels zu ändern, dhcp scheidet für die ip-vergabe also aus.
workaround:
der openvpn-server bekommt die datei ipp.txt, die er mit der option ifconfig-pool-persist ipp.txt einliest. diese datei enthält nur eine liste, in der in jeder zeile

Quellcode

1
<clientname>,<ip-addr>
steht.
dns, routing, gatewayinformationen kann man vom server aus mit der option
push "dhcp-option <value>"
übertragen lassen, die beim client dann als environmentvariable im openvpn-prozess auftaucht.
foreign_option_1 für die erste push anweisung in der server.conf, foreign_option_2 für die zweite in der server.conf usw usf.
mit den optionen --up cmd oder --down cdm können mit den cmd-kommandos dann shellscripte aufrufen, die die environmentvariablen auslesen können und damit die zb die /etc/resolv.conf, das route-kommando , den clientrechnernamen etc abwickeln. also man muss dhcp nachbauen.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich
  • »linuxerr« ist der Autor dieses Themas

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

3

24.02.2007, 22:35

RE: openvpn tap hw-adresse+dhcp

also ich habe das problem wie folgt gelöst
es geht um die anbindung von mehreren vpn-clienten an einen vpn-server, wobei der server die namensauflösung und ip-vergabe mit festen ips vornehmen soll
also
1. der server baut ein vpn-endknoten mit fester ip an einem tap-device aus, die authorisierung habe ich übner zertifikate geregelt. vom server erhält der klientrechner die informationen zu defaultgateway, nameserver und domainname über push-optionen in der configdatei des servers

Quellcode

1
2
3
push "dhcp-option DEFAULT_GATEWAY=10.0.0.1"
push "dhcp-option DNS1=192.168.0.1"
push "dhcp-option DOMAIN=vpnprivat.int"


ausserdem wird für jeden klienten ein einem unterverzeichnis (serveroption --ccd) eine datei mit dem X509-namen (wurde beim erstellen des zertifikats angegeben) des klienten angelegt. in dieser datei wird dem clienten über weitere optionen seine feste ip sowie der hostname mitgeteilt, zb:
datei client0 (name eines klientschluessels)

Quellcode

1
2
3
ifconfig-push 10.0.0.208 255.255.255.0
iroute 10.0.0.0 255.255.255.0
push "dhcp-option HOST=client0"


auf der klientseite erhält der klient mit dem entsprechenden schlüssel die festgelegte ip und die push informationen in der reihenfolge wie sie in den konfdaeien auftauchen, zuerst die aus der configdatei des servers und danach die aus dem klienten. auf klientseite können diese als umgebungsvariable zb in einem up-script (option --up /pfad_da_hin/scriptname) gelesen werden. die namen der variablen sind foreign_option_1, für die erste push-anweisung , foreign_option_2 für die zweite usw usf, damit kann dann im up-script zb die dafaultroute, der hostname, die domain etc gesetzt werden.

noch ein paar eigenheiten.
1.die push-optionen aus den client-dateien auf dem server werden nur dann gesendet, wenn sich auch in der server-konfigurationsdatei bereits eine push-anweisung befindet.
2.die klientdateien auf dem server können zur laufzeit des servers geändert werden, ein neustart des openvpn-servers ist unnötig. bei der nächsten klientanfrege wird der inhalt durch den server neu gelesen.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

Thema bewerten