static IP für OpenVPN Client

Status
Für weitere Antworten geschlossen.

godlaya

Benutzer
Mitglied seit
22. Sep 2015
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Hallo Zusammen,

kann man einem OpenVPN Client der sich in am Synology VPN Server einwählt auch eine statische statt einer Dynamischen IP zuweisen?

Meinetwegen auch eine statische Adresse die sich im dynamischen Bereich am Ende befindet.

Ich habe einen Fall, dass nur über IP verbundene Drucker via RDC benutzt werden können. Die Software erlaubt keine über RDC umgeleiteten Drucker.

Vielen Dank :)
 

godlaya

Benutzer
Mitglied seit
22. Sep 2015
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
... ich gebe mir jetzt mal selber die Antwort :)

Jedem Client fixe Parameter zuweisen:

Die IP-Vergabe kann auch Zertifikatsbasierend erfolgen. Dazu den Unterorder ccd anlegen. Die Server-Conf um folgende Zeile erweitern
Rich (BBCode):
client-config-dir ccd
Dann in /opt/etc/openvpn/ccd pro CN (CommonName) eine Datei anlegen. Die Datei muss genau so heissen wie der CN im Zertifikat des Clients. In dieser Datei kann man ganz normale OpenVPN Anweisungen verwenden z.B. dem Client eine IP geben
Rich (BBCode):
ifconfig 10.8.0.3 255.255.255.0

... sowas findet man auch erst, wenn man die Blogpost schon gepostet hat ;-)
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Und wenn Du daran auch nach dem Booten der DS noch Freude haben willst mußt Du auch das überschreiben der Files durch das Radiusplugin verhindern.

Rich (BBCode):
overwriteccfiles=false

In der Config unter /var/packages/VPNCenter/etc/openvpn/radiusplugin.cnf

Gruß Frank
 

godlaya

Benutzer
Mitglied seit
22. Sep 2015
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Hallo,

Ich erstelle gerade eine kleine Doku, und nun ist mir noch folgendes aufgefallen:

Rich (BBCode):
ifconfig 10.8.0.3 255.255.255.0
wird unter: /var/packages/VPNCenter/etc/openvpn/ccd/ und nicht wir oben angegeben /opt/etc/openvpn/ccd angelegt

Rich (BBCode):
overwriteccfiles=false
steht bei meiner Synology unter: /var/packages/VPNCenter/target/etc/openvpn/radiusplugin.cnf und nicht wir oben angegeben unter: /var/packages/VPNCenter/etc/openvpn/radiusplugin.cnf

vg, Kai
 

SynTed

Benutzer
Mitglied seit
06. Jan 2016
Beiträge
27
Punkte für Reaktionen
0
Punkte
1
Das Thema ist zwar schon älter, aber vielleicht kann mir einer auf die Sprünge helfen.

Eins vorweg, das gaanze Szenaario mit Static IP hat bei mir schon mal geklappt, nach einem Update des VPN Servers war aber alles wieder weg.

Darum wollte ich die Einstellungen wieder neu vornehmen. Ich glaube alles richtig eingestellt zu haben, da es aber nicht funktioniert, muß ich irgendwo einen Fehler beim Gedankengang haben.

Ich habe folgende Einstellungen vorgenommen:

1. In der Datei "\var\packages\VPNCenter\etc\openvpn\openvpn.conf" habe ich die Zeile "client-config-dir ccd" unter der Zeile "client-cert-not-required" eingefügt.

2. In dem Verzeichnis "\var\packages\VPNCenter\etc\openvpn" habe ich noch das Verzeichnis "ccd" angelegt.

3. In dem Verzeichnis "\var\packages\VPNCenter\etc\openvpn\ccd" habe ich eine Datei (Dateiname = Username, der für die VPN-Einwahl benutzt wird) angelegt. Welche ich mit folgender Zeile gefüllt habe: "ifconfig 192.168.7.23 255.255.255.0". Dem VPN-Client soll also die IP 192.168.7.23 im Subnetz 255.255.255.0 zugewisen werden.

Der User bekommt aber weiterhin eine dynamische IP zugewiesen.

Was mache ich gerade falsch?
 

hrma

Benutzer
Mitglied seit
22. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Ich glaube die obige Lösung funktioniert nur, wenn die Clients Zugriff auf das Server-LAN haben. Wenn das nicht der Fall ist, dann könnte folgendes funktionieren:

Rich (BBCode):
# Superuser werden
sudo -i

# Anlegen eines Client-Konfigurationsordners
mkdir -p /var/packages/VPNCenter/etc/openvpn/ccd

# Erweiterung der OpenVPN-Konfig
echo "client-config-dir ccd" >> /var/packages/VPNCenter/etc/openvpn/openvpn.conf

