26

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

OK, analizowałem ten przykład i coraz więcej wiem. Ten przykład jest dla mnie nieco na wyrost więc muszę go przystosować dla swoich potrzeb.

Mam jednak kilka pytań:
1. W jaki sposób dodać za pomocą uci do konfigu openvpn.conf poniższe linijki? Zawsze jest option a tutaj list.
list route "192.168.2.0 255.255.255.0"
list push "route 10.0.1.0 255.255.255.0"
list push "route 192.168.1.0 255.255.255.0"
list push "route 192.168.2.0 255.255.255.0"

2. Czy muszę dodawać poniższe wpisy na serwerze? Jakie one mają zadanie?
list push "dhcp-option DNS 192.168.1.1"
list push "dhcp-option WINS 192.168.1.1"
list push "dhcp-option DOMAIN domena_firmy.dyndns.biz"

3. W jakim celu na serwerze otwierać porty 22tcp i 53udp

4. Czy w wersji CC stosuje się poniższe wpisy? W BB ani w CC nie zauważyłem tego.
        option family       'ipv4'
        option mtu_fix          1

27

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

1. http://eko.one.pl/?p=openwrt-uci#dodanielisty
2. dają opcje dns/wins/domain dla sieci. Dla routera może ich nie być, dla klienta windows - pewnie tak, bo wie czego szukać.
3. wg przykładu Rafała? otwierał sobie dostęp po ssh
4. BB/CC jest i ipv4 i ipv6. Możesz określić regułę firewalla tylko dla jednej rodziny adresów. mtu_fix pomaga na automatyczne ustawienie mtu w razie potrzeby - niektóre sieci mają problem ze stałym mtu, np. niektóre na pppoe bazujące.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

28 (edytowany przez _michal 2015-11-24 01:27:48)

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Poległem. Cały wieczór nad tym przesiedziałem i nic. Nie rozumiem dlaczego w tym przykładzie na routerze-kliencie on używa kluczy z serwera. Robiąc wg jego przykładu i nawet poprawiając klucze na klientowskie nie mogę ustanowić połączenia VPN (choć przy Twojej konfiguracji to działa więc klucze są dobre).
On używa adresów do serwerów DNS ja natomiast mam publiczne IP na serwerze i dynamiczne na kliencie. Myślałem, kombinowałem na różne sposoby i lipa.
Chyba jestem za głupi na to, żeby to ogarnąć sad Lub też czegoś nie rozumiem.

Czy nie można zrealizować tego przykładu w nieco prostszy sposób?

 list remote vpn_server_lan1.dyndns.biz
 option tls_remote vpn_server_lan1.dyndns.biz
option ca /etc/openvpn/ca.crt
option cert /etc/openvpn/vpn_server_lan1.dyndns.biz.crt
option key /etc/openvpn/vpn_server_lan1.dyndns.biz.key

29

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

jak rozumiem chcesz zestawić takie połączenie?

LAN1 <-> ROUTER1 <-> WAN [via OPENVPN] <-> ROUTER2 <-> LAN2 <-> WIN7

30

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Dokładnie takie.

LAN1 (192.168.1.0) <-> ROUTER1 (serwer) <-> WAN [via OPENVPN] <-> ROUTER2 (klient) <-> LAN2 (192.168.2.0) <-> WIN7 (jakiekolwiek urządzenie na WIN7/10)

31

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

no to spróbujmy

co musisz zrobić:
- zestawić połączenie VPN
- wysłać z ROUTER1 do ROUTER2 trasę routingu,
- skonfigurować firewall
- przy LAN1 możesz też skonfigurować DNS'a

Ja bym zrobił to tak:
Osobiście, nie konfiguruje nigdy OpenVPN przez config'i OpenWRT, dlatego zrobiłbym tak na obu routerach:

# cat /etc/config/openvpn 
package openvpn

config openvpn MOJVPN
        option 'enable' 1 
        option 'config' /etc/openvpn/MOJVPN/config.ovpn

SERWER:

#/etc/openvpn/MOJVPN/server.ovpn
cd /etc/openvpn/MOJVPN #żeby nie dawać pełnej ścieżki do certyfikatów
dev tun
proto udp
local YOURIP
port 1194
ifconfig 10.10.0.1 255.255.255.0
keepalive 10 60
ca file1
cert file2
key file3
push "route 192.168.1.0 255.255.255.0" #założyłem, że taką masz maskę, inna to zmień
push "dhcp-option DOMAIN lan1.lan" #dałbym sobie domene żeby się nie męczyć, że DNSy dla google.com mogą wędrować gdzie indziej
push "dhcp-option DNS 192.168.1.1"

