Fórum Root.cz
Hlavní témata => Server => Téma založeno: Kremilek 29. 10. 2014, 12:15:08
-
Dobrý den,
prosím Vás, nemáte někdo zkušenosti s nastavením OpenVPN (server i klient pod Windows), aby správně fungovalo statické přidělování IP adres.
Server konfig:
tls-server
dev tap
mode server
dev-node server-new
ifconfig IPadresa maska
client-config-dir ccd
port Cislo portu
proto udp
tun-mtu 1500
dh dh2048.pem
ca CA.crt
cert Server.crt
key Server.pem
tls-auth ta.key 0
persist-tun
persist-key
comp-lzo
keepalive 15 120
ping-timer-rem
log logy_new.log
verb 3
client-to-client
Client:
remote IPAdresaServeru
port cislo_portu
tls-client
dev-node vpn-client
ca ca.crt
cert client.crt
key client.key
persist-key
persist-tun
ns-cert-type server
tls-auth ta.key 1
verb 5
mute 3
resolv-retry infinite
nobind
dev tap
proto udp
cipher bf-cbc
auth sha1
comp-lzo
tun-mtu 1500
Ve složce ccd mám soubory dle názvu CN v certifikátu a v něm:
ifconfig-push IP_adresa Maska
Pokud je klientem Linux (dd-wrt), tak vše funguje správně. Pokud Windows, tak IP adresu nedostane.
V logu serveru:
ip_adresa:12976 TLS: Initial packet from [AF_INET]ip_adresa:12976, sid=4063077a 7ee15fef
ip_adresa:12976 VERIFY OK: depth=1, C=CZ, L=Město, O=Firma, CN=Firma CA, emailAddress=email@fima.cz
ip_adresa:12976 VERIFY OK: depth=0, C=CZ, L=Město, O=Firma, CN=klient1, emailAddress=email@fima.cz
ip_adresa:12976 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
ip_adresa:12976 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
ip_adresa:12976 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
ip_adresa:12976 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
ip_adresa:12976 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
ip_adresa:12976 [klient1] Peer Connection Initiated with [AF_INET]ip_adresa:12976
OPTIONS IMPORT: reading client specific options from: ccd\klient1
klient1/ip_adresa:12976 MULTI: Learn: 0e:cf:17:ed:d7:91 -> klient1/ip_adresa:12976
Děkuji za rady.
-
V logu serveru by po OPTIONS IMPORT melo byt neco na tenhle zpusob (verb 4):
Wed Oct 29 12:47:45 2014 us=337017 stroj.nekde.cz/XXX.XXX.XXX.XXX:YYYY PUSH: Received control message: 'PUSH_REQUEST'
Wed Oct 29 12:47:45 2014 us=337866 stroj.nekde.cz/XXX.XXX.XXX.XXX:YYYY send_push_reply(): safe_cap=940
Wed Oct 29 12:47:45 2014 us=338410 stroj.nekde.cz/XXX.XXX.XXX.XXX:YYYY SENT CONTROL [stroj.nekde.cz]: 'PUSH_REPLY,route 10.1.0.0 255.255.0.0,topology net30,ping 10,ping-restart 120,route 10.0.3.0 255.255.255.0,ifconfig 10.1.0.4 10.1.0.1' (status=1)
(tou posledni polozkou se nastavuje IP adresa klienta na 10.1.0.4)
Pokud to tam nemas, tak ten klient nejspis nepozadal server o konfiguraci, takze ji nedostal. Asi by nebylo od veci se podivat i na log klienta, co se tam deje za nepristojnosti.
-
Jo, ten log odpovídá tomu, když se ptá to dd-wrt. Ale v tom ccd, tam mám masku místo IP adresu serveru.
V logu klienta je, že se úspěšně připojil. Jinak nic zvláštního tam není. Pouze nedostane IP adresu.
-
Ale v tom ccd, tam mám masku místo IP adresu serveru.
Zkus to s adresou serveru. Plus to vypada, ze Windowsi tap driver ma nejaky divny omezeni nebo co:
Each pair of ifconfig-push addresses represent the virtual client and server IP endpoints. They must be taken from successive /30 subnets in order to be compatible with Windows clients and the TAP-Windows driver. Specifically, the last octet in the IP address of each endpoint pair must be taken from this set:
https://openvpn.net/index.php/open-source/documentation/howto.html
-
I kdyy vlastne stejne je to divny, protoze by tam mel byt minimalne ten PUSH_REQUEST od klienta.
-
Pátráš zcela zbytečně, pod Windows to prostě nefunguje.
-
Lol Phirae: Je nějaká článek o tom, že to nefunguje - nebo něco podobného.
Mirek Prýmek: Zkoušel jsem i aktualizovat verze a pod a stejně nepomohlo. Možná má Lol pravdu :(
Dá se to vyřešit i nějak jinak?
-
Pátráš zcela zbytečně, pod Windows to prostě nefunguje.
Já jsem kdysi dávno na Widlích tohle rozchozený měl - akorátže to byly ještě XPčka nebo co.
Dá se to vyřešit i nějak jinak?
Buď něčím, co widle umí (nějakej IPsec?), nebo před to předhodit malej Linuxovej router - Mikrotik, Raspberry...
-
Pokousel sem se to rovnez zprovoznit mezi mikrotikem a stanicema. Jak psal Lol Phirae, na linuxu to facha bez problemu, ale pro windows stanice se to muselo delat point-to-point, tedy pridelovalo to jednu ip na mk na kazdou ip u windows.
-
Pátráš zcela zbytečně, pod Windows to prostě nefunguje.
Se obavam, ze mas pravdu, nepamatuju si uz presne co, ale vim, ze ve widlich to bylo proto, ze driver proste neco neumel a neslo to rozchodit (w7). Taky sem se stim moril asi tejden, a rikal si, ze sem uplne blbej, az sem nakonec dohledal, ze proste smolik.
-
Ahoj,
zkontroloval bych prava. Zdali OpenVPN ma prava admina aby mohla nastavovat IP a pod. Urcite jsou tato prava potreba pro pridani specifickych routovacich pravidel.
Jinak co se tykalo problemu s IP ze to neslo pod win, tak to byl problem s TUN. IP vrstva. Ale i to jde myslim od verze 2.x resit. Ale tazatel zde ma pouzito TAP, tam se emuluje ethnernet, takze problem bych opravdu cekal v pravech. Ja mam napriklad nastaveno spoustet OpenVPN GUI s pravama admina.
Radek
-
hm, pre widly odporucam skusit/pouzivat "topology subnet" a "dev tun"
-
Možná by pomohlo přidat do konfiguráku klienta
pull
-
hm, pre widly odporucam skusit/pouzivat "topology subnet" a "dev tun"
Ano, což ovšem funguje jen proto, že žádná další IP adresa není v tom /30 subnetu k dispozici (zbylé tři zabere síť, server a broadcast). Bohužel rozsekání sítě na mraky /30 subnetů je dost často naprosto nežádoucí.
-
Neřeš to přes ccd, ale zkus v konfiguraci serveru OpenVPN nastavit (příklad):
#ifconfig-pool ip-od ip-do maska
ifconfig-pool 10.0.0.1 10.0.0.254 255.255.255.0
ifconfig-pool-persist cn_to_ip.txt
kde v cn_to_ip.txt budeš mít dvojice cn - ip_adresa oddělené čárkami
cn1, 10.0.0.1
cn2, 10.0.0.8
Upozornění klienta ve win 7-8 pouštěj s administrátorským oprávněním
-
Více-méně střílím od boku, ale kdyby náhodou. Mám tu letitou poznámku, že ve Windows je nutno přidat do konfigu řádky:
route-method exe
route-delay 3
asi to spíš souvisí s routováním než s přidělováním adres, jen si pamatuju, že bez toho mi ve Win OpenVPN buď nešla vůbec nebo blbla. Možná to souvisí s nedostatky TAP driveru.
-
Možná by pomohlo přidat do konfiguráku klienta pull
Stejně jsem vyzkoušel i:
route-method exe
route-delay 3
To sice pomohlo, že se snaží IP adresu načíst, ale stále čeká na TAP zařízení:
us=47257 TEST ROUTES: 0/0 succeeded len=0 ret=0 a=0 u/d=down
us=47257 Route: Waiting for TUN/TAP interface to come up...
Zkoušel jsem i novější TAP drivery a taky nepomohlo - naopak se ještě sekl celý daemon a musel jsem restartovat win, protože to nešlo ani odstřelit.
cik951
Tvojí metodu vyzkouším večer, to je zásah do serveru a to teď nemůžu, protože se pracuje :)
Ohledně práv, tak to zkouším jak na win7/8 všude s admin právy - vypnuté UAC a EnableLUA.
-
Ahoj,
provozuji dva OpenVPN servery, overovani pres Radius do LDAP + certifikaty, samozrejme vcetne check CRL. Pool mam rozdeleny na dve pulky, prvni je dhcp, druha staticky z CCD. Perfektne funkcni na klientech pod Android, Ubuntu, XP a 7. Presel jsem na Ovpn namisto cisco reseni.
Prikladam funkcni konfiguraci, snad ti navod pomuze. Nepotrebne direktivy z configu odstran, IP rozsahy si samozrejme zmen podle sebe.
server:
local 192.168.20.1
port 443
proto tcp-server
dev tun
tun-mtu 1500
ca /etc/openvpn/key/ca.pem
cert /etc/openvpn/key/server.pem
key /etc/openvpn/key/server.key
dh /etc/openvpn/key/dh2048.pem
tls-auth /etc/openvpn/key/ta.key 0
crl-verify /etc/openvpn/key/ca_crl.pem
topology subnet
mode server
tls-server
push "topology subnet"
ifconfig 192.168.1.1 255.255.255.0
ifconfig-pool 192.168.1.2 192.168.1.126 255.255.255.0
push "route-gateway 192.168.1.1"
client-config-dir ccd
push "dhcp-option DNS 192.168.200.1"
push "dhcp-option DNS 192.168.201.10"
keepalive 10 300
cipher BF-CBC
comp-lzo
max-clients 200
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log 10
verb 1
plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf
script-security 2
auth-user-pass-optional
no-name-remapping
CCD - IP staticky podle jmena uzivatele. Zde je mozne pushovat i dalsi user zalezitosti jako jsou routy apod.:
ifconfig-push 192.168.1.131 255.255.255.0
ifconfig-push 192.168.1.132 255.255.255.0
atd.
Pool je treba pridelovat takto - pro widle po 4 IP, pro vsechny ostatni systemy po 1 adrese. Plati to jen pro staticke pridelovani, pokud by se pouzivalo pouze dynamicke pridelovani, server alokuje dle klienta jednu nebo 4 adresy.
klient:
client
dev tun
tun-mtu 1500
mssfix
float
proto tcp
remote ip_server1
remote ip_server2
nobind
persist-key
persist-tun
pkcs12 user_certifikat.p12
route-method exe
verb 1
mute 20
route-delay 2
comp-lzo
auth-user-pass
tls-auth ta.key 1
-
txt
Díky, zkusím. Ještě se Tě zeptám, jakou verzi OpenVPN a TAP driveru na Win používáš?
Díky
-
Na widlich pouzivame tohle: http://sourceforge.net/projects/securepoint/ (http://sourceforge.net/projects/securepoint/). Soucasi instalace je i driver. Zkousel jsem i original OpenVPN klient http://openvpn.net/index.php/open-source/downloads.html (http://openvpn.net/index.php/open-source/downloads.html), ale nepodarilo se mi ho nastavit tak, aby si pamatoval username a nebylo ho treba stale zadavat.
Na Ubuntu staci config naklikat do Network Managera, na Androidu pouzivame OpenVPN for Android (nepotrebuje roota).
Vyzkousej a kdyz tak napis, jestli funguje.
-
Tak jsem nainstaloval pouze driver z toho SW Securepoint, jinak nechal svůj konfig a zdá se, že to funguje jak má.
Ještě to budu testovat, ale vypadá to dobře. :D
-
Zdravím,
takže to chce driver verzi: 9.9.2_3
stáhnout zde:
http://build.openvpn.net/downloads/releases/tap-windows-9.9.2_3.exe
Pak to všechno funguje jak má. Starší, ani novější správně pod Win7/8 nefungují.
Stačilo pak přidat buď pull nebo route-method exe
Děkuji všem za rady