# Verhindern das die Werte nach einem Neustart überschrieben werden
sed -i "s:overwriteccfiles=true:overwriteccfiles=false:g" /var/packages/VPNCenter/target/etc/openvpn/radiusplugin.cnf

# Statische IP vergeben
# Zugriff nur auf Server:
# Topologie: local remote, wobei local immer remote+1 ist
echo "ifconfig-push 10.8.0.202 10.8.0.201" > /var/packages/VPNCenter/etc/openvpn/ccd/<username>

# Dienst neu starten
synoservice --restart pkgctl-VPNCenter

Jetzt sollte der Client immer die gleiche IP bekommen (hier 10.8.0.202).
 
Zuletzt bearbeitet:

mcreuter

Benutzer
Mitglied seit
12. Mai 2015
Beiträge
18
Punkte für Reaktionen
0
Punkte
1
Hey,

habe es ausprobiert aber leider funktioniert das nicht!

Hast du noch eine Idee??? Das ganze wird doch auf dem Server VPN NAs gemacht oder? Die Clients haben ja gar nicht den Ordner VPN Center, da es ja nicht installiert ist.
 
Zuletzt bearbeitet von einem Moderator:

hrma

Benutzer
Mitglied seit
22. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Ja, das wird auf dem Server-NAS gemacht. Ich habe auch ein Skript auf Github gestellt, das das alles automatisiert. Findest du hier:

https://github.com/alexanderharm/syno-openvpn-static-ip

Dazu gibt es auch noch eine Clienterweiterung, da Synology die unangenehme Eigenschaft hat, dass nach zu vielen Verbindungsabbrüchen ein manueller Re-connect nötig ist. Das übernimmt dieses Skript und stellt sicher, dass das VPN wirklich immer verbunden ist:

https://github.com/alexanderharm/syno-connect-vpn

Das funktioniert bei mir einwandfrei, läuft sicherlich auf 10 Synologys seit Monaten stabil.
 

mcreuter

Benutzer
Mitglied seit
12. Mai 2015
Beiträge
18
Punkte für Reaktionen
0
Punkte
1
musste echt kämpfen aber jetzt funktionierts. Reconnect hatte ich schon seit längerem am laufen. auch per WEB UI Aufgabe.

Aber waren müssen die IP´S so hoch sein Standart fängt er bei mir bei 6 an. Nun musste ich 50 nehmen.
 

hrma

Benutzer
Mitglied seit
22. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Das hängt stark davon ab, wieviele Clients du auf dem Server konfiguriert hast. Das Problem ist, dass der VPN Server nichts von deiner fixen IP Konfiguration weiß, da sie ja im Synology-System nicht vorgesehen ist. Daher zwingt das Skript dich, die IPs außerhalb des dynamischen Bereichs zu vergeben. Ähnlich geht man ja bei DHCP vor, das heißt man trennt in einen statischen und einen dynamischen Bereich. So ist sichergestellt, dass deine Modifikationen der Synology Konfiguration nicht in die Quere kommen.
 

MMD*

Gesperrt
Mitglied seit
26. Okt 2014
Beiträge
403
Punkte für Reaktionen
2
Punkte
24
Dan fuge noch
Code:
ifconfig-pool 10.8.0.4 10.8.0.199
hinzu. Dis ist dann die DHCP pool.
 

hrma

Benutzer
Mitglied seit
22. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Das soll jeder machen wie er will. Ich generiere die Grenze dynamisch. D. h. ich schaue nach, was du in der WebGUI konfiguriert hast und erzwinge dann einen höheren Port... Erscheint mir am logischsten...
 

MMD*

Gesperrt
Mitglied seit
26. Okt 2014
Beiträge
403
Punkte für Reaktionen
2
Punkte
24
Es ging natürlich um das beispiel hier gegeben, ifconfig-push 10.8.0.202 10.8.0.201

Bin kein script kiddie aber sehe kein ifconfig-pool in dein script?
Ohne ifconfig-pool wirt keinen DHCP pool gesezt.
 

hrma

Benutzer
Mitglied seit
22. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Setze ich auch nicht. Ich lese nur die Anzahl der max-clients aus (wie im WebGUI gesetzt). Ich wollte so wenig wie möglich in der von Synology generierten Konfigurationsdatei ändern und den Mehrwert dieser Setzung erkenne ich jetzt nicht...
 

MMD*

Gesperrt
Mitglied seit
26. Okt 2014
Beiträge
403
Punkte für Reaktionen
2
Punkte
24
Wan zum beispiel client1 mit feste IP im moment nicht verbunden ist, kann dynamischer (besteht das risiko das) client2 immer noch die IP von client1 bekommen weil kein DHCP pool gesezt ist.