KLIENT

dev tun
proto udp
client
cd /etc/openvpn/MOJVPN
ca
cert
key
remote YOURIP
port 1194

Teraz Network/Firewall:

#/etc/config/network
#dodaj
config interface 'VPN'
        option proto 'none'
        option ifname 'tun0'
#/etc/config/firewall
config zone                 
        option name 'VPN'     
        option input 'ACCEPT'
        option output 'ACCEPT'
        option network 'VPN'      
        option masq '1' 
        option forward 'ACCEPT'

config forwarding               #jedno na serwerze, drugie na kliencie, zależy w którą strone ten ruch ma latać       
        option dest 'VPN'   
        option src 'lan' 
config forwarding             
        option dest 'lan'    
        option src 'VPN' 
        
config rule                        #jeszcze otwórz port 1194
        option target 'ACCEPT'
        option src 'wan'      
        option proto 'udp'   
        option dest_port '1194'
        option name '1194' 

Jak koniecznie chcesz po nazwach jeszcze widzieć drugą stronę to do dnsmasq dopisujesz opcje:

list server '/lan1.lan/192.168.1.1'

Napisałem 'na sucho' więc mogą być jakieś drobne błędy, ale myślę, że chociażby idea Cię naprowadzi na rozwiązanie.
ponadto w openvpn pominąłem opcje typu cipher, auth, tls, comp-lzo, żeby nie namieszać i nie pomylić się w zbyt dużej ilości miejsc.

32

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Wzorując się na Twojej konfiguracji zrobiłem to dla mojego przypadku i działa tak jak powinno. Mając taką sprawdzoną konfigurację mogę ew. ją ulepszać.
Wypada podziękować kolegom Cezary i pszafer za pomoc i cierpliwość.

33

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Cześć,

Chciałbym nieco "podrasować" działające połączenie mianowicie obecnie z klienta łączę się z urządzeniami w sieci LAN serwera, a gdyby chciał dostać się z serwera do sieci LAN klienta? Przeanalizowałem wpisy i moim zdaniem potrzebny będzie wpis w tabeli routingu serwera. Obecną tabelę zamieszczam poniżej.

Czy dobrze rozumuję?

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         xx.x.xxx.xx.jim 0.0.0.0         UG    0      0        0 pppoe-wan
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
10.8.0.2        *               255.255.255.255 UH    0      0        0 tun0
91.226.6.36     *               255.255.255.255 UH    0      0        0 pppoe-wan
192.168.1.0     *               255.255.255.0   U     0      0        0 br-lan

Tabela routingu na kliencie

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.64.xx.xx     0.0.0.0         UG    0      0        0 wwan-wan
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.64.64.64     0.0.0.0         255.255.255.255 UH    0      0        0 wwan-wan
192.168.1.0     10.8.0.5        255.255.255.0   UG    0      0        0 tun0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan

34

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Na serwerze w konfigu openvpn dajesz:
list route IP_SIECI_ZA_KLIENTEM MASKA_SIECI_ZA_KLIENTEM
i on sam sobie dopisze trasę gdy uruchomi się openvpn

* WR1043v1 16MB@64MB * || * WT3020-16MB * || * Xiaomi Miwifi Mini *
* E3276 HiLink + RTL2832 + IT9135 + Siano + EC103 *

35

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Jeśli dobrze zrozumiałem to dopisałem ostatnią linię, jednak w tabeli routingu jest b/z sad

config openvpn 'home'
        option enabled '1'
        option dev 'tun'
        option port '1194'
        option proto 'udp'
        option log '/tmp/openvpn.log'
        option verb '3'
        option ca '/etc/openvpn/ca.crt'
        option cert '/etc/openvpn/serwer.crt'
        option key '/etc/openvpn/serwer.key'
        option server '10.8.0.0 255.255.255.0'
        option dh '/etc/openvpn/dh2048.pem'
        option push 'route 192.168.1.0 255.255.255.0'
        option keepalive '10 120'
        option list 'route 192.168.2.0 255.255.255.0'

36 (edytowany przez mar_w 2017-11-15 09:17:13)

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

