ppp
1.PPP就是一个拨号软件,用来提供用户登录的用户名和密码验证用的。实际上,PPTP和L2TP是可以共存在一台服务器上的,而且它们还可以共享用户登录账号信息,因为它们都用PPP作为用户登录连接。
yum install ppp
虽然我们现在还没有搭建起整个VPN,但是可以先在PPP中把要用来登录的用户名和密码先安排好,在上面的文件中新增一行
vim /etc/ppp/chap-secrets
xxx l2tpd Qwer1234!
``` *
l2tpd表示以后所有使用PPP作为用户认证的服务,xxx为用户名,Qwer1234!则是密码,包括PPTP和L2TP都可以使用loginname。第一个星号表示这个用户可以从任何IP登录。如果你希望控制一下,可以把星号改成具体的值来限制。
2.xl2tpd软件安装
就像pptp和pptpd一样,L2TP也依赖于xl2tpd。
`yum install xl2tpd`
但是大多数情况下,服务器上运行上面的命令会不成功,因为不存在xl2tpd这个安装包。如果运行成功的话,就可以继续往下操作,否则,我们运行下面的命令,通过rpm包来安装:
`wget http://dl.fedoraproject.org/pub/epel/6/x86_64/xl2tpd-1.3.6-2.el6.x86_64.rpm`
`yum install xl2tpd-1.3.6-2.el6.x86_64.rpm`
3.安装好xl2tpd之后,我们进行配置。它的配置文件有两个,一个是/etc/xl2tpd/xl2tpd.conf一个是/etc/ppp/options.xl2tpd,其实第一个文件把第二个文件包含进来而已。仍然采用备份和创建新文件的方法来修改配置文件:
ip range为给客户端分配的内网地址的范围。
`mkdir ~/~etc/xl2tpd`
`mv /etc/xl2tpd/xl2tpd.conf ~/~etc/xl2tpd/xl2tpd.conf`
`vim /etc/xl2tpd/xl2tpd.conf`
```python
[global]
port = 1701
[lns default]
ip range = 192.168.2.100-192.168.2.200
local ip = 192.168.2.1
require chap = yes
refuse pap = yes
require authentication = yes
name = l2tpd
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
mkdir ~/~etc/ppp
mv /etc/ppp/options.xl2tpd ~/~etc/ppp/opitons.xl2tpd
vi /etc/ppp/options.xl2tpd
ipcp-accept-local
ipcp-accept-remote
require-mschap-v2
ms-dns 8.8.8.8
ms-dns 8.8.4.4
noccp
auth
hide-password
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
proxyarp
connect-delay 5000
5.启动xl2tpd服务:
systemctl restart xl2tpd
systemctl enable xl2tpd
sysctl
1.sysctl的功能是开启转发。它能够将服务器内部的ip地址关系进行转发和映射,从而实现我们链接VPN之后的用户,能够通过内部的一些端口进行请求的转发。
找到下面几个选项,并把值改为我提供的值:
vi /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.tcp_syncookies=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_responses=1
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.ens32.accept_source_route=0
net.ipv4.conf.ens32.accept_redirects=0
net.ipv4.conf.ens32.send_redirects=0
net.ipv4.conf.ens32.rp_filter=0
net.ipv4.conf.lo.accept_source_route=0
net.ipv4.conf.lo.accept_redirects=0
net.ipv4.conf.lo.send_redirects=0
net.ipv4.conf.lo.rp_filter=0