网络实验环境:
双网卡AS5.0 VPN服务器:eth0=192.168.10.1 eth1=192.168.20.1,eth0内网卡,虚拟网络vmnet2,eth1外网卡,虚拟网络桥接。
内网服务器IP地址:192.168.10.1
外网PC机,做VPN客户端,IP地址:192.168.20.2
一、软件包
- dkms-2.0.17.5-1.noarch.rpm
- kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
MPPE(Microsoft Point to Point Encryption,微软点对点加密) - ppp-2.4.4-9.0.rhel5.i386.rpm(AS5.0光盘默认就有)
PPP(Point-to-Point Protocol,点到点协议) - pptpd-1.3.4-1.rhel5.1.i386.rpm
软件包下载地址
1 | wget http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm |
安装
1 | rpm -ivh dkms-2.0.17.5-1.noarch.rpm |
二、安装软件包
安装时注意顺序
三、编辑pptpd主配置文件
#vim /etc/pptpd.conf
localip 后面要改为你服务器的外网IP地址:192.168.20.1,也就是VPN客户端拨号的IP地址。
remoteip 后面改为你分配给VPN用户的IP段….比如192.168.10.100-200
#vi /etc/ppp/options.pptpd
修改内容如下:
一般只需修改ms-dns,分配给VPN客户端的DNS服务器IP地址1
2
3
4
5
6
7
8name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 202.101.224.68
proxyarp重启pptpd服务器
四、增加VPN用户和密码,会立即生效的。
在/etc/ppp/chap-secrets
增加两行分别对应如下:
1 | # client server secret IP addresses |
上面第二行代码的四项内容分别对应第一行中的四项。“test@gd.cn” 是Client端的VPN用户名;“server”对应的是VPN服务器的 名字,该名字必须和/etc/ppp/options.pptpd文件中指明的一样,或者设置成“”号来表示自动识别服务器;“secret”对应的是 登录密码;“IP addresses”对应的是可以拨入的客户端IP地址,如果不需要做特别限制,可以将其设置为“”号。
五、开启路由转发
#echo 1 > /proc/sys/net/ipv4/ip_forward
可以将这条命令放到文件 /etc/rc.d/rc.local
里面,以实现每次开机时自动运行该命令。
六、开启linux 防火墙
将Linux服务器的1723端口和47端口打开,并打开GRE协议。
1 | #/sbin/iptables -A INPUT -p tcp –dport 1723 -j ACCEPT |
七、用Iptables做NAT服务
我们还需要设置NAT IP转发.否则用户连接上服务器后.是不能访问外网的内容的.
设置方法也很简单的.
复制内容到剪贴板
代码:
1 | iptables -t nat -F |
上面的192.168.10.0替换成你要分配给客户用的VPN 内网IP段
999.999.999.999 替换成你的VPN服务器IP [与上面PPTPD.CONF的LOCALIP一样]
最后我们打开LINUX服务器的IP转发功能就大功告成了