Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

OpenVPN na win2003 server

Tico_BJ (44)|5.2.2008 13:39
Ahoj, chtěl jsem se zeptat, zda-li někdo nevíte o nějakém spolehlivém návodu na provoz openvpn na systému windows 2003 server. Pomocí této utility by se na server mělo připojovat více lidí z windowsovských OS. Čili komunikace win-win .... všude na netu nacházím jen konfigurace na linux. Nebo nemáte s tím někdo vlastní zkušenosti?díky za rady.
Styryx (351)|5.2.2008 15:50
Používám OpenVPN na komunikaci Win-Win přes wifi (připojení nb k domácímu pc). Co se týče návodů, zprovoznění je relativně obdobný pod win i linuxem, takže konfigurace se moc neliší (pouze co se týče zařízení, tedy myslím např. že Linux neumí buď tun nebo tap takže se musí použít to který umí, na Win jde obojí). Všechno jsem našel na googlu ale už bohužel nevím kde přesně jsem ty konfigy našel, byly tam víc specializovaný na win. Přidám svoje konfiguráky jestli je tu někde najdu...

(jinak teda předpokládám, že na 2003 server se to bude chovat stejně nebo obdobně jako na XP Pro)
Styryx (351)|5.2.2008 16:24
Takže: hodně dobře shrnutý je to tady
http://openvpn.net/howto.html
(jel jsem povětšinou podle něj)

Předpokládám, že budeš chtít zabezpečenej přenos, tj. první věcí bude vygenerování bezpečnostních klíčů, popis zde:
http://openvpn.net/howto.html#pki

- na serveru vygenerovat certifikační autoritu, kterou pak budeš používat pro vytvoření certifikátů
[code]
cd Programy\OpenVPN\Easy-RSA
init-config
[/code]
(ve vars možno přednastavit některý věci, co se má používat v certifikátech apod.)
[code]
vars
clean-all
build-ca
[/code]

- pak vygenerovat certifikát a klíč pro server
[code]
build-key-server server
[/code]

- pak vygenerovat certřifikáty pro jednotlivý klienty
[code]
build-key client1
....
[/code]

- a nakonec DF parametry
[code]
build-dh
[/code]
(délka zabezpečení se nastavuje ve vars, standard 1024, pro paranoiky 2048, neni rozdíl v rychlosti spojení, pouze v době, za kterou se jednorázově vygeneruje)

Pod tim je tabulka, který z nich jsou na co určený a který je potřeba nechat tajný a který ne.
(tj. defakto všechno nechat na serveru, pouze client.key a client.crt překopírovat na odpovídajícího klienta; na každým klientu pak ještě musí bejt ca.crt)
ca.key nemusí být ani na serveru ani na klientech, tj. lze uložit někam na chráněný místo a je to nejdůležitější certifikát, neboť se používá pro vygenerování klíčů (tj. např. potenciální hacker by při jeho získání si moh bez problému vygenerovat libovolnej počet vlastních klíčů a dostat se tak přes zabezpečení)

Potom je potřeba udělat konfigurační soubory. Instance OpenVPN se pustí pro každej .ovpn soubor v /config, tj. lze mít víc např. konfiguračních souborů na klientu pro víc serverů, nebo mít na jednom počítači zároveň server pro jednu síť a klient pro jinou síť atd. (pak musí používat různý porty).

Příklady konfiguračních souborů klienta a serveru jsou v návodu dole. Soubor serveru nemam tady, kouknu na to až přijdu domů. Používám tam toho relativně dost, včetně DHCP, takže je to relativně dobrej příklad.

Zatím sem dávám soubor mýho klienta:
[code]
# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client

dev tap
;dev tun

;proto tcp
proto udp

remote 192.168.0.1 8194
; server-name 8194

ca ca.crt
cert nb-pracovni.crt
key nb-pracovni.key

ns-cert-type server

ping 15
ping-restart 45
ping-timer-rem

persist-key
persist-tun

resolv-retry infinite

nobind

comp-lzo

verb 3

;mute 20

mute-replay-warnings
[/code]

Jo a doporučuju obzvlášť na serveru to nechat spouštět jako Service, tj. vlézt do služeb a nastavit službě OpenVPN spouštění na Automatic. Je to často vhodný i na klientech (já to tak mám).
Styryx (351)|5.2.2008 22:00
Takže, konfigurace serveru u mě je následující:
[code]

dev tap
;dev tun

;proto tcp
proto udp

; dev-node WirelessVPN

server 192.168.20.0 255.255.255.0
;server-bridge 10.10.10.1 255.255.255.0 10.10.10.128 10.10.10.254

management localhost 8505

port 8194

client-to-client

;route 192.168.0.0 255.255.255.0

;push "route 192.168.1.0 255.255.255.0"

ca ca.crt
cert MyServer.crt
key MyServer.key

dh dh2048.pem

ifconfig-pool-persist ipp.txt

client-config-dir wireless-clients
ccd-exclusive

keepalive 10 120

comp-lzo

verb 3

mute-replay-warnings

; mute 20
[/code]

Věci za středníkama jsou zakomentovaný, nechal jsem je tam protože jde o příkazy, který jsou taky poměrně dobře použitelný.
dev tap/tun je typ zařízení, lze zvolit libovolně, ale musí bejt stejný pro server i všechny klienty, stejně jako protokol (proto tcp/udp - udp je údajně výkonnější, takže je lepší použít ten, pokud to jde, a jenom když by to nešlo pužít tcp, ten by měl jít vždycky); pokud se zvolí dev tun, je jinej formát příkazu "server" (tj. ten příkaz pak má jiný parametry - pro tap je to síť a maska, tj. takhle by měl DHCP server přidělovat adresy 192.168.20.4,192.168.20.5 apod.)
client-to-client je proto aby mohli klienti komunikovat mezi sebou pokud nebude budou moct komunikovat jenom se serverem.

ifconfig-pool-persist je jméno souboru kam ukládá adresy klientů (tj. pokud se klient se stejným hostname připojí znova, dostane stejnou adresu)

client-config-dir je adresář, kde se hledají konfigurace pro známý klienty. Konkrétně v souboru config\wireless-clients\nb-pracovni mam tohle:
[code]
ifconfig-push 192.168.20.8 255.255.255.0
[/code]

protože chci, aby konkrétně tenhle počítač dostal přidělenou adresu 192.168.20.8 a masku 255.255.255.0
(pokud neni pro nějakej počítač zadaná konfigurace, přidělí se DHCP serverem nějaká)

To je asi základní náhled a pak si můžeš projít jednotlivý příkazy, co by se ti hodilo nebo naopak nehodilo a upravit si to podle svých potřeb.
Tico_BJ (44)|6.2.2008 08:17
Úžasnej návodek, díky moc, jdu se na to vrhnout