To sprawdź
option route 192.168....

Bez tego list. I restart serwera

EDIT: o to samo pytałeś się w 2015r. A teraz miałeś dodać:
list route ....
A Ty dodałeś:
option list route...

Zrób tak jak w tym poradniku wg własnej numeracji sieci to będziesz widział wszystkie sieci:
http://rpc.one.pl/index.php/lista-artyk … -w-openwrt

* WR1043v1 16MB@64MB * || * WT3020-16MB * || * Xiaomi Miwifi Mini *
* E3276 HiLink + RTL2832 + IT9135 + Siano + EC103 *

37

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Zrobiłem tak ponieważ nie byłem pewny czy edytując plik konfiguracyjny /etc/config/openvpn powinienem dopisać option czy też nie. Ostatecznie zrobiłem tak jak napisałeś i nie zmieniło to nic. Zauważyłem jednam że jak wpiszę adres 10.8.0.6 na LAN1 to łączę się z routerem z sieci LAN2.

Na przebudowę VPNa z tego poradnika w chwili obecnej nie mogę sobie pozwolić sad

config openvpn 'home'
        option enabled '1'
        option dev 'tun'
        option port '1194'
        option proto 'udp'
        option log '/tmp/openvpn.log'
        option verb '3'
        option ca '/etc/openvpn/ca.crt'
        option cert '/etc/openvpn/serwer.crt'
        option key '/etc/openvpn/serwer.key'
        option server '10.8.0.0 255.255.255.0'
        option dh '/etc/openvpn/dh2048.pem'
        option push 'route 192.168.1.0 255.255.255.0'
        option keepalive '10 120'
        list 'route 192.168.2.0 255.255.255.0'

38

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

_michal napisał/a:

...

config openvpn 'home'
        option enabled '1'
        option dev 'tun'
        option port '1194'
        option proto 'udp'
        option log '/tmp/openvpn.log'
        option verb '3'
        option ca '/etc/openvpn/ca.crt'
        option cert '/etc/openvpn/serwer.crt'
        option key '/etc/openvpn/serwer.key'
        option server '10.8.0.0 255.255.255.0'
        option dh '/etc/openvpn/dh2048.pem'
        option push 'route 192.168.1.0 255.255.255.0'
        option keepalive '10 120'
        list 'route 192.168.2.0 255.255.255.0'

Cytat z poradnika Cezarego:
"...Następnie są opcje definiowane przez 'options' o nazwie 'string' które mają wartość 'wartosc'. Oprócz słowa kluczowego wyróżnia się jeszcze słowo 'list' które jest po prostu zbiorem wartości dla danej opcji..."

a w poradniku Rafała jest ???
odp: list push "route ....."

I jeszcze zrób:
list route '192.168.2.0 255.255.255.0'
.... chodzi o apostrofy ...

* WR1043v1 16MB@64MB * || * WT3020-16MB * || * Xiaomi Miwifi Mini *
* E3276 HiLink + RTL2832 + IT9135 + Siano + EC103 *

39

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Przepraszam nie przypatrzyłem się w którym miejscu jest apostrof sad
W tablicy routingu pojawił się odpowiedni wpis, jednak nadal nie działa połączenie. Sprawdziłem w firewallu klienta przekierowanie i jest w porządku tj z VPN przekierowuje na LAN i odwrotnie.

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         36.6.226.91.jim 0.0.0.0         UG    0      0        0 pppoe-wan
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
10.8.0.2        *               255.255.255.255 UH    0      0        0 tun0
91.226.6.36     *               255.255.255.255 UH    0      0        0 pppoe-wan
192.168.1.0     *               255.255.255.0   U     0      0        0 br-lan
192.168.2.0     10.8.0.2        255.255.255.0   UG    0      0        0 tun0

40 (edytowany przez mar_w 2017-11-16 00:58:34)

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

no to już jest postęp.

... Sprawdziłem w firewallu klienta...

A jak tam firewall na serwerze???
@pszafer słusznie kazał Ci wpisać po jednej regułce w zależności, w którą stronę ma iść ruch. A teraz chcesz mieć ruch z obu kierunków, prawda ?
Zauważ że Rafał (rpc.one) na serwerze zrobił forward na maxa: vpn->lan, lan->vpn, vpn<->vpn

