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 email nie zostanie opublikowany.

This site uses Akismet to reduce spam. Learn how your comment data is processed.