Portál AbcLinuxu, 6. května 2025 14:20

Dotaz: Nastavení route v OpenVPN

6.6.2007 22:22 PavelC
Nastavení route v OpenVPN
Přečteno: 16366×
Odpovědět | Admin
Vím, že se to tady již 100x řešilo, ale bohužel po třech dnech nastavování OpenVPN se nemohu dobrat řešení. Mám lokální síť (192.168.200.0) za routerem (Mikrotik). V této síti je OpenVPN server openSuSE 10.1 (192.168.200.108). Z domu (Win XP) přistupuji na tento server přes Internet z lokální adresy 192.168.2.4 (síť 192.168.2.0).
PC_HOME (192.168.2.4) --> Router_HOME (192.168.2.1) -- > 
INTERNET -->  Mikrotik_router(192.168.200.254) --> 
OpenVPN_server (192.168.200.108)
Zde jsou konfigurační soubory openVPN:

server.conf
port 1194
proto udp
dev tun

ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem

mode server
tls-server
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

push "route 192.168.200.0 255.255.255.0"
route-up "route delete -net 10.8.O.O/24"
route-up "route add -net 10.8.0.0/24 tunO"
route 192.168.200.0 255.255.255.O

keepalive 10 120
comp-lzo

user nobody
group nobody

persist-key
persist-tun

status openvpn-status.log
log         /var/log/openvpn/openvpn.log

verb 3

client.ovpn
client
dev tun
proto udp
remote ip_addr_Mikrotik 1194

resolv-retry infinite
nobind

persist-key
persist-tun

ca c:\\key\\ca.crt
cert c:\\key\\client1.crt
key c:\\key\\client1.key

comp-lzo
verb 3
Port 1194 je na Mikrotiku NATován na adresu 192.168.200.108 v lokální síti za Mikrotikem.

Spojení na OpenVPN server se mi provede bez problémů, ale nemohu si pingnout na žádnou adresu v lokální síti 192.168.200.0, kromě adresy 192.168.200.108. Ta funguje bez problémů.

Hraji si s tím 3 dny. Pročetl jsem kde co, ale nějak se mi nedaří zprovoznit.

Ještě připojuji routovací tabulky:

OpenVPN server:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.2        *               255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
192.168.200.0   *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         192.168.200.254 0.0.0.0         UG    0      0        0 eth0

Klient:
===========================================================================
Seznam rozhraní
0x1 ........................... MS TCP Loopback interface
0x2 ...00 ff d3 93 db bc ...... TAP-Win32 Adapter V8
0x10004 ...00 11 2f d6 85 72 ...... Marvell Yukon Gigabit Ethernet 10/100/1000Ba
se-T Adapter, Copper RJ-45
===========================================================================
===========================================================================
Aktivní směrování:
       Cíl v síti     Síťová maska            Brána        Rozhraní  Metrika
          0.0.0.0          0.0.0.0      192.168.2.1     192.168.2.4       20
         10.8.0.4  255.255.255.252         10.8.0.6        10.8.0.6       30
         10.8.0.6  255.255.255.255        127.0.0.1       127.0.0.1       30
   10.255.255.255  255.255.255.255         10.8.0.6        10.8.0.6       30
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.2.0    255.255.255.0      192.168.2.4     192.168.2.4       20
      192.168.2.4  255.255.255.255        127.0.0.1       127.0.0.1       20
    192.168.2.255  255.255.255.255      192.168.2.4     192.168.2.4       20
        224.0.0.0        240.0.0.0         10.8.0.6        10.8.0.6       30
        224.0.0.0        240.0.0.0      192.168.2.4     192.168.2.4       20
  255.255.255.255  255.255.255.255         10.8.0.6        10.8.0.6       1
  255.255.255.255  255.255.255.255      192.168.2.4     192.168.2.4       1
Výchozí brána:       192.168.2.1
===========================================================================
Trvalé trasy:
  Žádné

Děkuji za nakopnutí.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.6.2007 22:34 PavelC
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ještě mi vypadlo v konfiguraci klienta:
float
mssfix 1500
Bez těchto direktiv si nemohu pingnout ani 192.168.200.108.
7.6.2007 01:58 Dan Ohnesorg | skóre: 29 | blog: Danuv patentovy blog | Rudná u Prahy
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
V tomhle radku mas pismeno O a ne nulu

route-up "route delete -net 10.8.O.O/24"