* WR1043v1 16MB@64MB * || * WT3020-16MB * || * Xiaomi Miwifi Mini *
* E3276 HiLink + RTL2832 + IT9135 + Siano + EC103 *

41

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Postęp jest i dziękuję za wskazówki smile
Do tej pory było tak że komputer w sieci klienckiej (z grupy adresów 192.168.2.x) mógł łączyć się z urządzeniami po strony LAN serwera (192.168.1.x np Raspberry). Teraz jest potrzeba także żeby połączyć się z urządzeniem, które będzie zainstalowane w LAN klienta. W tej chwili już połowicznie to działa tj. mogę dostać się poprzez adres VPN routera-klienta i zrobić przekierowanie poprzez określony port na urządzenie. Jednak jeśli można zrobić to bezpośrednio poprzez adres IP to byłoby prościej.

Forwarding - przećwiczyłem chyba wszystkie opcje i bez skutku.


config forwarding
        option dest 'lan'
        option src 'vpn'

# dodane 14112017
config forwarding
        option dest 'vpn'
        option src 'lan'

# dodane 16112017
config forwarding
        option dest 'vpn'
        option src 'vpn'

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

42

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

1. sprawdź czy masz zastosowaną wskazówkę Cezarego oraz Rafała na obu [serwer] i [klient]:
"...mtu_fix pomaga na automatyczne ustawienie mtu w razie potrzeby - niektóre sieci mają problem ze stałym mtu, np. niektóre na pppoe bazujące."

2. Jeżeli komputer z sieci 192.168.2.x może łączyć się z hostem z sieci 192.168.1.x natomiast komputer z sieci 192.168.1.x nie może łączyć się z komputerem z sieci 192.168.2.x ale działa przekierowanie np. 10.8.0.6:80 -> 192.168.2.100:80 to wychodzi że forward na kliencie VPN ze strefy VPN do LAN nie jest ustawiony.
Czy na kliencie masz tylko forwarding LAN -> VPN ???
Bo to by wyjaśniało czemu pakiety przechodzą TYLKO w jedną stronę.

* WR1043v1 16MB@64MB * || * WT3020-16MB * || * Xiaomi Miwifi Mini *
* E3276 HiLink + RTL2832 + IT9135 + Siano + EC103 *

43

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Hej,

1. ustawiłem "tun-mtu 1500" zarówno na serwerze jak i kliencie, restart obu urządzeń i nic
2. poniżej zamieszczam wpisy z /etc/config/firewall z klienta. Wg mnie jest dobrze ustawione ale mimo tego nie działa tak jak działać powinno sad

config forwarding
        option dest 'lan'
        option src 'VPN'

config forwarding
        option dest 'VPN'
        option src 'lan'

44

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

No to mamy problem taki, że jest sprawdzona konfiguracja Rafała z routingiem między sieciami, a z drugiej strony

_michal napisał/a:

...Na przebudowę VPNa z tego poradnika w chwili obecnej nie mogę sobie pozwolić ...

* WR1043v1 16MB@64MB * || * WT3020-16MB * || * Xiaomi Miwifi Mini *
* E3276 HiLink + RTL2832 + IT9135 + Siano + EC103 *

45

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Sprawdź czy wszystkie wpisy są prawidłowe, nie ma jakiejś literówki w plikach /etc/config (wielkośc liter ma znaczenie) czy zrestartowałeś wszystkie usługi po wprowadzeniu zmian (network, firewall, openvpn).

TP-Link TL-WDR3600 v1.5 -  OpenWrt Chaos Calmer 15.05.1 with Luci +Microsoft LifeCam VX-3000
RaspberryPi 2 - OMV Stone Burner 2.0.15 +Creative SB Play +Medion OR24V +DVB-T Media-Tech MT4163  +MP00202AC +3xDS18B20 +HIH-4000-002 +MPXHZ6115A +Samsung SPF-85H +D-Link DUB-H7

46

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

mar_w napisał/a:

No to mamy problem taki, że jest sprawdzona konfiguracja Rafała z routingiem między sieciami, a z drugiej strony

_michal napisał/a:

...Na przebudowę VPNa z tego poradnika w chwili obecnej nie mogę sobie pozwolić ...

Nie wynika to z mojej złej woli czy lenistwa. Poprzez weekend plany nieco się pozmieniały i mam w końcu te dwa urządzenia (klient i serwer) fizycznie w jednym miejscu.

