沈阳欺诈投诉电话查询:基于L2tp/IPSec的VPN环境搭建
服务器端:linux 内核要求:推荐2.6.32以及以上
详细参考openswan文件夹中的README文件
需要的软件:Openswan:用于IPSec的配置http://www.openswan.org/code/
一般内核高的直接make,make install就可以安装成功
Xl2tpd,用于l2tp的配置:http://www.xelerance.com/services/software/xl2tpd/
L2tp环境的搭建:成功完成此部分搭建后应该可以利用客户端使用L2tp直接连接服务器,但是不加密。Windows的L2tp是和IPSec绑定的。如果要仅用L2tp连接需要再配置,详细见客户端配置部分。
成功连接后可以抓包,格式如下:
安装xl2tpd:以下的操作最好是以根用户身份操作,不然中间会有很多小麻烦,需要用根命令sudo执行
安装的时候最好看下安装包中的Makefile文件,我安装的版本可以直接make编译,make install安装,但是并不保证以后的版本都是这样,还有就是根据操作系统内核的不同安装方式不一样,注意。安装后如果没出现error字样的提示则表示安装成功了。下面开始配置。
1. 编辑 /ect/xl2tpd/xl2tpd.conf
可以清空里面的内容,然后写上有用的部分如下:
[global]
[lns default]
ip range = 10.1.1.2-10.1.1.255
local ip = 本机ip
require chap = yes
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
不理解的话可以直接复制没有问题的。ip range是为客户端分配的ip,local ip为服务器本地ip地址,require chap是指明连接的验证方式为chap,而不是pap或者是MS-CHAP等,name是服务器名字,随便写。Pppoptfile指明配置文件的路径。改好后保存。
Ppp配置
确保机子已经安装了ppp服务,可以重新写一遍aptitude install ppp从源安装ppp。
cp /usr/share/doc/xl2tpd/examples/ppp-options.xl2tpd
/etc/ppp/options.xl2tpd
把xl2tpd例子中的配置文件复制到指定的路径中,并命名为options.xl2tpd,然后再编辑一下这个文件:
Vim /etc/ppp/options.xl2tpd
修改mx-dns为你要分配给连接来的客户机的DNS地址
修改后保存。
添加一个ppp账户
编辑文件vim /etc/ppp/chap-secrets 格式如下:
用户名 * 密码 *
之间最好用tab键规范。现在服务器端的L2tp就搭建好了,要让能连接来的客户机访问网络,还需要做转发设置:
Vim /etc/sysctl.conf
将其中的net.ipv4.ip_forward=1这行取消前面的#号注释。保存退出。
执行 sysctl –p使之生效。如果想使服务器每次启动都对此设置就再编辑 vim /etc/rc.local 将其添加到exit 0之前,保存。
转发设置:iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE
将上面设置的10.1.1.0/24子网中的包从eth0转发,对应上面的xl2tpd.conf文件中的ip range。
然后在终端执行一次iptables命令使其生效。现在服务器端的L2tp已经配置好了,开始配置客户端。
客户端:windows操作系统
打开网络设置---设置新的网络连接---连接到工作区---创建新连接---使用我的Internet连接(VPN)---输入刚配置的服务器的ip地址,目标名称随意,勾选下面的“现在不连接;仅进行设置以便稍后连接”---用户名和密码输入在客户端创建的用户名和密码,域不填---创建。
IPSec部分的环境设置:
VPN的使用很多时候都是需要基于安全的加密传输,所以IPSec配置很必要。
服务器端:
在安装openswan的时候可能先要安装一些编译所必须的包,这些都在openswan文件夹中的README文件中都有说明,所以建议查看下载的版本中此文件。我安装的openswan 2.6.33中需要 build-essential,
Libgmp3-dev,gawk,flex,bison,需要的话就依次安装aptitude install …
解压openswan包并进入目录,make programs,make install,如果没有出现error字样的错误信息则安装成功。
编辑配置文件 vim /etc/ipsec.conf
1. 修改protostack一行为protostack=netkey
2. 转向文件底部输入如下配置:(这里输入格式要有注意缩进)
conn %default
Forceencaps=yes
conn L2TP-PSK-NAT
rightsubnet=vhost:%no,%priv
also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
ikelifetime=8h
keylife=1h
type=tunnel
left=服务器的ip地址
leftprotoport=17/1701
right=%any
rightprotoport=17/%any
然后保存退出编辑。
设置PSK预共享密钥:vim /etc/ipsec.secrets
在新的一行中输入如下:
服务器ip地址 %any: PSK “预共享密钥”
中间用tab键隔开。
设置网络策略,在终端输入如下:
for each in /proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
done
要使此策略在每次系统开启时生效则需要将其加入到rc.local文件中
vim /etc/rc.local 在exit 0之前加入如上的代码,然后报错退出编辑。
然后重启IPSec服务: service ipsec restart
现在服务器端的IPSec部分就配置好了,客户端需要使用L2tp/IPSec连接需要对客户端再做修改。
客户端:
打开建立好的不加密的l2tp的VPN连接,属性---安全,高级设置---选中“使用预共享的密钥作身份验证”---数据加密选项选择“需要加密”现在就可以使用IPSec加密的通道连接服务器了。在WIN7中直接连又会出现错误789,解决办法是:
常见错误:
1. 客户端789错误:
通常是因为windows默认使用IPSec而服务器端又没有配置好造成,可以修改注册表添加并设置ProhibitIpSec来解决。
2. 客户端619或809错误:
通常是因为服务器端的l2tp服务不正常,确保服务器端是以根用户身份启动xl2tpd。