Jinak to chce pustit si debug openvpn, tcpdump a koukat, ono z toho neco vypadne.
I'm an Igor, thur. We don't athk quethtionth. Really? Why not? I don't know, thur. I didn't athk. TP -- Making Money
7.6.2007 10:28 PavelC
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
Děkuji za upozornění, asi jsem už byl přepracován.

Pustil jsem si
tcpdump -i eth0 host 192.168.200.25 -n
a dostal jsem vypis
testVPN:~ # tcpdump -i eth0 host 192.168.200.25 -n
10:14:05.017133 IP 192.168.200.25.4208 > 192.168.200.108.22: . ack 197036 win 64135
10:14:05.018890 IP 192.168.200.108.22 > 192.168.200.25.4208: P 197168:197316(148) ack 781 win 9648
10:14:05.019168 IP 192.168.200.25.4208 > 192.168.200.108.22: . ack 197316 win 65535
10:14:05.020865 IP 192.168.200.108.22 > 192.168.200.25.4208: P 197448:197596(148) ack 781 win 9648
10:14:05.021145 IP 192.168.200.25.4208 > 192.168.200.108.22: . ack 197596 win 65255
10:14:05.022882 IP 192.168.200.108.22 > 192.168.200.25.4208: P 197728:197876(148) ack 781 win 9648
10:14:05.023255 IP 192.168.200.25.4208 > 192.168.200.108.22: . ack 197876 win 64975
10:14:05.024851 IP 192.168.200.108.22 > 192.168.200.25.4208: P 198008:198156(148) ack 781 win 9648
10:14:05.025122 IP 192.168.200.25.4208 > 192.168.200.108.22: . ack 198156 win 64695
10:14:05.026869 IP 192.168.200.108.22 > 192.168.200.25.4208: P 198288:198436(148) ack 781 win 9648
10:14:05.027168 IP 192.168.200.25.4208 > 192.168.200.108.22: . ack 198436 win 64415
10:14:05.027973 IP 192.168.200.108.22 > 192.168.200.25.4208: P 198436:198584(148) ack 781 win 9648
10:14:05.028868 IP 192.168.200.108.22 > 192.168.200.25.4208: P 198584:198732(148) ack 781 win 9648
10:14:05.030875 IP 192.168.200.108.22 > 192.168.200.25.4208: P 198864:199012(148) ack 781 win 9648
10:14:05.031150 IP 192.168.200.25.4208 > 192.168.200.108.22: . ack 199012 win 65535
...
1582 packets captured
3799 packets received by filter
553 packets dropped by kernel
Pak jsem pustil
tcpdump -i tun0 host 192.168.200.25 -n
a dostal jsem vypis
testVPN:~ # tcpdump -i tun0 host 192.168.200.25 -n
tcpdump: WARNING: arptype 65534 not supported by libpcap - falling back to cooked socket
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
10:14:15.887394 IP 10.8.0.6 > 192.168.200.25: ICMP echo request, id 512, seq 41496, length 40
10:14:16.703103 IP 10.8.0.6.1439 > 192.168.200.25.8888: S 3397256682:3397256682(0) win 16384 < mss 1368,nop,nop,sackOK>
10:14:19.713153 IP 10.8.0.6.1439 > 192.168.200.25.8888: S 3397256682:3397256682(0) win 16384 < mss 1368,nop,nop,sackOK>
10:14:21.394136 IP 10.8.0.6 > 192.168.200.25: ICMP echo request, id 512, seq 43288, length 40
10:14:25.717094 IP 10.8.0.6.1439 > 192.168.200.25.8888: S 3397256682:3397256682(0) win 16384 < mss 1368,nop,nop,sackOK>
...

30 packets captured
60 packets received by filter
0 packets dropped by kernel

Bohužel tcpdump nepoužívám a jaksi mi nedochází význam některých výstupů. Může poprosit o jejich dekódování popř. uvést správné parametry ke zjištění relevantních dat? Adresa 192.168.200.108 je adresa OpenVPN v lokální síti a adresa 192.168.200.25 je PC v lokální síti.

Děkuji.
7.6.2007 10:44 trezor | skóre: 10
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
push "route 192.168.200.0 255.255.255.0" route-up "route delete -net 10.8.O.O/24" route-up "route add -net 10.8.0.0/24 tunO" route 192.168.200.0 255.255.255.O

naco tam mas route 192.168.200.0 255.255.255.O skus to zmazat a je tam tiez Ocko nie 0.
7.6.2007 11:04 PavelC
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
Díky za námět, ale ani po odstranění route to nefunguje.

