Autor: Grzegorz Ciepłucha
v1.0, 12 Styczeń 2008


Dokument opisuje uruchomienie kanału VPN na routerze z oprogramowaniem OpenWRT.
Oryginał tego dokumentu znajduje się pod adresem
http://www.cieplucha.net/openvpn.html


1. Instalacja po stronie serwera

Zaczynamy od zainstalowania pakietu openvpn na routerze

ipkg install openvpn

Następnie tworzymy katalog oraz generujemy nasz klucz

mkdir /etc/openvpn
openvpn --genkey --secret /etc/openvpn/shared.key

Ładujemy odpowiedni moduł oraz ustawiamy automatyczne ładowanie tego modułu podczas startu routera

insmod tun
echo "tun" » /etc/modules

Plik konfiguracyjny openvpn na routerze

/etc/openvpn/server.vpn

dev tun0
ifconfig 192.168.1.2 192.168.1.3
secret /etc/openvpn/shared.key
port 1194
ping 15
ping-restart 45
ping-timer-rem
persist-key
persist-tun
verb 3

Tworzymy skrypt startowy oraz nadajemy mu odpowienie prawa.

/etc/init.d/S50openvpn

#!/bin/sh
openvpn --daemon --config /etc/openvpn/server.vpn
#koniec
chmod a+x /etc/init.d/S50openvpn

Dopisujemy odpowiednią regułę do firewalla

/etc/firewall.user

iptables -A FORWARD -i tun0 -o vlan0 -j ACCEPT

2. Intalacja po stronie klienta

Kopiujemy z serwera plik shared.key do katalogu /etc/openvpn

Plik konfiguracyjny po stronie klienta

/etc/openvpn/client.vpn

dev tun
remote 192.168.1.1 1194
ifconfig 192.168.1.3 192.168.1.2
secret /etc/openvpn/shared.key
port 1194
route-gateway 192.168.1.2
route 0.0.0.0 0.0.0.0
redirect-gateway
ping 15
ping-restart 45
ping-timer-rem
persist-tun
persist-key
verb 3

Ładujemy odpowiedni moduł

modprobe tun

Kanał VPN uruchamiamy poleceniem:

openvpn --daemon --config /etc/openvpn/client.vpn

Po chwili powinien zostać zestawiony kanał vpn. Możemy sprawdzić to poleceniem ifconfig po stronie routera oraz klienta.

Router

tap0      Link encap:Ethernet  HWaddr 00:FF:FE:44:33:22
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:31742 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:192.168.1.2  P-t-P:192.168.1.3  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:393913 errors:0 dropped:0 overruns:0 frame:0
          TX packets:603489 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:25233071 (1.0 MiB)  TX bytes:825852835 (787.5 MiB)

Klient

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:192.168.1.3  P-t-P:192.168.1.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:8608 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7275 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:9336688 (1.0 Mb)  TX bytes:872214 (851.7 Kb)

Tablica routingu

route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.2     0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.1.2     0.0.0.0         UG    0      0        0 tun0

Jak widać zmieniła się domyślna brama. Obecnie domyślna bramą jest adres naszego kanału vpn.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.