Nie rozumiem póki co poniższego:
"Cały przykład tunelu jest tak przygotowany, że bardzo ważne jest podanie nazwy DNS serwera OpenVpn w wygenerowanym certyfikacie. W certyfikacie serwera MUSI być w polu CommonName wpisana nazwa dns serwera bo to jest sprawdzane przez klientów openvpn (opcja tls-remote)."

Czyli każdy z klientów musi być identyfikowany poprzez publiczny adres IP lub być zarejestrowanym na stronie dyndns? Czy to jest wymyślona nazwa i nie ma nic wspólnego z dyndns? W moim przypadku serwer posiada publiczny adres IP i do niego łączy się klient po tym adresie.
vpn_server_lan1.dyndns.biz

47 (edytowany przez tewues 2017-11-20 15:38:15)

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Witam.


Zapytanie do znawców tematu.

Na swoich linuksach, windozach i androidzie z powodzeniem
używam klienckich plików konfiguracyjnych typu "all-in-one".

Przykładowy plik  klient.conf:

client
dev                    tun
remote              gw-296-173-wood.org
remote-cert-tls  server
comp-lzo
nobind

ca              [inline]
cert            [inline]
key            [inline]
tls-auth     [inline]  1

<ca>
-----BEGIN CERTIFICATE-----
...zawartość certyfikatu...
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
...zawartość certyfikatu...
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
...zawartość klucza...
-----END PRIVATE KEY-----
</key>
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
...zawartość tls-auth...
-----END OpenVPN Static key V1-----
</tls-auth>


Czy w OpenWRT/LEDE też da się taki sposób zastosować?


Pozdrawiam.

48

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Tak. Przykładowy konfig z openvpn w lede/openrwt ma na samym początku przykład takiego czegoś. Podajesz gdzie jest plik, robisz enable 1 i już.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

49

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

Pięknie dziękuję!

Dobrego dnia.

50

Odp: OpenVPN w trybie TUN - konfiguracja klienta Win7

mar_w napisał/a:

No to mamy problem taki, że jest sprawdzona konfiguracja Rafała z routingiem między sieciami, a z drugiej strony

_michal napisał/a:

...Na przebudowę VPNa z tego poradnika w chwili obecnej nie mogę sobie pozwolić ...

Hej, ogarnąłem sprawy związane z przekonfigurowaniem VPNa dla serwera i dwóch klientów.  Jeden z klientów jest połączony poprzez modem E3372 Hilink i z tego klienta nie mogę się dostać do LANów serwera oraz pierwszego klienta. W drugą stronę działa poprawnie. Domyślam się że muszę popracować nad routingiem poprzez tunel. Mogę poprosić o nakierowanie mnie na właściwy trop? Czy to muszę wykonać w CCD dla danego klienta?

Obecna konfiguracja VPNa, ccd oraz route serwera, oraz tablica routingu klienta z Hilinkiem przedstawia się następująco:

cd /etc/openvpn
port 1187
proto udp
dev tun0
ca ca.crt
cert serwer.crt
key serwer.key
dh dh2048.pem
server 10.0.1.0 255.255.255.0
ifconfig 10.0.1.1 255.255.255.0
route 192.168.2.0 255.255.255.0
route 192.168.3.0 255.255.255.0
route 192.168.8.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
push "route 192.168.2.0 255.255.255.0"
push "route 192.168.3.0 255.255.255.0"
push "route 192.168.8.0 255.255.255.0"
client-to-client
client-config-dir /etc/openvpn/ccd
ccd-exclusive
persist-key
persist-tun
#comp_lzo
log /tmp/openvpn.log
verb 3
tls-server
keepalive 10 20
tun-mtu 1500
ifconfig-pool-persist /tmp/ipp.txt
fconfig-push 10.0.1.20 10.0.1.21
iroute 192.168.3.0 255.255.255.0
iroute 192.168.8.0 255.255.255.0
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.8.1     0.0.0.0         UG    0      0        0 eth2
10.0.1.0        10.0.1.21       255.255.255.0   UG    0      0        0 tun0
10.0.1.21       0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.1.0     10.0.1.21       255.255.255.0   UG    0      0        0 tun0
192.168.2.0     10.0.1.21       255.255.255.0   UG    0      0        0 tun0
192.168.3.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan
192.168.8.0     0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.8.1     0.0.0.0         255.255.255.255 UH    0      0        0 eth2