VPN çözümü olarak L2TP/IPSec kullanan Gentoo Linux kullanıcıları için kısaca client yapılandırma adımları:
- İlk olarak 'portage' ağacımızı güncelleyelim.
# emerge --sync
veya
# emerge-webrsync
- Gerekli olan paketleri kuralım."openswan ve xl2tpd"
# emerge openswan xl2tpd
NOT: VPN bağlantısı(örnek:authentication,encryption,compression gibi) için kernel'de gerekli destekleri vermek gerekmektedir.Aşağıdaki seçenekleri kernel konfigürasyonunuzda aktif edip etmediğinizi kontrol edin.
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
CONFIG_NET_KEY=y
CONFIG_XFRM_IPCOMP=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
- Paket kurulumları bittikten sonra VPN bilgilerimize göre konfigürasyonları yapmaya başlayalım.Aşağıda örnek VPN sunucu ve istemci bilgileri verilmiş ve bu bilgilere göre ayarlamalar yapılmıştır.Sizde kendi VPN sunucu ve istemci bilgilerinize göre o kısımları değiştiriniz.
VPN Sunucu Public IP: 195.202.46.45
VPN Sunucu Local IP: 10.1.40.40 ##### Firewall arkasındaki iç IP'si.Tabiki eğer NAT yapılıp,iç IP'si varsa.
Client Local IP: 192.168.2.80
Interface: wlan0 ##### Kablosuz Arabirimi
"/etc/ipsec.conf" dosyasını aşağıdaki gibi düzenleyin.(Kendi IP ve arayüz bilgilerinize göre değiştirmeyi unutmayın!)
config setup
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
nat_traversal=yes
protostack=netkey
oe=no
plutoopts="--interface=wlan0"
conn L2TP-PSK
authby=secret
pfs=no
auto=add
keyingtries=3
dpddelay=30
dpdtimeout=120
dpdaction=clear
rekey=yes
ikelifetime=8h
keylife=1h
type=transport
left=192.168.2.80
leftnexthop=%defaultroute
leftprotoport=17/1701
right=195.202.46.45
rightid=10.1.40.40
rightprotoport=17/1701
Burada "rightid=10.1.40.40" şeklinde VPN sunucumuzun Firewall arkasındaki IP bilgilerini "INVALID_ID" hatası almamaniz için girmeniz gerekmektedir.Tekrar not düşeyim eğer Firewall arkasında ve NAT'lanmışsa gerek vardır."/etc/ipsec.conf" dosyasını düzenledikten sonra daha önce size verilen IPSEC Pre-Shared keyi "/etc/ipsec.secrets" dosyasını oluşturarak aşağıdaki gibi girelim:
"/etc/ipsec.secrets"
192.168.2.80 10.1.40.40 : PSK "vpn_sunucunuzun_secret_keyi"
- Bu aşamada 'portage' ile kurulumunu yaptığımız "xl2tpd" paketinin init scripti küçük bir eksikle gelmektedir.Bu eksikliği manuel kendimiz tamamlayalım.
"/etc/init.d/xl2tpd" dosyasini açın ve
start() {
checkconfig || return 1
satırından sonra aynı girintide aşağıdaki satırları ekleyin.
<code>if !([ -f /var/run/xl2tpd/l2tp-control ]); then
mkdir -p /var/run/xl2tpd
touch /var/run/xl2tpd/l2tp-control
fi</code>
Şu şekilde görünmeli;
start() {
checkconfig || return 1
############l2tp-control dosyasi olusturmak icin eklendi.
if !([ -f /var/run/xl2tpd/l2tp-control ]); then
mkdir -p /var/run/xl2tpd
touch /var/run/xl2tpd/l2tp-control
fi
ebegin "Starting xl2tpd"
start-stop-daemon --start --quiet --exec /usr/sbin/xl2tpd
eend $?
}
ve dosyamızı kaydedip kapatalım.
- "/etc/xl2tpd/xl2tpd.conf" dosyasını aşağıdaki gibi satırları ekleyip kaydedelim.
[lac vpn-connection]
lns = 195.202.46.45
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes
- "/etc/ppp/options.l2tpd.client" dosyasını aşağıdaki gibi satırları ekleyip kaydedelim.Dosyanin son iki satırında bulunan 'name' ve 'password' satırlarına VPN erişimi için kullanacağınız kullanıcı adı ve parolanızı giriniz.
ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-mschap-v2
noccp
noauth
idle 1800
mtu 1410
mru 1410
defaultroute
usepeerdns
debug
lock
connect-delay 5000
name vpnkullaniciadi
password vpnerisimparolasi
- Servisleri başlatalım.
# /etc/init.d/ipsec start
/etc/init.d/xl2tpd start
- Gerekli ayarlamalar bitti.VPN bağlantısını aşağıdaki komutları vererek başlatalım;
# ipsec auto --up L2TP-PSK
echo "c vpn-connection" > /var/run/xl2tpd/l2tp-control
-
"ifconfig,ip link" gibi komutlarla 'ppp' arayüzünün aktif olup olmadığını ve IP alıp almadığını kontrol edin.
-
Buraya kadar sorunsuz ise routing işlemlerine geçelim.Routing işlemlerini birkaç farklı şekilde yapabiliriz.
Sadece belli IP'leri ya da tek IP'yi VPN ağınıza yönlendirmek isteyebilirsiniz.Örnek olarak sadece 10.1.0.0/16 şeklindeki IP bloğunu VPN ağına yönlendirmek isteyebilirsiniz.Bunun için aşağıdaki gibi routing yapabiliriz.
route add -net 10.1.0.0/16 gw 10.1.40.40
Eğer tüm trafiği VPN üzerinden geçirmek istersek(bu aşama biraz karmaşık gelebilir ama değil!) aşağıdaki gibi routing yapabiliriz;
# route add 195.202.46.45 gw 192.168.2.1 wlan0
Burada "195.202.46.45" VPN sunucumuzun Public IP'si."192.168.2.1" ise internete bağlı olduğumuz öntanımlı ağ geçidimiz(Kendi ağ geçidinizi öğrenmek için
# route -n |grep "^0.0.0.0" |awk '{print $2}'
komutunu kullanabilirsiniz.)"wlan0" ise internete bağlı olduğumuz arabirimimiz.Yukardaki komutu verdikten sonra mevcut öntanımlı ağ geçidimizi routing tablosundan silelim.
route del default gw 192.168.2.1
ve "ppp" arayüzünde gördüğümüz VPN sunucunun IP adresini öntanımlı ağ geçidi olarak ayarlayalım.
route add default gw 10.1.40.40
Bu adımdan sonra tüm trafiği VPN üzerinden geçirebilirsin.
11.VPN bağlantısını kesmek için;
# ipsec auto --down L2TP-PSK
echo "d vpn-connection" > /var/run/xl2tpd/l2tp-control
/etc/init.d/ipsec stop
/etc/init.d/xl2tpd stop
route del 195.202.46.45 gw 192.168.2.1 wlan0
route add default gw 192.168.2.1