Poniższy podręcznik nie powstał by bez forumowicza rafee który udostępnił niezbędny login i hasło do celów testowych.Założenia:
- normalna sieć, z połączeniem wan
- tworzymy vpn'a uruchamianego w razie potrzeby ("z palca")
Do tego celu wykorzystano serwis
ipredatror.se który za nie wielką cenę umożliwia połączenie się (przy pomocy PPTP) i anonimowe przeglądanie sieci.
Nie wiem czy ipredator.se nie trzymają logów połączeń i nie ugną się przez odpowiednimi siłami nacisku. Więc przed wykorzystaniem anonimowości należy mieć tego świadomość.
Jedną ze specyfiki w/w serwisu jest konieczność korzystania z MPPE z kodowaniem 128bitowym.
Instalacjaopkg update
opkg install pptp kmod-mppe
Przy okazji zainstalują się też inne pakiety (m.in. kmod-gre), więc należy pamiętać żeby pobierać je z właściwego źródła.
KonfiguracjaSekcja VPNTworzymy nową sekcję w pliku
/etc/config/network. Można posłużyć się interfejsem UCI lub edytować plik ręcznie; ostatecznie należy dodać taki wpis:
config 'interface' 'vpn'
option 'proto' 'pptp'
option 'server' 'vpn.ipredator.se'
option 'username' 'XXX'
option 'password' 'YYY'
Za XXX/YYY wprowadzamy oczywiście login i hasło otrzymane podczas zakupu usługi.
Modyfikacje opcji pppZ racji specyficznych wymagań serwisu ipredator niezbędne jest wymuszenie MPPE z kodowaniem 128bitów. Wykonuje się ustawiając odpowiednie opcje w pliku
/etc/ppp/options.pptp. Wystarczy tylko jedno polecenie
echo "mppe required,stateless" >> /etc/ppp/options.pptp
FirewallOstatnia sprawa - to umożliwić hostom podłączonym do routera komunikowanie się przez ten tunel. Wymagane są odpowiednie wpisy w firewallu (plik
/etc/config/firewall). Można to zrobić np. umieszczając takie wpisy:
config zone
option name vpn
option input REJECT
option output ACCEPT
option forward REJECT
option masq 1
config forwarding
option src lan
option dest vpn
config forwarding
option src vpn
option dest lan
UruchomieniePonieważ usługa ma być uruchamiana na żądanie - nie tworzymy żadnych skryptów startowych ani innych flag. Do uruchomienia wystarczy więc polecenie
ifup vpn
Po kilku sekundach powinien pojawić się interfejs oznaczony pptp-vpn, w tym przykładzie wyglądało to następująco:
pptp-vpn Link encap:Point-to-Point Protocol
inet addr:93.182.xx.xx P-t-P:93.182.xx.xx Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1452 Metric:1
RX packets:4573 errors:0 dropped:0 overruns:0 frame:0
TX packets:4596 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:290788 (283.9 KiB) TX bytes:298973 (291.9 KiB)
Wyłączenie tunelu analogicznym poleceniem:
ifdown vpn
Otrzymany adres można także sprawdzić poleceniem
root@OpenWrt:/# wget -q -O - http://openrouter.info/host.php | grep IP
Twój adres IP: <strong>93.182.xxx.xxx</strong> (anon-xxx-xxx.ipredate.net)
TestyPing:
root@OpenWrt:/# ping -c 10 openrouter.info
PING openrouter.info (94.152.131.216): 56 data bytes
64 bytes from 94.152.131.216: seq=0 ttl=48 time=124.185 ms
64 bytes from 94.152.131.216: seq=1 ttl=48 time=133.378 ms
64 bytes from 94.152.131.216: seq=2 ttl=48 time=123.128 ms
64 bytes from 94.152.131.216: seq=3 ttl=48 time=113.185 ms
64 bytes from 94.152.131.216: seq=4 ttl=48 time=142.604 ms
64 bytes from 94.152.131.216: seq=5 ttl=48 time=112.344 ms
64 bytes from 94.152.131.216: seq=6 ttl=48 time=132.087 ms
64 bytes from 94.152.131.216: seq=7 ttl=48 time=281.833 ms
64 bytes from 94.152.131.216: seq=8 ttl=48 time=181.574 ms
64 bytes from 94.152.131.216: seq=9 ttl=48 time=131.297 ms
Normalnie bez tunelu jest to ok 60 - 70ms.
Usługę można zautomatyzować - wykorzystując np.
przyciski na obudowie można włączyć i wyłączyć tunel naciskają przycisk na obudowie routera, a fakt istnienia połączenia przez tunel - zapalając jedną z
diod LED.
Do sprawdzenia ew problemów można posłużyć się poleceniem
logread a do diagnostyki blędów -
http://pptpclient.sourceforge.net/howto-diagnosis.phtml