serwer VPN IPSec z użyciem strongSwan
Ostatnia zmiana: 2013-11-26 18:43
IPSec jest obecny standardowo w większości obecnych systemów, począwszy od androda, przez iPhone a na Windows 7 skończywszy, więc w przeciwieństwie do
OpenVPN nie trzeba instalować dodatkowego oprogramowania na kliencie. Przedstawione rozwiązanie zapewnia szyfrowany tunel do routera z dostępem do internetu przez ten router, zabezpieczony parą login/hasło.
Poniższy poradnik wykorzystuje
strongSwan. Reguły przetestowano dla OpenWrt Attitude Adjustment 12.09. Jako klient: Android 4.1/4.2, powinno także działać z iPhone.
Instalacja strongSwan wraz z zależnościami zajmuje dużo miejsca, więc wymaga
extroota.
OpenWrt
Instalacja
# opkg install strongswan-default
# opkg install strongswan-mod-dhcp strongswan-mod-farp
# mkdir -p /etc/ipsec.d/private
Pliki konfiguracyjne
/etc/ipsec.conf
config setup
conn android
keyexchange=ikev1
authby=xauthpsk
xauth=server
left=%defaultroute
leftsubnet=0.0.0.0/0
leftfirewall=yes
right=%any
rightsourceip=%dhcp
forceencaps=yes
auto=add
/etc/ipsec.secrets
: PSK "pass18"
user1 : XAUTH "haslo1"
user2 : XAUTH "haslo2"
user3 : XAUTH "haslo3"
"pass18" jest tzw. kluczem wspólnym.
/etc/strongswan.conf
# strongswan.conf - strongSwan configuration file
charon {
dns1 = 8.8.8.8
plugins {
dhcp {
server = 192.168.1.1
}
}
}
pluto {
}
libstrongswan {
# set to no, the DH exponent size is optimized
# dh_exponent_ansi_x9_42 = no
}
/etc/init.d/ipsec
#!/bin/sh /etc/rc.common
START=99
STOP=01
start() {
ipsec start
}
stop() {
ipsec stop
}
Firewall
# uci add firewall rule
# uci set firewall.@rule[-1].src=wan
# uci set firewall.@rule[-1].target=ACCEPT
# uci set firewall.@rule[-1].proto=tcpudp
# uci set firewall.@rule[-1].dest_port=4500
# uci add firewall rule
# uci set firewall.@rule[-1].src=wan
# uci set firewall.@rule[-1].target=ACCEPT
# uci set firewall.@rule[-1].proto=tcpudp
# uci set firewall.@rule[-1].dest_port=500
# uci commit firewall
Uruchomienie
# chmod 755 /etc/init.d/ipsec
# /etc/init.d/firewall restart
# /etc/init.d/ipsec enable
# /etc/init.d/ipsec start
Android 4.1/4.2
Należy po kolei wybrać:
- Ustawienia -> Sieci zwykłe i bezprzewodowe -> Więcej -> VPN -> Dodaj profil VPN
- Nazwa: dowolna
- Typ: IPSec Xauth PSK (nie L2TP/IPSec PSK!)
- Adres serwera: adres IP na WAN
- Identyfikator IPSec: zostawić puste
- Klucz wspólny IPSec: pass18
- pozostałe elementy zostawiamy w spokoju takie jakie są.
- Wybrać
ZapiszDo połączenia należy podać użytkownika i hasło podane wcześniej w pliku, czyli np.
user2 jako użytkownik i
haslo2 jako jego hasło.