Zdar vespolek ,
jakozto nadseny linuxak/unixak jsem se vrhnul do openwrt s buldoci vervou. Rozchodil jsem si kdejakou sluzbu (transmission,samba,vsftpd,ircd, remote-ssh …) a tak doslo i na hratky s openssl/openvpn.
Procetl jsem mnoho navodu rozesetych po celem internetu. Skakal jsem mezi openwrt wiki, openvpn wiki a archlinux wiki (jejich navody jsou tak obecne postavene, ze mi pomohli na debianu, centosu, ubuntu a vlastne i na turrisu). Zprvu byl vubec problem rozlisit, zda-li prislusny navod je aplikovatelny pro me potreby (a bohuzel nektere navody jsou tak zmatene, ze v nekterych fazich clovek nevi ‘co s tim’ )
Ve finale jsem postupoval podle tohoto https://wiki.openwrt.org/doc/howto/openvpn-streamlined-server-setup navodu. A muzu rict, ze slavim snad uspech.
Poznamky:
Pri pouziti topology=subnet
parametru neni nutny ifconfig (ale muze se pouzit). key-direction
neni nutne natvrdo specifikovat staci kdyz server ma nastavenou remote-cert-tls
a tls-server
parametry. tls-cipher stejna pohadka, jakmile jsem zadal nejaky seznam (ikdyby o jedne polozce) byl nejaky problem. mssfix
je dobre pouzit na klientske strane v kombu s fragment
, na serveru je jiz na Wan nastaveno mtu=1500 a mssfix=1 … takze u vpn zony uz to neni uplne nutne (pokud clovek nejede troubleshooting) … a zase jakmile si clovek zacne hrat s link-mtu , tun-mtu
muze cekat, ze se proste oba konce nemusej domluvit. Pro prehled nize jsou configy (lehce upravene pro publikaci)
Default port 1194 je v realu jiny.[/details]
[details=server.config]config openvpn 'node42_server’
option keepalive '10 60’
option server '10.0.100.0 255.255.255.0’
option ifconfig '10.0.100.1 255.255.255.0’
option port '1194’
option dev_type 'tun’
option ca '/etc/openvpn/certs/ca.crt’
option dh '/etc/openvpn/certs/dh2048.pem’
option cert '/etc/openvpn/certs/server.crt’
option key '/etc/openvpn/certs/server.key’
option proto 'udp’
option fast_io '1’
option persist_tun '1’
option persist_key '1’
option persist_local_ip '1’
option mode 'server’
option topology 'subnet’
option tls_server '1’
option tls_exit '1’
option auth_nocache '1’
option auth 'SHA1’
option cipher 'BF-CBC’
option log '/var/log/openvpn-server.log’
option log_append '/var/log/openvpn.log’
option comp_lzo 'adaptive’
option status '/var/log/openvpn.status 6’
option verb '5’
option dev 'tun0’
option float '1’
option reneg_sec '30’
option enabled '1’
option tls_auth '/etc/openvpn/certs/ta.key’
option remote_cert_tls 'client’
option tls_version_min '1.0’
option client_to_client '1’
list push 'route 192.168.1.0 255.255.255.0’
list push 'dhcp-option DNS 192.168.1.1’
list push 'dhcp-option WINS 192.168.1.1’
list push 'dhcp-option DNS 8.8.8.8’
list push ‘dhcp-option DNS 8.8.4.4’
win.client.config
float
client
tls-client
dev tun
proto udp
remote ROUTER_PUB_IP 1194
comp-lzo adaptive
keepalive 10 60
verb 5
nobind
persist-key
persist-tun
auth SHA1
cipher BF-CBC
mssfix 0
fragment 0
remote-cert-eku "TLS Web Server Authentication"
tls-auth "C:\Program Files\OpenVPN\config\tauth.key"
ca "C:\Program Files\OpenVPN\config\ca.crt"
cert "C:\Program Files\OpenVPN\config\client.crt"
key "C:\Program Files\OpenVPN\config\client.key"
auth-nocache
resolv-retry infinite
Ve vyse uvedenem nastaveni s povolenym remote-openvpn-portem se pripojim win10/android clientama do zony. Kde vse koncilo a nic se nedelo. Tudiz jsem zacal resit, jak jsou na tom pravidla na firewallu.
Zase kazdy navod pristupoval k pravidlum trosku jinak a nebylo moc nikde vysvetleno co dane nastaveni znamena z pohledu sitariny a routovani (nekdo k tomu pristupoval zakazu vse a pak budu povolovat, jini zas pristup na urovni zon, jini na urovni traffic rules atp…) Fakt jsem netusil co VSE mam ci nemam povolit a hlavne PROC…
Takze zase pomohla tahle sekce : https://wiki.openwrt.org/doc/howto/openvpn-streamlined-server-setup#tab__rules
Kdy jsem sel polozku po polozce a zkoumal, zda-li mam ci nemam nastaveno patricne ci nepatricne. A mozna doted si nejsem jistej, zda-li tam nemam neco zbytecne. Config firewallu a network sem ani davat nebudu (v podsate jsem to tupe oprasknul z navodu a jen pouzil svoje zony, ip, porty a tak).
Po upravach pravidel a refreshnuti sluzeb, uz se da z lan overit ze vpn client je v siti a dostupny a obracene. Jeste budu chvilku testovat co vse jde/nejde. Ale myslim, ze jsem se dostal aspon nekam.
Nejvic problemu se samotnym spojeni bylo tls-auth, To trvalo nejdele rozchodit. V tomto smeru, cim mene nastaveni, tim spis to facha. Kdykoliv jsem nasledoval nejake navody vsude se resil smer klicu atp…coz ve finale nebylo v mem pripade potreba.
Pro kazdej parametr jsem vzdy pro jistotu overoval zda-li to je ci relevantni pro me potreby, zda-li to je to jen pro clienta ci jen pro server ci pro oba konce (nekdy fakt LUCI umoznuje pridavat clientske options do server configu …a nektere na sobe zavisle/ci se vylucujici moznosti jsou s klidem dovoleny k zapisu … — a pak clovek lovi v syslogu proc to nechce makat).
Po foru jsem tu postupne zanechaval ruzne odkazy a navody. Uprimne, je to tak trosku peklo to rozchodit, v tomto smeru bych ocenil klidne nejake auto-config scripty (pridavani pravidel do firewallu je pro me porad lehce spanelska vesnice a clovek se boji ze si udela duru do routeru)
Tak snad nekomu vyse uvedene, popsane pomuze si nevytrhat zbytky vlasu a ochlupeni.
(Te)Pic!Maus