Aktuální server.conf (po opravě "O"ček)
port 1194
proto udp
dev tun

ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key  # This file should be kept secret
dh /etc/openvpn/dh1024.pem

mode server
tls-server
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

push "route 192.168.200.0 255.255.255.0"
route-up "route delete -net 10.8.0.0/24"
route-up "route add -net 10.8.0.0/24 tun0"

keepalive 10 120
comp-lzo

user nobody
group nobody

persist-key
persist-tun

status openvpn-status.log
log         /var/log/openvpn/openvpn.log
verb 3

7.6.2007 12:49 Dan Ohnesorg | skóre: 29 | blog: Danuv patentovy blog | Rudná u Prahy
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
Nejak se v tom popisu ztracim, ale znaji vsechny pingane stanice v druhe siti cestu zpet do site 192.168.200.0/24? Bud tak, ze ji maji nastavenou a nebo ze maji defaultroutu na ten stroj, kde konci tunel...
I'm an Igor, thur. We don't athk quethtionth. Really? Why not? I don't know, thur. I didn't athk. TP -- Making Money
11.6.2007 07:29 trezor | skóre: 10
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
skor by som povedal ze stanice by mali vediet cestu spat na 10.8.0.0/24 maju trento route nastaveny ?
11.6.2007 13:25 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mas to povolene ve firewallu (na tom VPN serveru)?

Dejf
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
11.6.2007 15:15 PavelC
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
To trezor:

Stanice vi kudy se vratit na 10.8.0.0/24. Nastaveno na routeru Mikrotik 10.8.0.0/24 -> 192.168.200.108 (IP adresa OpenVPN uvnitr site).

To Dejv:

Firewall je vypnuty. Jake porty nebo sluzby na firewallu povolit, aby komunikace probihala a pritom byl firewall spusten? Na firewallu mám povoleny sluzby SSH a VNC a porty 1194 a 5000. To je asi malo, ze?

Nicmene jsme pokrocil trochu dal. Zjistil jsem, ze se mi vzdy po jakekoliv uprave na OpenVPN serveru nastavi
"0"
v
/proc/sys/net/ipv4/ip_forward
Vzdy musim pak davat rucne
echo 1 > /proc/...
je to mozne nejak zajistit natvrdo, nebot co jsem vysledoval, tak to dela pri rekonfiguraci sitove karty nebo restartu firewallu. Pripominam, ze vse to jede na OpenSuSE 10.1.

Po techto peripetich jsem schopen si pres VPN pingnout vsechno v siti 192.168.200.0/24, ale nemohu se pripojit na zadne sluzby na jednotlivych PC. Napr. na IP 192.168.200.25 vzdalenou plochu (podotykam, ze je povolena, nebot pres PPTP, pres ktere se taky nekdy pripojuji to funguje) a napr. na adrese 192.168.200.1 mi zase bezi VNC server, ktery taky normalne funguje. Naopak, kdyz se chci pripojit na vzdalenou plochu te masine kterou pristupuji do site 192.168.200.0/24, tak si v pohode na adrese 10.8.0.6, ktera je po pripojeni pres OpenVPN pridelena, spustim Vzdalenou plochu.

Zrejme bude neco spatne nastaveno nekde na firewallu, ale bohuztel nevim kde. Firewall na OpenVPN serveru je vypnuty. Firewall Mikrotik by mel byt eliminovat tim, ze to bezi pres tunel OpenVPN a na lokalnich stanicich neni na obou strnach nepomuze ani vypnuty firewall (MS Windows XP)

Po spusteni tcpdump dostanu nasledujici:
testVPN:/etc/openvpn # tcpdump -ni eth0 host 192.168.200.25 and port 3389
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:13:34.591367 IP 10.8.0.6.4011 > 192.168.200.25.3389: S 1216581081:1216581081(0) win 16384 < mss 1368,nop,nop,sackOK>
15:13:37.473343 IP 10.8.0.6.4011 > 192.168.200.25.3389: S 1216581081:1216581081(0) win 16384 < mss 1368,nop,nop,sackOK>
15:13:43.444803 IP 10.8.0.6.4011 > 192.168.200.25.3389: S 1216581081:1216581081(0) win 16384 < mss 1368,nop,nop,sackOK>

3 packets captured
6 packets received by filter
0 packets dropped by kernel
Diky.
11.6.2007 18:43 trezor | skóre: 10
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
Stale zapnutie forwardingu nastavis v etc/sysctl.conf ip_forward=1 nieco take by tam malo byt.
11.6.2007 19:08 Opičák | skóre: 18 | blog: Opicakovy_blaboly
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
jak kde ovšem.
12.6.2007 14:53 PavelC
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
V /etc/sysctl.conf jsem přidal volbu
net.ipv4.ip_forward = 1
ale nějak to nepomohlo. Při restartu se to opet v /proc/sys/net/ipv4/ip_forward nastavilo na "0".

Co jsem vysledoval, tak to dělá to při startu a ukončeni firewallu.

Díky
11.6.2007 22:37 milda
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
Odpovědět | | Sbalit | Link | Blokovat | Admin
mas tam blbe routy, odstran vsechno cos tam pridal a na stranu serveru dej
ip route add 192.168.2.0/24 via 10.8.0.neco (adresa tun rozhrani co mas doma na klientovi
a do konfiguraku na serveru pridej
push "route 192.168.200.0 255.255.255.0 10.8.0.neco" tun adresa na serveru
12.6.2007 14:49 PavelC
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
Pokud zruším tyto route .
.
route 10.8.0.0 255.255.255.0 
push "route 192.168.200.0 255.255.255.0"
a nastavím pouze
push "route 192.168.200.0 255.255.255.0 10.8.0.1 tun0"
tak se mi VPN vubec nepřipojí.

Jinak, že to mám doma na interním PC za routerem v síti 192.168.2.0/24 je vcelku jedno. Pokouším se přes VPN připojit i notebookem přes Dial-up a taky se stejným problémem. Pingnu si vše v síti 192.168.200.0/24, ale nemohu se připojit na žádnou službu na PC v té síti (SSH, VNC, TS apod.) Naopak však ano, ze sítě 192.168.200.0/24 (konkrétně z PC 192.168.200.25) se bez problému dostanu na vzdálenou plochu notebooku připojeného pře s VPN a Dial-up.

Jinak nyní částečně funkční konfigurace je tato:

server.conf (openSuSE 10.1)
port 1194
proto udp
dev tun

ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key  # This file should be kept secret
dh /etc/openvpn/dh1024.pem

mode server
tls-server
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

route 10.8.0.0 255.255.255.0
push "route 192.168.200.0 255.255.255.0"

keepalive 10 120
comp-lzo

user nobody
group nobody

persist-key
persist-tun

status openvpn-status.log
log         /var/log/openvpn/openvpn.log
verb 6

client (MS Windows XP + SP2)
tls-client
dev tun
proto udp

remote xxx.xxx.xxx.xxx 1194
pull

ca c:\\key\\ca.crt
cert c:\\key\\client1.crt
key c:\\key\\client1.key

resolv-retry infinite
nobind

persist-key
persist-tun

comp-lzo

verb 3
Díky
13.10.2007 17:51 Jirka | skóre: 36
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
Patrně jste to již vyřešil, ale pro ostatní:

Dnes jsem řešil problém se stejnými příznaky. Routy se mi na serveru i na klientovi vkládali korektně, přesto jsem nebyl schopen dostat se na jiný počítač na straně openvpn serveru. Použil jsem stejné nastavení jako jsem měl na jiném stroji (který ale dělá i router s maškarádou). Tam mi to fungovalo.

Tak jsem na tom novém VPN dedikovaném stroji zapnul routování (echo 1 > /proc/sys/net/ipv4/ip_forward) a zároveň nahodil maškarádu (iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE). A funguje. Proč to tak je nevím (nechtěl by se někdo vyjádřit?).

PS: Omlouvám se za reinkarnaci starého dotazu, ale tenhle jsem při hledání řešení objevil jako první, takže je solidní možnost, že to pomůže i někomu jinému.
9.2.2016 14:46 phenix
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
Děkuji!!!!!!!!!! Několik měsíců laborování jestli nezkusit raději jinou VPN a konečně jsem našel odpoveď,co mi pomohla, děkuji!!!!

Jinak jen recap nastavení confu na serveru (ať je to tu kompletní):

server 192.168.20.0 255.255.255.0 push "route 192.168.100.0 255.255.255.0" push "route 192.168.20.0 255.255.255.0"

A dále na serveru zprovoznit: echo 1 > /proc/sys/net/ipv4/ip_forward iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
9.2.2016 15:10 bigBRAMBOR | skóre: 37
Rozbalit Rozbalit vše Re: Nastavení route v OpenVPN
no jo, takze ty jsi ale nemel problemy s routovanim na openvpn, ty mas proste problemy s routováním.....

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.