###########################################
#  OpenVPN 2.0 konfigurační soubor
#  pro server, který akcpetuje více klientů
#  Tento konfigurační soubor je stejný jak
#  pro Windows platformu, tak pro Linux
#  platformu. Jediný rozdíl je v oddělovači
#  souborů, který je na Windows platformě "\",
#  kdežto na linux platformě je "/". Př: WIN
#  "C:\\Program Files\\OpenVPN\\config\\foo.key"
############################################
# Komentář značí i ";"
# Na které IP adrese bude OpenVn naslouhat
# (nepovinné)
;local a.b.c.d
# Na kterém TCP/UDP portu bude OpenVpn naslouchat
# V případě, že chcete mít spuštěno na jednom počítači
# více OpenVpn programů, každý by měl mít nastaven jiný port
# Tento (Tyto) port(y) je pak nutno povolit na Vašem firewallu
port 1194
# Přijímáme TCP nebo UDP pakety
;proto tcp
proto udp
# "dev tun" vytvoří routovaný IP tunel,
# "dev tap" will vytvoří ethernet tunel.
# Použijte "dev tap",jestliže chcete použít bridging.
# Pozn: Na většině systémů VPN nebude správně fungovat
# dokud částečně nebo úplně nepovolíte TUN/TAP rozhraní.
# Podívejte se do manuálu nastavení Vašeho firewallu jak na to.
;dev tap
dev tun
# Windows potřebují mít přiřazeno jméno pro TAP-WIN32
# v případě že používate víc TUN/TAP zařízení.
;dev-node JménoTapZařízení
# SSL/TLS kořenový certifikát (ca), certifikát
# (cert) a soukromý klíč (key).
# Každý klient a server potřebují mít vlastní klíč
# a certifikát. Oba pak musí mít ještě kořenový certifikát.
# Ten je na obou stranách stejný
#
# Generování certifikátů/klíčů
# Pozn: Klienti i server musí mít vyplněnou položku
# v Common Name poli při generování certifikátů
#
# Může být pouřit jakkýkoliv X509 systém na generování klíčů
# Příklad pro Windows platformu Projekt Mycert
#
ca sample-keys/tmp-ca.crt
cert sample-keys/server.crt
key sample-keys/server.key # Tento soubor by měl být uchován v tajnosti
# Diffie hellman parametry
# Odkaz na generování
dh sample-keys/dh1024.pem
# Konfigurace serveru a kde podsítě, kde VPN poběží
# Ip adresa serveru bude 10.8.0.1. Zbytek čísel je rezervováno pro kliety
# Zakomentujte tuto řádku v případě, že používáte bridgování
server 10.8.0.0 255.255.255.0
# V tomto souboru je udržován záznam klientů a jejich
# virtuálnách IP adres. Jestliže OpenVpn spojení je přerušeno
# nebo je restartováno, klienti, kteří se znovu připojí mohou z tohoto souboru
# dostat tu samou virtuální IP adresu jako při posledním spojení.
ifconfig-pool-persist ipp.txt
# Nastavení serveru v případě bridgování.
# Po úspěšném vytvoření bridgovaného spojení musíte ručně
# přiřadit IP/síťovou masku v rozhraní bridge. Zde předpokládáme
# že toto je nastaveno na 10.8.0.4/255.255.255.0.
# Nakonec musíme nastavit vedlejší rozsah IP adres v této podsíti pro
# připojované klienty
# (začíná=10.8.0.50 končí=10.8.0.100)
# Nechte tuto řádku zakomentovanou, pokud nepoužíváte bridgované spojení
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
# Nahrajem klietovi potřebné routy k spřístupnění dalších podsítí
# pod serverem klientovi
# the server.
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
# Aby specifický klient dostal specifickou IP adresu,
# nebo když klient má pod sebou další privátní síť,
# která by taktéž měla mít přístup k VPN spojení, použijeme
# podadresář "ccd" pro specifickou konfiguraci klienta
# Příklad: Predpokládáme, že klient má certifikát se jménem "hustovlas"
# Dále pak, že je součástí další sítě, která se připojuje přez něj.
# např. 192.168.40.128/255.255.255.248
# Zaprvé odkomentujte tyto dva řádky
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
# Nyní vytvořte souvbor /ccd/hustovlas, který bude obsahovat
# následující řádku
# iroute 192.168.40.128 255.255.255.248
# Toto umožní hustovlasově privátní síti mít přístup na VPN spojení
# Tento příklad funguje pouze pokud používáte routování a ne bridgování.
# Tj. dev tun přepínač a server přepínač
# Příklad: Předpokládáme, že chcete hustovlasovi dát pevně zvolenou IP adresu
# z 10.9.0.1
# Nejprve odkometujte tyto dva řádky
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
# Poté přidejte so souboru /ccd/hustovlas tento řádek
# ifconfig-push 10.9.0.1 10.9.0.2
# Předpokládejme, že chcete umožnit různá firewallová přístopvá
# práva pro různé skupiny klientů. Máme Dvě možnosti :
# (1) Spustit vícero OpenVPn programů, každý pro vlastní skupinu
# s vlastním konfiguračním souborem
# (2) Vytvoříme si skript, který dynamicky modifikuje firewall v závislosti
# na odpovědích od klientů
;learn-address ./script
# V případě povolení tohoto přepínače, všichni připojení klienti budou
# mít jejich defaultí síťovou bránu přesměrovanou skrze VPN, což bude mít
# za následek, že všechen IP provoz, jako je třeba www provoz a hledání DNS
# bude chodit skrze VPN spojení. V tom případě musí pak mít server nasteven NAT
# pro TUN/TAN rozhraní, aby toto fungovalo.
# Varování: Může porušit klientovo síťové nastavení, jestliže pakety z klienotova
# DHCP servru jsou routovány skrze VPN
# Řešení: ujistěte se, že klietův lokální DHCP server je dostupný skrze jinou routu
# než jen přes defaultní 0.0.0.0/0.0.0.0
;push "redirect-gateway"
# Určité speciální Windows síťová nastavení mohou být klietovi také poslána,
# jako třeba DNS nebo WINS adresy serverů
# Varování: Zde se projevuje chyba Windows produktů. V případě, že změníte Remote Access connections
# tak, že bude na začatku definovaných spojení, pak je očekáváno, že Vaše síťová utilita
# (třeba NSLookup), použije jako defaultní DNS server ten , který je spojen se síťovým zařízením,
# které je nejvýše položeno v definovaných síťových spojení. Boužel se toto ale nestane.
# Proto Windows klienti by jako neměli použít DNS server skrze VPN spojení, jesltiže defaultní
# brána je nastavena na remote connection
# viz. http://support.microsoft.com/default.aspx?scid=kb;en-us;311218&Product=winxp
;push "dhcp-option DNS 10.8.0.1"
;push "dhcp-option WINS 10.8.0.1"
# Odkomentujte tento přepínač, jestliže chcete dovolit
# jednotlivám klientům, aby se viděli navzájem
;client-to-client
# Odkomentujte tento přepínač, jestliže více klientů
# se může připojit se stejným párem certifikát/klíč nebo
# Tato volba je doporučována jen pro testovací účely.
# V ostrém provozu tuto položku nechte vždy zakomentovanou
;duplicate-cn
# Tento přepínač slouží k ověřování, že druhá strana stále reaguje
# První parametr znamená, že každých 10 sekund je vyslán ping protistraně
# Druhý parametr znamená, že když neobržíme do 120 sekunf odpověď, je
# spojení přerušeno nebo se klient odpojil
keepalive 10 120
# Pro extra bezpečnost při spojení nad rámec SSL/TLS spojení,
# použijte "HMAC firewall" k zabránění DoS útokům a UDP port floodingu
#
# pomocí následujícího příkazu vygenerujte statický klíč
# openvpn --genkey --secret ta.key
#
# Server i klienti musejí pak tento klíč obsahovat
# Druhý parametr tohoto přepínače by měl být "0" na serveru
# a 1 u klientů
;tls-auth ta.key 0 # # Tento soubor by měl být uchován v tajnosti
# Vyberte si kryptografické šifrování
# Toto pak musí být též skopírováno do klientova konfiguračního souboru
;cipher BF-CBC # Blowfish (default)
;cipher AES-128-CBC # AES
;cipher DES-EDE3-CBC # Triple-DES
# Zapína kompresi při přenosu skrze VPN
# Toto pak musí být též skopírováno do klientova konfiguračního souboru
comp-lzo
# Maximální množství klientů, kteří se mohou zároveň připojit. Omezeno jen
# hardwerem, kde běží server.
;max-clients 100
# Je dobrá volba zredukovat přístupová práva OpenVpn programu po spuštění
#
# Na windows platformě můžete nechat zakomentováno
;user nobody
;group nobody
# Tato volba se pokusí zabránit přístupu ke zdrojům po
# restartu, které už nemusí být přístupny díky změně přístupových práv
persist-key
persist-tun
# Výstupní soubor, kam se zapisuje status daného spojení
# Přepsán každou minutu spojení
status openvpn-status.log
# Nastavení jinhé logovacího souboru. První příkaz po restartu
# starý přepíše, druhý ke starému přidá nové věci. Lze použít jen
# jeden z nich zároveň
# Pozn: Defaultní adr, kam se ukládá log je v Linuxu syslog
# ve Windows je to \Program Files\OpenVPN\log
;log openvpn.log
;log-append openvpn.log
# Nastavení množství zapisovaných hlášení
#
# 0 je ticho, kromě fatálních chyb
# 4 se používá pro obecné informace
# 5 a 6 může pomoct při hledání síťovýh problémů při spojení
# 9 vypisuje úplně vše
verb 4
# Nebude zapisovat opakující se zprávy, číslo udává
# počet opakování těchtoi zpráv
;mute 20
#############################################
#  Příklad konfiguračního souboru klienta
#  při spojení k serveru, který umožňujě
#  spojení vícero klientů
#############################################
# Specifikujeme, že jsme klient,
# a že budeme přijímat určitá
# nastavení od serveru
client
# Použijte to samé nastavení jako u serveru
;dev tap
dev tun
# Windows, v případě vícero TUN/TAP zařízení,
# potřebuje,aby každé mělo unikátní název.
# Na systému XP SP2 je pak nutno
# povolit TAP zařízení na integrovaném firewallu
;dev-node MyTap
# Připojujete se k TCP nebo UDP serveru
# - nutno použít stejné nastavení jak na serveru
;proto tcp
proto udp
# Hostname/Ip serveru a port, ke kterému se připojujeme
# Můžeme mít více hodnot, v případě, že je více serverů
# Pomůže zlepšit výkon v případě přetížení serveru.
remote my-server-1 1194
;remote my-server-2 1194
# Vyberte si náhodně server ze seznamu
# serverů pro vyrovnání záteže. Nebo
# zkuste jména servrů v daném pořadí
;remote-random
# Stále se bude snažit získat Hostname
# OpenVPN serveru. Užitečné na strojích,
# kterí nejsou natrvalo připojené k internetu,
# jako například notebooky
resolv-retry infinite
# Klienti se většinou nemusí vázat
# na specifický lokální port
nobind
# Snižte přístupová práva po inicializaci
# Jen pro non-Windows systémy
;user nobody
;group nobody
# Pokusí se uchovat specifikcá nastavení po restartu
persist-key
persist-tun
# Jestliže se připojujete skrze HTTP proxy
# k OpenVpn servru, zde umístěte
# IP a port proxy serveru
;http-proxy-retry # Po přerušení spojení se znovu pokusíme připojit
;http-proxy [proxy server] [proxy port #]
# Bezdrátové sítě často produkují mnoho
# duplikujících se paketů.
# Nastavte tento přepínač na potlačení varování
# při opakování paketů
;mute-replay-warnings
# SSL/TLS parametry
ca sample-keys/tmp-ca.crt
cert sample-keys/client.crt
key sample-keys/client.key
# Ověříme certifikát serveru tak, že
# jeho certifikát musí mít nsCertType pole
# nastaveno na položku server.Toto je
# důležité bezpečnostní opatření k ochraně
# proti potencionálním útokům.
#
# Pro použití této volby, potřebujete
# vygenerovat Váš certifikát serveru
# s polem nsCertType nastaveným na hodnotu
# server.
# Návod na generování potřebného certifikátu
;ns-cert-type server
# Jestliže tls-auth klíč je použit na straně serveru,
# pak i klient tento klíč musí obsahovat.
;tls-auth ta.key 1
# Vyberem kryptografickou šifru
# Jestliže tato volba je specifikována na serveru,
# musí být specifikována i zde (musí být stejná hodnota)
;cipher x
# Povolíme kompresi během přenosu
# Musí být opět nejdříve také povolena na straně serveru
comp-lzo
# Nastavíme úroveň vypisování logu
verb 4
# Nechceme, aby se nám opakující se zprávy
# znovu vypisovali. Číslo značí počet opakování.
;mute 20

