Portál AbcLinuxu, 25. dubna 2024 23:58


Dotaz: Multisite openvpn

7.10.2008 17:48 pupala | skóre: 21
Multisite openvpn
Přečteno: 1002×
Odpovědět | Admin
Ahojte Potrebujem prepojiť VPN-kou 5 lokálnych sietí tak, aby sa stanice v jednotlivých sieťach vzájomne videli.
Skúšam to urobiť pomocou Openvpn a routovania, ale nedarí sa mi. Používam verziu klient-server, nakoľko nechcem vyrábať jednotlivé tunely
pre každú sieť, nakoľko počet pripojených LAN sietí môže stúpať.
Mám pokusnú sieť, na ktorej mi však nefunguje openvpn.
sieť A - router WAN 10.0.1.0/24, LAN 192.168.1.1/24
sieť B - router WAN 10.0.2.0/24, LAN 192.168.2.1/24
sieť C - router WAN 10.0.3.0/24, LAN 192.168.3.1/24
Na A routri je openvpn server
proto udp
dev tun
port 1194
verb 3
comp-lzo
keepalive 10 30
daemon
status openvpn.status
log-append openvpn.log
mode server
server 10.0.10.0 255.255.255.0
ca ca.crt
cert sgw.crt
key sgw.key
dh sgw.pem
persist-key
persist-tun
local 10.0.1.2
client-to-client
client-config-dir ccd
;push "redirect-gateway"

na B routri klient

proto udp
dev tun
local 10.0.2.2
port 1194
verb 3
comp-lzo
keepalive 10 30
daemon
status openvpn.status
log-append openvpn.log
ca ca.crt
cert h1-gw.crt
key h1-gw.key
dh h1-gw.pem
persist-key
persist-tun
client
remote 10.0.1.2

a na C dtto

proto udp
dev tun
local 10.0.3.2
port 1194
verb 3
comp-lzo
keepalive 10 30
daemon
status openvpn.status
log-append openvpn.log
ca ca.crt
cert h2-gw.crt
key h2-gw.key
dh h2-gw.pem
persist-key
persist-tun
client
remote 10.0.1.2

Routovanie do podsietí pridávam ručne na každej gw zatiaľ, ale nefunguje.
Napr. na routri siete C do siete A "route add -net 192.168.1.0 netmask 255.255.255.0 dev tun1
na routri siete C do siete B "route add -net 192.168.2.0 netmask 255.255.255.0 dev tun1, táto routa by mala viesť cez openvpn server
Tun1 je iface p-t-p po openvpn server.
Nefunguje. Čo mám zle? Na všetkých routroch mám len jedno eth rozhranie, všade sú aliasy. Nebude chyba v tom?
Je pre mňa nevyhnutné, aby klient z hociktorej LAN videl do každej LAN, ale v reále budú mať routre 2 fyzické rozhrania.
Je táto moja predstava vôbec realizovateľná prostredníctvom openvpn ?
Ďakujem.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.10.2008 22:16 tezkatlipoka | skóre: 35
Rozbalit Rozbalit vše Re: Multisite openvpn
Odpovědět | | Sbalit | Link | Blokovat | Admin
A samotna openvpn ti chodi? Je mi divne proc mas za directivou local jinou adresu nez ma ten server. Proc ji mas ji u klienta, kde samozrejme openvpn neposloucha. Proc mas dh klice i u klienta? Jde ti ping z klienta na server VPN, a dostane klient vporadku adresu od VPN serveru?
Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
8.10.2008 11:05 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Multisite openvpn
Ahoj. Adresa local 10.0.1.2 je IP iface na ktorom beží openvpn server vo WAN sieti 10.0.1.0/24.
U klientov vznikla korírovaním konfiguráku, ale nemá vplyv na výsledok. DH detto.
Ping na server ide v poriadku z každého klienta.
Adresu klient dostane, ale nie tú, ktorú má predpísanú v ccd pre klienta cez ipconfig-push.
Pri spustení skriptu openvpn sa mi binárka nalinkuje do /tmp na myvpn, vygeneruje sa mi config a aj adresar ccd s obsahom v /tmp.
Toto mám tak pre potreby pokusov, ale to by nemalo byť príčinou, že klient adresu nedostane cez ipconfig-push.
8.10.2008 10:42 puk
Rozbalit Rozbalit vše Re: Multisite openvpn
Odpovědět | | Sbalit | Link | Blokovat | Admin
Muzes sem hodit vypis routovaci tabulky a pridelenych adres neco jako 'ip route show', 'ip addr show'?

A z toho co pises - nepomohl by v prikazu route parametr 'gw'?

