安裝Racoon實現Pure IPsec VPN

前段時間參考“VPS上基于Debian搭建和配置Pure IPsec支持iOS/Win7/Android等多平台VPN客户端”一文編譯安裝了Strongswan作pure ipsec vpn供ios使用,但是,一來strongswan穩定性一般,二則不能通過vpnc連接,因此考慮利用racoon來實現pure ipsec vpn。

服務器環境是debian 6.0,ramhost kvm LA機房。

首先安裝rancoon:

sudo aptitude install racoon

安裝完成後配置文件在/etc/racoon目錄,首先編輯racoon的配置文件:

cd /etc/racoon
sudo vim racoon.conf

插入以下代碼:

path pre_shared_key "/etc/racoon/psk.txt";

listen {
}

remote anonymous { 
exchange_mode aggressive, main, base;
mode_cfg on;
proposal_check obey;
nat_traversal on;
generate_policy unique;
ike_frag on; 
passive on;
dpd_delay 30;

proposal {
lifetime time 28800 sec;
encryption_algorithm aes;
hash_algorithm sha1;
authentication_method xauth_psk_server;
dh_group 2;
          }
} 

sainfo anonymous {
encryption_algorithm aes, 3des, blowfish;
authentication_algorithm hmac_sha1, hmac_md5;
compression_algorithm deflate;
} 

mode_cfg {
auth_source system; #使用系統的用戶名和密碼認證
dns4 8.8.8.8;
banner "/etc/racoon/motd"; #banner,登錄成功後的歡迎信息
save_passwd on;
network4 10.12.0.100;
netmask4 255.255.255.0;
pool_size 100;
pfs_group 2;
}

然後編輯群組名稱和密鑰:

sudo vim psk.txt

设置好psk.txt文件的权限:

chmod 600 /etc/init.d/psk.txt

群組名稱和密鑰既vpnc的IPsec ID和IPsec secret,用下面的形式:

NAME SECRET

中間用空格或tab隔開。

然後編輯banner:

sudo vim motd

內容隨便寫。

最後添加iptables轉發信息:

iptables -A INPUT -p udp -m udp --dport 500 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 4500 -j ACCEPT
iptables -A INPUT -p esp -j ACCEPT
iptables -A FORWARD -s 10.12.0.0/255.255.255.0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.12.0.0/255.255.255.0 -o eth0 -j MASQUERADE

並修改net.ipv4.ip_forward為1允許轉發:

sudo vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

使修改立即生效:

sudo sysctl -p

可以添加一些不允許登錄的用戶來登錄vpn:

sudo useradd -s /bin/false username
sudo passwd username

如果有问题,或者连接不上可以用打开log查错:

racoon -F

本文主要參考了以下網頁:

[1] Wellsgz. Pure IPsec VPN with IPsec-Tools/Racoon on CentOS. http://blog.wellsgz.info/?p=1964
[2] Lordong. Centos VPS+黑莓VPN教程. http://lordong.me/wp/post/1420.html

2 Comments

fish进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注