|
Openvpn - konfiguracja adresów dla wielu klientów
poldas - 14-02-2008 07:42
Witam
Uruchomiłem Openvpn-a w oparciu o certyfikaty (serwer Debian, stacje klienckie Windows), konfiguracja dla jednego klienta nie sprawiła żadnego problemu, pytanie brzmi:
Jak powinny być zdefiniowane zakresy adresów dla stacji klienckich w pliku serwera oraz jak powinno to wyglądać w pliku klienta?
Poniżej konfigi.
Serwer:
dev tun tun-mtu 1500 ifconfig 10.3.0.1 10.3.0.2
; port 5000
user nobody group nobody
comp-lzo
; ping 15
; ping 15 ; ping-restart 45 ; ping-timer-rem ; persist-tun ; persist-key
verb 4 tls-server dh /etc/openvpn/certs/dh1024.pem # certyfikat wystawcy (CA) ca /etc/openvpn/certs/cacert.pem
# certyfikat bramy cert /etc/openvpn/certs/gwcert.pem
# klucz prywatny bramy key /etc/openvpn/certs/gwkey.pem # lub /etc/openvpn/certs/gwkey.pem_bezhasla ;eof
Klient:
dev tun tun-mtu 1500 ifconfig 10.3.0.2 10.3.0.1
tls-client
Certificate Authority file ca c:\progra~1\openvpn\config\cacert.pem # Our certificate/public key cert c:\progra~1\openvpn\config\usercert.pem # Our private key key c:\progra~1\openvpn\config\userkey.pem ; ping-restart 60 ; ping-timer-rem ; persist-tun ; persist-key ; resolv-retry 86400 # # keep-alive ping ping 10 # # enable LZO compression comp-lzo verb 4 ; eof
Z góry dziękuję za pomoc.
kayo - 14-02-2008 12:46
Klient win32 ma obostrzenia co do adresow ip wykonaj na windowsie komende
openvpn --show-valid-subnets
da ci to liste dostepnych ip dla klientow. Jeszcze na serwerze musisz podac w konfiguracji ze klienci korzystaja z tego samego certyfikatu - do pliku konfiguracji Openvpn dodaj
duplicate-cn
Tak wygladaja moje configi serwer
local xx.xx.xx.xx port 5000 proto udp dev tun0 ca keys/roadwarrior/ca.crt cert keys/roadwarrior/merynos.crt key keys/roadwarrior/merynos.key dh keys/roadwarrior/dh2048.pem server 192.168.2.0 255.255.255.0 push "route 10.0.0.0 255.0.0.0" duplicate-cn crl-verify keys/roadwarrior/crl.pem cipher BF-CBC user nobody group nogroup status servers/merynos/logs/openvpn-status.log log-append servers/merynos/logs/openvpn.log verb 3 mute 20 max-clients 100 keepalive 10 120 client-config-dir /etc/openvpn/servers/merynos/ccd comp-lzo persist-key persist-tun ccd-exclusive
klient client remote xx.xx.xx.xx 5000 dev tun proto udp resolv-retry infinite nobind ca c:\\progra~1\\openvpn\\config\\ca.crt cert c:\\progra~1\\openvpn\\config\\merynosik.crt key c:\\progra~1\\openvpn\\config\\merynosik.key comp-lzo ping 15 ping-restart 45 ping-timer-rem persist-tun persist-key
Powyzsza konfiguracja przydziela automagicznie ip klientowi
poldas - 15-02-2008 11:43
Dziękuję za pomoc, oczywiście ruszyło, mam jednak jeszcze kilka pytań:l Czy jest możliwość przydzielenia klientom adresów IP w sposób statyczny tj wpisując je w konfig? l
lCo konkretnie oznaczają poniższe linie w pliku konfiguracyjnym:
server 192.168.2.0 255.255.255.0 push "route 10.0.0.0 255.0.0.0"
l
lOraz poniższe linie:
client-config-dir /etc/openvpn/servers/merynos/ccd comp-lzo persist-key persist-tun ccd-exclusive
l
Z góry dziękuję za informacje.
jacexx - 04-07-2009 14:01
Ja równiez przyłączam sie do przedmówcy, bardzo proszę kogoś o wytłumaczenie tych parametrów
Cyphermen - 04-07-2009 19:29
Domyślam się że
server 192.168.2.0 255.255.255.0 push "route 10.0.0.0 255.0.0.0"
oznacza pule adresów z której są one przydzielane serwerowi oraz klientom a także przekierowanie domyślnej trasy bodajże do klienta. Chodzi chyba by dostać się przez tunel do sieci lan gdzie 10.0.0.0 to siec lokalna serwera. Ale głowy za to nie dam.
jacexx - 05-07-2009 13:26
No tak, mozna z tego tak wnioskować ale dobrze by było wiedzieć co dokładnie się wpisuje. Może ktoś jeszcze się wypowie i pomoże odszyfrować te magiczne wpisy?
Cyphermen - 05-07-2009 13:57
server 192.168.2.0 255.255.255.0
to pula adresów z których zostaną one przydzielone dla serwera i klientów by stworzyć tunel wirtualny.
push "route 10.0.0.0 255.0.0.0"
ten adres to zapewne adres sieci lan po stronie klienta, tak by można było dostać się do niej. Tyle wiem i tyle wywnioskowałem z google.pl. Wydaje mi się że nie, a tu więcej już do wyjaśnienia chyba ze skorygowania mojej wypowiedzi jeśli się mylę.
jacexx - 05-07-2009 20:17
No dobrze ale jeżeli mamy podłączając się do serwera dostać adres z puli 192.168.2.0 to po co jeszcze ta sieć z 10.0.0.0?
Cyphermen - 05-07-2009 23:40
Bo adres 192.168.2.0 to jest pula adresów do utworzenia połączenia miedzy wami na tej wirtualnej karcie sieciowej.
Natomiast ta sieć 10.0.0.0 to sieć powiedzmy klienta. Sieć wewnętrzna. Powiedzmy że klient jest serwerem sieci lan 10.0.0.0. To żebyś mógł się do niej dostać to musisz mu podać tą drogę.
ketchup - 01-09-2009 09:40
Witam. ÂŻeby nie zaczynać nowego tematu to podłącze się tutaj.l
user nobody group nogroup
Oznacza ze vpn będzie startował na uprawnieniach użytkownika nobody. w logach mam ostrzeżenie ze użytkownik nobody może nie mieć uprawnień do podniesienia interfejsu wirtualnego. Czy uruchamianie na uprawnienia roota (czyli bez tych linijek) może czymś zaszkodzić?l
l
tls-server mode server
Czy jak nie ma tych linijek w konfigu serwera to znaczy, że połączenie nie jest szyfrowane?l
lOdpowiedz na dwie linijki comp-lzo – to algorytm kompresji client-config-dir ccd - to katalog z plikami specyficznych ustawień użytkowników Jeśli chcemy aby użytkownicy dostawali za każdym razem ten sam adres IP, możemy w pliku dla każdego użytkownika, w katalogu ccd, wpisać:
ifconfig-push <adres klienta> <adres bramy>
np.:
ifconfig-push 10.8.0.6 10.8.0.5
l
znalezione w M. Serafin „Sieci VPN”, wyd. Helion
sethiel - 01-09-2009 14:10
server 192.168.200.0 255.255.255.0
Oznacza, że serwer openvpn będzie przydzielał adresy z wyżej wymienionej puli. push "route 192.168.1.0 255.255.255.0" push "route 192.168.2.0 255.255.255.0" push "route 10.10.0.0 255.255.0.0"
Oznacza, że adresy będą routowane do wymienionych podsieci. Innymi słowy traktowane tak jakby adresy przydzielone przez serwer openvpn były w tych podsieciach.
Stwórz plik np.: ipki.txt o zawartości:
usżytkownik1,192.168.200.4 użytkownik2,192.168.200.8
w server.conf dodaj: ifconfig-pool-persist ipki.txt
Teraz użytkownik, który się będzie logował (użytkownik1) dostanie IP, które wcześniej mu przydzieliłeś.
ketchup - 01-09-2009 15:33
@sethiel użytkownik, - nazwa użytkownika ale jaka? Czy to nazwa certyfikatu np.: użytkownik.pem? Czy pole
Common Name (eg, YOUR name) []
z certyfikatu użytkownika?
sethiel - 02-09-2009 11:23
Jak dobrze pamiętam to tak - Common Name.
ketchup - 02-09-2009 12:43
Jak dobrze pamiętam to tak - Common Name.
Sprawdzilem - i masz racje. U mnie zadziałało.
sector - 28-04-2010 10:53
Dobrze, mam pytanie.
Skonfigurowałem wszystko, niby działa, użytkownicy są, IP przydzielane ale mam problem.
Na serwerze ustawiłem przydzielanie adresów IP: 192.168.150.0 255.255.255.0 (czyli ja dostaje np. 192.168.150.4 gdzie serwer to 192.168.150.1). Wszystko poprawnie łączy mnie. Jednak gdy chcę się połączyć z tym serwerem poprzez ssh (czyli nie za pomocą zewnętrznego IP a poprzez 192.168.150.1) łączy mnie z komputerem z mojej sieci lokalnej (bo mam taki adres w sieci).
Czy i jak można zmienić ruting poprzez konfig serwera/klienta aby łączyła mnie najpierw z komputerem w sieci a nie z komputerem z mojego lanu?
bzyk - 28-04-2010 13:00
Masz takie same klasy adresowe w tych sieciach LAN? Jeśli tak, to czym prędzej to zmień.
sector - 28-04-2010 13:38
Nie nie mam. W sumie poradziłem sobie po jak zwykle Windows nawalił i nie miał praw aby klient OpenVPNa dodał trasę rutingu.
Niemniej jednak nie mam takich samych klas. W mojej sieci jest postawiony serwer OpenVPN i jest na adresie 192.168.150.0 i taki sam adres ja utworzyłem na serwerze, z którym się łączyłem. Przez to, że OpenVPN GUI (Windows) nie miał praw aby dodać (route add 192.168... mask...) zamiast ping na VLAN wysłało mi na komputer z sieci. Teraz już wszystko działa. Wystarczyło uruchomić klienta z prawami administratora.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|