Co ti vsechno funguje? Spojeni A-B a A-C je v poradku?
8.10.2008 11:39 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Multisite openvpn
Ahoj
Výpis routovania na strojoch prihodím, ak budem opäť pri nich. A ktorý koniec tunela je gw?
Už som skúšal aj to, len možno nie vo všetkých kombináciách. Určite ste si všimli, že aj WAN rozhrania jednotliných routerov
sú v rôznych sieťach.Medzi tými troma sieťami je ešte jeden router, aby to vyzeralo, ako skutočný internet.
Ten má IP 192.168.200.4 zo siete v ktorej je, a takisto má naaliasované IP-čky pre jednotlivé siete,
v ktorých sú server a klienti openvpn, t.j. eth0:1 10.0.1.1/24, eth0:2 10.0.2.1/24, eth0:3 10.0.3.1/24.
Následne majú routre WAN IP-čky: A - eth0 10.0.1.2/24, B - eth0 10.0.2.2/24, C eth0 10.0.3.2/24.
A teraz:
následkom takejto konfigurácie vidím v logu servera, že sa síce spojil s h1-gw, ale vidím IP adresu 192.168.200.4 t.j. toho routra.
Preto som sa pýtal, či to aliasovanie nerobí problém, lebo tak isto mám aj na routroch sití A, B a C
WAN a LAN IP-čky naaliasované.
Skúšam to na 7 ks mini-ITX strojoch a všetky majú len 1 eth rozhranie.

Ďakujem
8.10.2008 12:13 puk
Rozbalit Rozbalit vše Re: Multisite openvpn
Kazdy z uzlu A, B, C musi vedet, co ma delat s odesilanym paketem. Existuji dve moznosti - bud paket miri do lokalni site a potom jen existuje zaznam v routovaci tabulce, ze jde o lokalni routu a pomoci ARPu se dohleda, komu ten paket poslat. Druha moznost je, ze paket miri do jine site, potom potrebuje router vedet adresu dalsiho hosta, kam ma paket poslat. A tu adresu mu reknes pomoci toho parametru gw. Prijde mi, ze ti to u toho routovani do tunelu chybi.

Az se dostanes k tem strojum, tak zkus nejdriv proverit, ze ti mezi nimi prochazi ping, tj. A z 10.0.1.2 vidi 10.0.1.1, 10.0.2.1 10.0.2.2 a podobne i z ostatnich. Potom si zkontroluje, ze ti chodi vpn A-B, A-C a potom res B-C. Pro kontrolu pouzij i tcpdump, protoze se muze stat, ze zjistis, ze nektery z tech ping-u prijde se spatnou zdrojovou IP adresou.

Casto se stava, ze kdyz zkousis podobne zapojeni primo ze serveru, nez pocitace ve vnitrni siti, ze je spatne zdrojova IP adresa. Pres prikaz ip muzes k zaznamum v routovaci tabulce priradit zdrojovou IP adresu (parametr src). Nevim jak to udelat pres route.
8.10.2008 16:11 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Multisite openvpn
potom potrebuje router vedet adresu dalsiho hosta, kam ma paket poslat. A tu adresu mu reknes pomoci toho parametru gw.
Prijde mi, ze ti to u toho routovani do tunelu chybi
Viem čo je brána a jej funkcia, ale som sa akurát pýtal, ktorý koniec tunelu je gw? Lokálny, alebo vzdialený.
V rámci sietí WAN:LAN 10.0.1.0/24:192.168.1.0/24, 10.0.2.0/24:192.168.2.0/24, 10.0.3.0/24:192.168.1.0/24 sa vidí všetko so všetkým.
Idem vyhrabať routovanie.
8.10.2008 16:50 svaca | skóre: 38
Rozbalit Rozbalit vše Re: Multisite openvpn
No muzes to udelat takto:

sit A server:

oot@router:~# cat /etc/openvpn/server-road.conf 
mode server
tls-server
keepalive 10 60
dev tun0
port 1194
local 1.2.1.2
server 10.10.0.0 255.255.0.0
ifconfig-pool-persist /etc/openvpn/ipp.txt
dh dh1024.pem
ca ca.crt
cert server.crt
key server.key
push "route 192.168.1.0 255.255.255.0" # Server (sit A)
route-up "route delete -net 10.10.0.0/16"
route-up "route add -net 10.10.0.0/16 tun0"
client-config-dir ccd # k tomuto pozdeji dole
route 192.168.2.0 255.255.255.0 # Sit B
route 192.168.3.0 255.255.255.0 # Sit C
client-to-client # Zajisti aby se videlo vse mezi sebou
persist-key
persist-tun
verb 3

takze ted mame nastavenou VPN sit (10.10.0.0 - a staci jedna) a mame pripraveny routy do druhych siti a ted ty klienti budou vypadat takto:

Sit B:


root@nat:~# cat /etc/openvpn/client-road.conf 
port 1194
dev tun
mssfix 1500
remote 1.2.1.2 1194
tls-client
ns-cert-type server
ca ca.crt
cert sitb.crt
key sitb.key
persist-key
persist-tun
pull
verb 3

dulezite je to pull to se vezme ty routy se serveru a ted uz je to skoro hotovy a aby se dostali i klienti za natem do te site B je potreba do /etc/openvpn/ccd na SERVERU (viz ten config severu) dat soubor (ktery se bude jmenovat jako ten klient certifikat (tedy v nasem pripade sitb.key), tedy: sitb

takze:

touch /etc/openvpn/ccd/sitb
a dej do nej:
 
iroute 192.168.2.0 255.255.255.0 # sitb
to same bude pro sit c, d,e :-)
Never give up ! Stay ATARI !
8.10.2008 18:58 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Multisite openvpn
U mňa je to skoro tak:

Router A - openvpn server

ls -l /tmp
celkom 208
-rw-r--r-- 1 root root   4063 2008-10-08 16:27 black-gamer-sgw.crt
-rw------- 1 root root    887 2008-10-08 16:27 black-gamer-sgw.key
-rw-r--r-- 1 root root    245 2008-10-08 16:27 black-gamer-sgw.pem
-rw-r--r-- 1 root root   1354 2008-10-08 16:27 ca.crt
drwxr-xr-x 2 root root   4096 2008-10-08 16:27 ccd
lrwxrwxrwx 1 root root     17 2008-10-08 16:27 myvpn -> /usr/sbin/openvpn
-rw------- 1 root root 176932 2008-10-08 17:01 openvpn.log
-rw------- 1 root root    525 2008-10-08 17:01 openvpn.status
-rw-r--r-- 1 root root    439 2008-10-08 16:27 server.conf

ls -l /tmp/ccd
celkom 8
-rw-r--r-- 1 root root 70 2008-10-08 16:27 h1-gw
-rw-r--r-- 1 root root 72 2008-10-08 16:27 h2-gw

less /tmp/server.conf
proto udp
dev tun
port 1194
verb 6
comp-lzo
keepalive       10      30
daemon
status          openvpn.status
log-append      openvpn.log
mode    server
server  10.0.10.0       255.255.255.0
ca      ca.crt
cert    sgw.crt
key     sgw.key
dh      sgw.pem
persist-key
persist-tun
local 10.0.1.2
client-to-client
client-config-dir ccd
;push "redirect-gateway"
;ifconfig-pool-persist /etc/openvpn/ipp.txt
push route 192.168.1.0 255.255.255.0

less /tmp/ccd/h1-gw
ifconfig-push 10.0.10.2 10.0.10.1
iroute 192.168.2.0 255.255.255.0

Router B - openvpn client

less /tmp/local.conf
proto udp
dev tun
;local 10.0.2.2
port 1194
verb 9
comp-lzo
keepalive       10      30
daemon
status          openvpn.status
log-append      openvpn.log
ca      ca.crt
cert    h1-gw.crt
key     h1-gw.key
;dh     h1-gw.pem
persist-key
persist-tun
client
remote 10.0.1.2
;route 192.168.2.0 255.255.255.0
pull

O čo sú moje konfigurácie rozdielne?
ifconfig-pool-persist som zamietol, nakoľko som použil ifconfig-push v ccd pre príslušného klienta.
Lenže pro výpise ifconfig mi ukáže iné adresy, ako som mu zadal cez ifconfig-push, ako by ho nenačítal. A ani routy cez iroute.
Som z toho pako. Tiež si myslím, že by to malo fungovať, ale nefunguje. A ešte raz sa opýtam. Ktorý koniec tunela treba použiť ako gateway?
Local, alebo remote? Vždy som žil v tom, že pri p-t-p spojení stačí zápis vo forme "route add -net x.x.x.x. netmask y.y.y.y dev tunX
8.10.2008 21:56 svaca | skóre: 38
Rozbalit Rozbalit vše Re: Multisite openvpn
No koukam, ze hlavni rozdil vidim v tom, ze na server.conf nemate directivu route na ty site b a c (pouza na a) Zadnou gateway pouzivat nemusite, proste jen se nahodi prislusne routy k tem sitim (ktere jsou schovane za tou VPN siti 10.10.0.0 v mem pripade ) a pak to na tom klientovi vypada treba takto:
root@nat:~# ip route
10.10.0.5 dev tun0  proto kernel  scope link  src 10.10.0.6 
80.188.227.16/29 dev eth1  proto kernel  scope link  src 80.188.227.18 
192.168.4.0/24 via 10.10.0.5 dev tun0 
192.168.3.0/24 via 10.10.0.5 dev tun0 
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.1 
10.10.0.0/16 via 10.10.0.5 dev tun0 
127.0.0.0/8 dev lo  scope link 
default via 80.188.227.17 dev eth1 
Vidite,ze ty routy do site 4.0 a 3.0 muzete nahazet rucne, napr:
ip route add 192.168.3.0/24 via 10.10.0.5 
Never give up ! Stay ATARI !
8.10.2008 23:34 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Multisite openvpn
A ako vyzerá routing na openvpn klientoch ?
8.10.2008 21:39 kraken
Rozbalit Rozbalit vše Re: Multisite openvpn
Cus

>> Viem čo je brána a jej funkcia

Ako je potom mozne, ze ak viete co je brana a jej funkcia, tak Vam to nekomunikuje?

Hint: VPN koncentrator ?
8.10.2008 22:39 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Multisite openvpn
Ako je potom mozne, ze ak viete co je brana a jej funkcia, tak Vam to nekomunikuje?
Pretože sa také veci stávajú. Možno, že to skutočne neviem, možno mi to nemyslí, možno len nevidím hlúpu chybu v konfiguráku, ale určite sedím pri openvpn takto vážne t.j. v takom rozsahu prvý raz, a tuneloval som doeraz len s ipip a openvpn sa len učím.
Hint: VPN koncentrator ?
A čo si chcel týmto naznačiť?
9.10.2008 17:42 kraken
Rozbalit Rozbalit vše Re: Multisite openvpn
>> A čo si chcel týmto naznačiť?

Zatial si netykame mlady muzi... nenaznacil som nic. Ak to neni jasne v tomto bode, tak potom nema vyznam dalej
9.10.2008 18:20 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Multisite openvpn
Prepáčte mladý pán Asi z nejakej inej konfery mám tykanie pod kožou, za čo sa Vám úprimne ospravedlňujem. A za moje vyjadrenie na Vašu reakciu: viem, že sa jedná o VPN koncentrátor, ale v skutočnosti mi bolo jedno ako sa to volá, dôležité hlavne bolo, že som vedel čo chcem dosiahnuť, čím to chcem dosiahnuť,ale nevedel ako. A toto by bolo rovnako dôležité, či by sa tá vec volala VPN koncentrátor, alebo pendolino. A ak ste mi ponúkli VPN koncentrátor, tak som sa pravdepodobne vyjadril zrozumiteľne a pochopiteľne.
A ak Vám to neprekáža, mne môžete tykať.
8.10.2008 19:14 Haaja | skóre: 25 | blog: haaja | Praha
Rozbalit Rozbalit vše Re: Multisite openvpn
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jen pro jistotu, kdyz zadate: cat /proc/sys/net/ipv4/ip_forward vypise vam to 1?
Osobní blog
8.10.2008 20:01 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Multisite openvpn
Toto bolo príjemné odreagovanie ;-) . Áno všetky routre majú routovanie zapnuté.
8.10.2008 22:05 svaca | skóre: 38
Rozbalit Rozbalit vše Re: Multisite openvpn
A co firewall ? Mas povoleny forwarding na ty tun zarizeni ?
Never give up ! Stay ATARI !
8.10.2008 23:10 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Multisite openvpn
Všade všetky chain-y prázdne, default policy všade accept, žiadny vychytený firewall. Len base-install debian lenny + openvpn + iptables + iproute + všetky závislosti. Keďže mi to nejde s ifconfig-push voľbou v ccd súboroch a klienti kašlú na IP-čky, čo som im v ccd súboroch nachystal, evidentne je niekde v mojom konfiguráku chyba, alebo example server.conf je už postarší a celkom nezodpovedá aktuálnej verzii. Ale keďže sa už neviem sústrediť, idem ešte skúsiť tvoj námet s ifconfig-pool-persist a potom už na to dnes se..em na to. Už sa to snažím spojazdniť od pondelku, takže to ešte chvíľu vydrží ;-) .
9.10.2008 16:32 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Multisite openvpn
Vyriešené.
Chyba v ccd subore klienta v direktíve ifconfig-push. Prvá IP je lokálna adresa tunela klienta a druhá IP je lokálna adresa tunela servera, a nie remote adresa tunela klienta, ako som to mal zafixované blbo ja.
Ale lokálna adresa tunela klienta musí byť 3. IP zo siete /30.
1. IP zo siete /30 je network adresa
2. IP zo siete /30 je remote koniec tunela klienta (štandardne nepingateľný )
3. IP zo siete /30 je local konie tunela klienta t.j. to, čo musí byť prvá IP adresa za ifconfig-push
4. IP zo siete /30 je broadcast adresa
Remote konce tunelov končia nie na sieťovom rozhraní ďalšieho počítača,
ale vlastne v akomsi routovacom subsystéme openvpn.
A ešte niečo neviem. Neviem thread označiť za vyriešený, aj keď je pre mňa vyriešený bezo zvyšku.
K routovanému openvpn nemám zatiaľ ďalšie otázky :-).
9.10.2008 16:34 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Multisite openvpn
A ďakujem všetkým reagujúcim.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.