Die max-clients setting tut nichts mit DHCP oder fest vergebene IP`s...
max-clients ist abhangig von model DS, sehe model specificationen (oder /etc/synoinfo.conf und /etc.defaults/synoinfo.conf)
 

hrma

Benutzer
Mitglied seit
22. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
OK, dein Vorschlag wäre also es fix zu setzen, so dass alle 2xx statisch sind (also ca. 25 Stück) oder den Wert dynamisch aus den max-clients zu setzen. Beides hat natürlich Vor- und Nachteile. Bei großen Installationen kann es ja schnell zu Konflikten führen... Oder man sagt pauschal 2xx ist statisch und wenn jemand mehr als 25 Clients konfiguriert, dann wird der Bereich vergrößert... Klingt alles nicht so toll.
 

MMD*

Gesperrt
Mitglied seit
26. Okt 2014
Beiträge
403
Punkte für Reaktionen
2
Punkte
24
Vielleicht verstehe ich mal was verkehrt, nimmt mich nicht übel.
Mein punkt ist das kein DHCP pool gesezt wird.

Bei großen Installationen muss man natürlich planung machen.
max-clients ist nur das was es sagt, mehr dürfen nicht gleichzeitig verbinden. Ob das clients mit feste IP oder dynamisch oder ein mix von beide ist egal.

Es ist ähnlich wie ein router. Fest vergebene IP`s sollen außerhalb die DHCP pool vergeben werden, sonst gibst chance auf IP konflikte..... Dein script schränkt die DHCP pool nicht ein, macht ihm nicht kleiner.
Wen man OpenVPN beibringt mit ifconfig-pool was die DHCP pool sein soll können IP`s auberhalb die pool fest vergeben werden.

Standard ist der OpenVPN server mit topology net30 (/30) konfiguriert. Der server selbst bekommt die erste 4, .0, .1, .2 und .3, den rest ist fur clients wobei jeder client auch 4 IP`s beschlag nimmt.
net30 tabelle:
Rich (BBCode):
0    4    8      12    16    20    24
1    5    9      13    17    21    25
2    6    10     14    18    22    26
3    7    11     15    19    23    27
                        
28    32    36    40    44    48    52
29    33    37    41    45    49    53
30    34    38    42    46    50    54
31    35    39    43    47    51    55
                        
56    60    64    68    72    76    80
57    61    65    69    73    77    81
58    62    66    70    74    78    82
59    63    67    71    75    79    83
                        
84    88    92    96    100    104    108
85    89    93    97    101    105    109
86    90    94    98    102    106    110
87    91    95    99    103    107    111
                        
112    116    120    124    128    132    136
113    117    121    125    129    133    137
114    118    122    126    130    134    138
115    119    123    127    131    135    139
                        
140    144    148    152    156    160    164
141    145    149    153    157    161    165
142    146    150    154    158    162    166
143    147    151    155    159    163    167
                        
168    172    176    180    184    188    192
169    173    177    181    185    189    193
170    174    178    182    186    190    194
171    175    179    183    187    191    195
                        
196    200    204    208    212    216    220
197    201    205    209    213    217    221
198    202    206    210    214    218    222
199    203    207    211    215    219    223
                        
224    228    232    236    240    244    248
225    229    233    237    241    245    249
226    230    234    238    242    246    250
227    231    235    239    243    247    251

252
253
254
255

(also ca. 25 Stück)
Die tabelle macht klar das platz ist fur 14 "feste IP" clients mit "ifconfig-pool 10.8.0.4 10.8.0.199" und 49 dynamisch
Maximal ist also platz fur 63 clients in einen 10.8.0\24 netz mit topology net30.
Natürlich auch abhängig von die max-clients einstellung.

Dein script wurde technisch besser sein (gründlicher) wen ifconfig-pool auch gesetzt wird damit es nicht zu IP konfikte kommen kann.
:thumbsup:
 

hrma

Benutzer
Mitglied seit
22. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Danke, das ist alles so weit klar und deutlich für mich. Der einzige offene Punkt ist, wie ich das kommuniziere... Wenn ich in die Anleitung schreibe:

- bei einer statischen Adressvergabe musst du die 252 benutzen
- bei zwei die 248 und 252
- bei drei die 244, 248 und 252
- usw.

kapiert das dann noch jemand? Und es erfordert eine Änderung wenn man die Client-Anzahl anpasst.

Oder setze ich den Pool abhängig vom Parameter vpn_conn_max? Ist dir hier ein Maximalwert bekannt?

Oder, oder, oder?

Irgendwie komme ich auf keine Logik, die für jeden nachvollziehbar ist.
 

Doppelter Wolf

Benutzer
Mitglied seit
11. Sep 2008
Beiträge
171
Punkte für Reaktionen
0
Punkte
16
Man kann den Server auch easy mit

Rich (BBCode):
topology subnet
so konfigurieren das man jede Adresse benutzen kann Topo30 ist eigentlich Veraltet und nicht empfehlenswert. Ausser es hängen noch alte Clients dran.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat