Forum Turris
Fórum Turris Nápověda

Milí majitelé routerů Turris,

toto fórum bylo 9. 12. 2016 zmrazeno a nahrazeno naším novým Turris fórem. Ještě chvíli bude dostupné k prohlížení, ale již zde není možné přispívat. Více informací naleznete v oznámení o uzavření fóra.


Dear Turris routers users,

this forum has been frozen on Dec 9th, 2016 and replaced by our new Turris forum. It will be read-only accessible for some time after. For more information, read the announcement about closing the forum.

Nahoru Téma Majitelé routerů / Technická podpora / OpenVPN server na Turris
- - Od chipoun Dne 2015-03-08 14:44
Dobrý den všem,
již delší dobu používám router Turris, ale protože je HW kvalitní a totálně nevytížený, tak bych ho chtěl využít více než doposud. A tak jsem se rozhodl přesunout OpenVPN server z NASu Synology na Turris.
Na VPN se chci připojovat z
2x notebook s Win 8.1
2x zařízení s Android 5.0

Laboruji s tím již druhý den a opravdu se mi nedaří. Musím přiznat že je to pro mě hodně složité, protože vůbec neznám linux ani openwrt. Nějakou dobu mi tedy trvalo vůbec vymyslet/vygooglit jak se připojit k routeru jinak než přes Luci kde asi nejde v tomto ohledu nastavit nic?

Zatím to nejlepší naco jsem přišel je kombinace (opravdu nevím jestli je něco lepšího nebo vestavěného?):
-WinSCP (Připojím se přes SCP a edituji soubory etc/firewall atd.  dále používám pro nahrání a stažení klíčů a certifikátů
-Putty - používám pro pouštění příkazů. Když pustím úpravu souboru (např. cd /etc/easy-rsa vi vars, tak v souboru můžu jezdit a editovat, ale ani nevím jak tento režim ukončit... takže edituji přes winscp...)

Postupoval jsem podle několika návodů (je jichopravdu dost a každý jiný :-() a nikdy nedošel k tomu aby to fungovalo (aby fungoval přes vpn i internet a dostal bych se do vnitřní sítě)
V současné době jsem udělal další pokus  s návodem: http://wiki.openwrt.org/inbox/vpn.howto

V současné době:
-Z vnitřní sítě se tunel nepřipojí.
-Z vnější sítě se připojí a stav je connected. Ale nedostanu se ani do vnitřní sítě, ani na internet.

Současné nastavení tedy mám:

etc/config/firewall
----------------------------------------------
config 'include'
        option 'path' '/etc/firewall.user'
config 'rule'
        option 'target' 'ACCEPT'
        option 'name' 'VPN'
        option 'src' '*'
        option 'proto' 'udp'
        option 'dest_port' '1194'
---------------------------------------------

etc/config/firewall.user
---------------------------------------------
iptables -t nat -A prerouting_wan -p udp --dport 1194 -j ACCEPT
iptables -A input_wan -p udp --dport 1194 -j ACCEPT
iptables -I INPUT -i tun+ -j ACCEPT
iptables -I FORWARD -i tun+ -j ACCEPT
iptables -I OUTPUT -o tun+ -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPT
---------------------------------------------

etc/config/openvpn
---------------------------------------------
config 'openvpn' 'lan'
        option 'enable' '1'
        option 'port' '1194'
        option 'proto' 'udp'
        option 'dev' 'tun'
        option 'ca' '/etc/easy-rsa/keys/ca.crt'
        option 'cert' '/etc/easy-rsa/keys/server.crt'
        option 'key' '/etc/easy-rsa/keys/server.key'
        option 'dh' '/etc/easy-rsa/keys/dh2048.pem'
        option 'ifconfig_pool_persist' '/tmp/ipp.txt'
        option 'keepalive' '10 120'
        option 'comp_lzo' 'no'
        option 'persist_key' '1'
        option 'persist_tun' '1'
        option 'status' '/var/log/openvpn-status.log'
        option 'verb' '3'
        option 'server' '10.0.0.0 255.255.255.0'
        option 'client_to_client' '1'
        list 'push' 'redirect-gateway def1'
        list 'push' 'dhcp-option DNS 192.168.1.1'
  list 'push' 'route 192.168.1.0 255.255.255.0'
--------------------------------------------------------

Na klientu (Win8.1) mám nastavení
-------------------------------------------------------
client
tls-client
dev tun
proto udp
remote chipoun.no-ip.org 1194 # Change to your router's External IP
resolv-retry infinite
nobind
ca ca.crt
cert client1.crt
key client1.key
dh dh2048.pem
#comp-lzo

persist-tun
persist-key
verb 3
------------------------------------------------------------

Log po připojení z venku (Win 8.1)
https://dl.dropboxusercontent.com/u/37997576/client.log

Moc všechny prosím poraďte mi jak to rozjet a co všechno dělám špatně. Nikdy by mě nenapadlo, že to za takovou dobu nerozjedu :-(
Jestli ještě něco co potřebujete chybí, tak napište co a jak to získám a dodám to :-)

Díky moc
Petr Chasák
Nadřazený - - Od commar (>>) Dne 2015-03-08 15:44
Nadřazený - Od chipoun Dne 2015-03-08 16:20
Děkuji.
Toto jsem také pečlivě prohlížel. Ale je tam tolik odlišností od standardního nastavení, že mě to nedovedlo k cíli, ale router zatuhl a dělal jsem tovární reset. Zřejmě konflikt ip adres :-(
Nadřazený - - Od Ondřej Caletka (>>>) Dne 2015-03-09 10:32 Hlasů 1

> Když pustím úpravu souboru (např. cd /etc/easy-rsa vi vars, tak v souboru můžu jezdit a editovat, ale ani nevím jak tento režim ukončit... takže edituji přes winscp...)


Editovat soubory pomocí WinSCP je možné, ale dáveje pozor na konce řádků, které se liší ve Windows a jinde. Lepší bude vygooglit a naučit se aspoň základní editaci souborů přímo v routeru.

> etc/config/firewall.user
> ---------------------------------------------
> iptables -t nat -A prerouting_wan -p udp --dport 1194 -j ACCEPT
> iptables -A input_wan -p udp --dport 1194 -j ACCEPT
> iptables -I INPUT -i tun+ -j ACCEPT
> iptables -I FORWARD -i tun+ -j ACCEPT
> iptables -I OUTPUT -o tun+ -j ACCEPT
> iptables -I FORWARD -o tun+ -j ACCEPT
> ---------------------------------------------


Tohle je zbytečné, soubor firewall.user by se měl používat pouze na uživatelské nastavení, která nejdou udělat v běžné konfiguraci firewallu. Což povolení portů rozhodně není… Tedy tohle můžete bez náhrady vynechat. Místo toho zaveďte v /etc/config/network nové logické rozhraní pro VPN:

config interface 'vpn'
        option ifname 'tun0'
        option proto 'static'
        option ipaddr '10.0.0.1'
        option netmask '255.255.255.0'
        option ip6assign '64'

A ve firewallu přidejte toto logické rozhraní do zóny LAN:

config zone
        option name 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'lan vpn'

Tím dojde k povolení přeposílání provozu mezi VPN a LAN sítí, stejně jako NATování VPN provozu směrem do internetu.

Jinak podle logu je vidět, že se vám VPN bez problému spojí, nejspíš by to tedy potřebovalo diagnostiku, co přesně vám nefunguje. Pingá vám VPN brána 10.0.0.1? Pingá LAN rozhraní 192.168.1.1? Resolvuje DNS?
Nadřazený - - Od chipoun Dne 2015-03-09 15:29 Upraveno 2015-03-09 15:40
Bohužel(bohudík) je všechno nastavení ztraceno, protože se mi router po mých hrátkách zakousnul a nenajel. Tak jsem udělal tovární reset.
Vše jsem přenastavil od začátku.
Postupoval jsem skoro přesně dle:
http://wiki.openwrt.org/doc/howto/vpn.openvpn

Už se připojím. Už cítím, že jsem skoro u cíle :-) Nyní mám:

firewall
------------------------------------------------------
config rule
   option name 'Allow-OpenVPN-Inbound'
   option target 'ACCEPT'
   option src '*'
   option proto 'udp'
   option dest_port '1194'

config zone
   option name 'vpn'
   option input 'ACCEPT'
   option forward 'ACCEPT'
   option output 'ACCEPT'
   option network 'vpn0'

config forwarding
   option dest 'wan'
   option src 'vpn'
------------------------------------------------------

network
------------------------------------------------------
config interface 'vpn0'
   option ifname 'tun0'
   option proto 'none'
   option delegate '0'
------------------------------------------------------

openvpn
------------------------------------------------------
config openvpn 'myvpn'
   option enabled '1'
   option dev 'tun'
   option proto 'udp'
   option log '/tmp/openvpn.log'
   option verb '3'
   option ca '/etc/openvpn/ca.crt'
   option cert '/etc/openvpn/my-server.crt'
   option key '/etc/openvpn/my-server.key'
   option server '10.8.0.0 255.255.255.0'
   option port '1194'
   option keepalive '10 120'
   option dh '/etc/openvpn/dh2048.pem'
   option push 'redirect-gateway def1'
------------------------------------------------------

na klientu mám
------------------------------------------------------
dev tun
proto udp
verb 3
ca ca.crt
cert my-client2.crt
key my-client2.key
client
remote 83.240.72.xxx 1194
nobind
auth-nocache
script-security 2
persist-key
persist-tun
user nobody
group nogroup
------------------------------------------------------

A je to skoro tak jak chci. Už mi jede přes VPN i internet. A dostanu se na rozhraní routeru (192.168.1.1). Stále se nemůžu dostat do vnitřní sítě. Např. na 192.168.1.2 mám NAS. Nemáte radu jak nato?

Díky!

PS:
K té úpravě souborů přes WinSCP... Když tedy přidám ve windows přes WinSCP řádek tak soubor nebude fungovat, protože skrytý znak označující nový řádek je jiný než očekává OpenWRT? To je škoda. Oproti editaci přes Putty je to hodně user friendly. I tak moc děkuji za odkaz!
EDIT:
googlil jsem a když upravuji soubory přímo v routeru vzdáleně a prvně si je nestáhnu do pc, tak snad používají konce LF a neměl by problém nastat. (doufám)

Děkuji moc!
Nadřazený - - Od Ondřej Caletka (>>>) Dne 2015-03-09 16:50 Hlasů 1

> K té úpravě souborů přes WinSCP... Když tedy přidám ve windows přes WinSCP řádek tak soubor nebude fungovat, protože > skrytý znak označující nový řádek je jiný než očekává OpenWRT?


Nevím, WinSCP ani Windows nepoužívám, možná je tam ten problém nějak vyřešen. Jen na něj upozorňuji.

> Stále se nemůžu dostat do vnitřní sítě.


To proto, že jste nedbal mé rady, a místo abyste logické rozhraní vpn0 vložil do firewallové zóny lan, založil jste si novou firewallovou zónu vpn, ze které jste povolil forwardování jen ve směru wan. Když tuhle zónu z firewallu vyhodíte a vložíte logické rozhraní vpn0 do zóny lan, bude to fungovat, jak si představujete.
Nadřazený - - Od chipoun Dne 2015-03-10 09:55 Upraveno 2015-03-10 10:15
Moc děkuji za rady. Opravdu mi trháte trn z paty :-)

Zkusil jsem tedy následující. Zřejmě mám ještě někde chybu, protože se stále do vnitřní sítě nedostanu (na 192.168.1.2) ani na ping není odezva. Na internet a router se dostanu pořád.

network
------------------------------
config interface 'vpn0'
  option ifname 'tun0'
  option proto 'none'
  option delegate '0'
------------------------------

firewall (do zone lan jsem doplnil ten poslední řádek)
-----------------------------
config rule
  option name 'Allow-OpenVPN-Inbound'
  option target 'ACCEPT'
  option src '*'
  option proto 'udp'
  option dest_port '1194'

config zone
  option name 'lan'
  option input 'ACCEPT'
  option output 'ACCEPT'
  option forward 'ACCEPT'
  option network 'lan vpn0'
-------------------------------------------

Nakopnete mě tedy prosím ještě jednou? Děkuji moc!
Nadřazený - - Od milanroubal (>) Dne 2015-03-10 10:45 Hlasů 1
je potreba si nechat poradit. Najdete rozdily mezi:

network
------------------------------
config interface 'vpn0'
  option ifname 'tun0'
  option proto 'none'
  option delegate '0'
------------------------------

a tim co pise Ondrej:

config interface 'vpn'
        option ifname 'tun0'
        option proto 'static'
        option ipaddr '10.0.0.1'
        option netmask '255.255.255.0'
        option ip6assign '64'

A predpokladam, ze zjistite, ze ten rozdil je v tom, ze se na turrisu nevytvori routa pro 10.0.0.0/24 pro interface tun0. Poslete po navazani spojeni vystup z prikazu
ip route
z turrisu.
Nadřazený - - Od chipoun Dne 2015-03-10 11:09 Upraveno 2015-03-10 11:26
Děkuji.

Toto je ip route:

root@turris:~# ip route
default via 83.240.72.129 dev eth2  proto static
10.8.0.0/24 via 10.8.0.2 dev tun0
10.8.0.2 dev tun0  proto kernel  scope link  src 10.8.0.1
83.240.72.128/25 dev eth2  proto kernel  scope link  src 83.240.72.xxx
192.168.1.0/24 dev br-lan  proto kernel  scope link  src 192.168.1.1

Takže bych měl změnit na:

network
-------------------------
config interface 'vpn0'
        option ifname 'tun0'
        option proto 'static'
        option ipaddr '10.0.0.1'
        option netmask '255.255.255.0'
        option ip6assign '64'
-------------------------

? já bych si rád nechal poradit, ale rozumím tomu zatím jak koza petrželi...
Nadřazený - - Od milanroubal (>) Dne 2015-03-10 11:57 Hlasů 1
no to byla reakce na prvni konfiguraci, pote se konfgurae zmenila, zvlaste IP rozsah v konfiguraci openvpn. Ted by to tedy vypadalo takto, pokud ta konfugace openvpn stale obsahuje ten rozsah 10.8.0.0/24:
network
-------------------------
config interface 'vpn0'
        option ifname 'tun0'
        option proto 'static'
        option ipaddr '10.8.0.1'
        option netmask '255.255.255.0'
        option ip6assign '64'
-------------------------
po zmene udelat reboot.

Proti jakemu zarizeni v siti se to ted testuje? Proti tomu Synology? A je na nem vypnuta ta VPN? Protoze rozsah 10.8.0.0/24 pouziva Synology pro vlastni VPN sit a tedy by se pakety nevracely zpet na turris.
Nadřazený - - Od chipoun Dne 2015-03-10 12:21
Děkuji moc oběma!
Už to jede vše dle mých představ!

Zkusím si to nějak zpětně projít a pogooglit, abych pochopil co které nastavení dělá. Díky moc.

Jen ještě jedna drobnost. Lze rozchodit i to, aby fungovaly překlady adres ve vnitřní síti?
Např. při SMB \\192.168.1.2 jede, ale \\Diskstation nejede. Pokud jsem přímo v LAN a ne přes VPN, tak jede obojí.
Nadřazený - - Od Ondřej Caletka (>>>) Dne 2015-03-10 16:13 Hlasů 1
Změňte v konfiguraci openvpn volbu
option push 'redirect-gateway def1'
na
list push 'redirect-gateway def1'
list push 'dhcp-option DNS 10.8.0.1'


Ale výsledek bude stejně nejspíše nejistý.
Nadřazený - Od chipoun Dne 2015-03-10 21:51
Tak jsem zkusil a bohužel to nepomohlo. Ale to nevadí. Na počítači kde se mi to hodí, jsem si překlad z diskstation nastavil natvrdo ve win na 192.168.1.2. Jinde to nebudu potřebovat.

Děkuji moc za všechny rady. Bez Vás bych to nikdy nerozchodil.
Nahoru Téma Majitelé routerů / Technická podpora / OpenVPN server na Turris

Powered by mwForum 2.29.3 © 1999-2013 Markus Wichitill