OpenVPN asi neroutuje
Zdravím, mám trochu problém s OpenVPN. Jeden PC je v Brně - na něm běží server a druhý je v Praze a z něj se připojuji právě na ten server. Problém je takový, že VPN se mi po portu 1194 normálně spojí, ale co je strašně divný je to, že si nepingnu na IP adresu VPN serveru, která je 10.10.1.1, ale přitom se na něj z klienta připojím? Tady jsou konfiguráky:
Server:
# server
mode server
# tls jako server
tls-server
# nastavi zarizeni
dev tap0
# port, 1194 = default
port 1194
# protokol, tcp/udp
proto tcp-server
# adresa serveru
ifconfig 10.10.1.1 255.255.255.0
push "route 10.0.0.0 255.255.255.0"
push "route-gateway 10.10.1.1"
# rozsah adres pro klienty
ifconfig-pool 10.10.1.20 10.10.1.100 255.255.255.0
# soucasne prihlaseni vice klientu
duplicate-cn
client-to-client
keepalive 10 120
# certifikat certifikacni autority
ca "C:\\Program Files (x86)\\OpenVPN\\easy-rsa\\keys\\ca.crt"
# certifikat serveru
cert "C:\\Program Files (x86)\\OpenVPN\\easy-rsa\\keys\\server.crt"
# klic serveru
key "C:\\Program Files (x86)\\OpenVPN\\easy-rsa\\keys\\server.key"
# parametry pro Diffie-Hellman protokol
dh "C:\\Program Files (x86)\\OpenVPN\\easy-rsa\\keys\\dh1024.pem"
# komprese prenasenych dat
comp-lzo
route-method exe
route-delay 2
# logy serveru
#log-append openvpn.log
Klient:
# rezim client
client
# definujeme rozhrani TAP (stejne jako na serveru)
dev tap
# definujeme protokol
proto tcp
# Zde zadejte adresu sveho serveru
remote 92.163.181.32 1194
# Pokud mate Dial-up, tohle je velmi dobry parametr :-)
resolv-retry infinite
# definujeme, ze neni treba navazat se k specifickemu lokalnimu portu
nobind
pull
# Pro ne-Windows klienty muzete snizit po pripojeni privilegia
;user nobody
;group nobody
# Try to preserve some state across restarts.
persist-key
persist-tun
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]
# bezdratove site velmi casto opakuji nektere pakety. Workaround.
mute-replay-warnings
# SSL/TLS nastaveni. certifikat serveru/autority a certifikat a klic klienta
ca "C:\\Program Files (x86)\\OpenVPN\\config\\keys\\Firma\\ca.crt"
cert "C:\\Program Files (x86)\\OpenVPN\\config\\keys\\Firma\\uzivatel.crt"
key "C:\\Program Files (x86)\\OpenVPN\\config\\keys\\Firma\\uzivatel.key"
ns-cert-type server
# TLS autentikace na strane klienta
#tls-auth "C:\\Program Files (x86)\\OpenVPN\\config\\keys\\Firma\\ta.key" 1
route-method exe
route-delay 2
# Komprese datoveho toku
comp-lzo
# Mira ukecanosti logu
verb 3
Síť, kde je server má rozsah 10.0.0.0, přičemž adresa PC kde běží VPN server je 10.0.0.50 (10.10.1.1 je adresa VPN serveru). V modemu mám nastavenou statickou routu:
Destination: 10.10.1.0
Gateway: 10.0.0.50
MASK: 255.255.255.0
V síti serveru, kam si ani nepingnu po připojení tou VPN je modem ZyXel P-661H-D3. Vím, že některé ZyXely zahazují pakety, takže v tom PC jsem na pevnou přidal routu ve tvaru route -p add 10.10.1.0 MASK 255.255.255.0 10.0.0.50
Poradíte někdo prosím? Díky moc. Nepomohlo ani vypnutí FW v modemu ani Windows. Operační systém kde běží server jsou Visty bohužel a klient XP. Změna IPEnable router v registrech provedena na 1.
Aby mohla Open VPN routovat, potrebuje administratorska prava na nastaveni routy.
Mas 2 moznosti:
1. nastavit trvalou routu manualne (prikaz Route, spusteny pod adminem)
2. spoustet OpenVPN jako sluzbu. Pak bude mit pravo nastavit routovani
Najprv by bolo dobre ujasnit si rozdiel medzi tun/tap.
i TAP se dá použít pro routování, naopak já jej vidím jako v mnoha případech lepší a účelnější.
Napriklad?
A wokna mimochodem tusim TUN napriklad neumi vubec.
Ale umi
Taky pouzivam vyhradne TAP. Zrejme ze stejneho duvodu, proc nesnasim CISCO VPN, ta mi totiz neni schopna vytvorit virtualni Interface a na nem IP adresu. Vse se resi az v pravidlech firewallu pri vystupu na vnejsi rozhrani a je to hrozna prasarna.
Ja jsem rad, ze mam normalni rozhrani s normalni adresou a normalni maskou, na kterem muzu cokoli nastavavat a aplikovat jako na obycejnou sitovku.
Vidis ja vyhradne pouzivam tun, pretoze ked som s openvpn zacinal siel som podla manualu a kedze som chcel routovat pouzil som tun a odvtedy ho davam vsade.
Tap neroutujes na urovni OpenVPN, ale normalne na urovni operacniho systemu.
přesně. Tohle je IMHO to nejzásadnější. I když přenos už na úrovni ethernet rámců je trochu náročnější na pásmo, tak výhody zásadně převažují.
Inak pokial sa pripojis a nepingnes server na jeho vpn adrese na vine je na 100% firewall.
Firewall v modemu i PC jsem vypínal a to vůbec nepomohlo, nějaký jiný tip? Díky..
1. mně tedy přijde hodně nebezpečné klientům povolit komunikovat mimo VPN (chybějící direktiva push "redirect-gateway") - tím se řádově snižuje zabezpečení celé sítě
2. IMHO může být problém v routovací tabulce OVPN serveru - můžeš ji sem hodit? Jsou to Windows, ty se musí kontrolovat. Ideálně by bylo dobré hodit sem i routovací tabulku připojeného klienta
Určitě to sem hodím jakmile se tam zas dostanu, to bude hned po neděli..
Zdravím, zasílám slíbenou routovací tabulku serveru a klienta. Poznáte z toho už někdo v čem mám problém? Díky moc.
Server: http://svetobrazku.cz/upload/images/bwy1332793155w .jpg
Klient: http://svetobrazku.cz/upload/images/bwy1332793239h .jpg
co to tam maš na serveru za přesmyčku? Proč je tam ta statická routa pro 10.10.1.0/24? Vždyť ji tam máš dvakrát.
Jojo máš pravdu, to jsem jen něco zkoušel, už jsem to dal pryč a stejně to nefunguje. Takže te´d už tam je ta routa jen jednou. Z trvalých jsem jí smazal ručně...
Hlavně je mi dost divný, že si nepingnu ani na modem ani na VPN server ke kterému se připojím klientem. Když vypnu FW v modemu i voknech přímo ve službách tak to taky nepomůže, je to prostě záhada....
když připojíš VPN z klienta, a dáš ping 10.10.1.1 .. vylistuj ARP tabulku a postni to sem:
prikaz:
arp -a
Tady je:
http://svetobrazku.cz/upload/images/bfi1332797617x .jpg
Tak, VPN ti zjevně funguje, protože obě virtuální zařízení se na linkové vrstvě (L2) vidí:
Zkus povypínat firewally (striktně) na klientovi i na serveru, ping by měl projít. Případně pomocí nástroje jako wireshark odchytat komunikaci na virtuálních síťovkách (při tom pingu), tam bys měl na 100% vidět příchozí pakety od klienta (i když na to server nijak nereaguje a zahazuje je).
Proč ti neroutují windows (na serveru), to už je druhá věc. Windows teda primárně nejsou určené jako router a místy jsou ze síťového hlediska udělané naprosto prasácky.
Jojo dneska to vyzkouším a dám vědět. Jak ale říkám, je to vážně záhada, protože s touhle konfigurací už používám OpenVPN X let a nikdy žádný problém. Nechápu, jak je možný, že si nepingnu na VPN server na kterej jsem připojenej. V konfiguraci je evidentně všechno dobře a stejně to nechodí. Ještě tam dnes zkusím vyměnit modem a znovu ho nakonfigurovat včetně nastavení static route a dám vědět, Každopádně díky..
Na server (10.10.1.1) nepingnes, protoze jedna nebo druha strana to pres firewall nepusti. Pokud by to bylo neprostupne (vina routru nebo cehokoli po ceste), tak neuvidis ani MAC adresu sitovky serveru (v tom VPN tunelu).
prasárna, prasárna, prasárna!!!
1. Proč tam máš tak divné metriky?
2. Proč má routa do VPN přes výchozí bránu lepší metriku (21) než přímá cesta bránou od VPN (286)?
edit: totéž platí pro tabulku klienta - špatné metriky, zbytečné a násobné definice cesty do totožné sítě.
A jakým stylem to mám teda přenastavit na straně klienta i serveru? Já jsem s tou routovací tabulkou nic nedělal. Jediné co jsem udělal co se týče routovacích tabulek je to, že jsem na straně klienta dal trvalou routu:
route -p add 10.10.1.0 MASK 255.255.255.0 10.0.0.50
Na straně serveru je sice v tom obrázku ale jinak tam už není, dal jsem jí delete...
v prvním kroku bys měl udělat push "redirect-gateway" - tím donutíš veškerou komunikaci klienta jít přes VPN tunel - a tím otestuješ, že to je opravdu problém routování (což si myslím, že je). Mimochodem toto je tzv. best practise, protože v případě, že necháš klienta komunikovat napřímo, tak vytváříš do sítě další vstupní bod, potenciálně nebezpečný. A toto jde vyloženě proti smyslu VPN sítí, které mají reprezentovat bezpečné a zabezpečené prostředí s jasně definovanými parametry.
OK, takže do konfiguračního souboru klienta přidám jen příkaz push redirect-gateway ? Nebo i do serveru?
ne, to se dává do konfigurace serveru. tím server "natlačí" klientům novou směrovací tabulku s vlastní výchozí branou.
Udělám to, díky moc.
Podla mna sa jedna asi o rovnaky problem ako som svojho casu riesil tu.
http://pc.poradna.net/q/view/613310-openvpn-routov acia-zahada