二)修改配置文件 1. 编辑 vi /etc/pptpd.conf 文件,确定本地VPN服务器的IP地址和客户端登录后分配的IP地址范围。pptpd.conf是PPTP服务PPTPD运行时使用的配置文件,常用选项如下(#号后是选项说明): option /etc/ppp/options.pptpd #PPP组件将使用的配置文件 stimeout 10 #开始PPTP控制连接的超时时间,以秒计 debug #把所有debug信息记入系统日志/var/log/messages localip 192.168.1.4 #服务器VPN虚拟接口将分配的IP地址,修改成你的服务器地址 remoteip 192.168.1.250-254 #客户端VPN连接成功后将分配的IP或IP段,如果是地址范围可表示为192.168.1.200-234的形式 2. 编辑 /etc/ppp/options.pptpd 文件,它是PPP功能组件pppd将使用的配置文件,由于PPTP VPN的加密和验证都与PPP相关,所以PPTP的加密和验证选项都将在这个配置文件中进行配置。 auth lock debug proxyarp lock name rh9vpn #VPN服务器的名字 multilink refuse-pap refuse-chap refuse-mschap refuse-eap refuse-mschap-v2 require-mppe ms-wins 192.168.1.2 #把想要在网络邻居中看到的机器的IP填写到这里(如果你要给公司架设2台VPNserver做冗余,那么这个地址段相互不能重复) ms-dns 192.168.1.2 #DNS服务器地址 dump logfile /var/log/pptpd.log #日志存放的路径 3. 编辑 /etc/ppp/chap-secrets文件,在此配置能够连接到VPN服务器的用户、密码和IP等信息: [root@vpn ppp]# more /etc/ppp/chap-secrets # Secrets for authentication using CHAP # client server secret IP addresses "lizhi" * "titan*#06#net" * 说明:上面第二行代码的四项内容分别对应第一行中的四项。“lizhi”是Client端的VPN用户名;“server”对应的是VPN服务器的名字,该名字必须和/etc/ppp/options.pptpd文件中指明的一样,或者设置成“*”号来表示自动识别服务器;“secret”对应的是登录密码,本例为titan*#06#net;“IP addresses”对应的是可以拨入的客户端IP地址,如果不需要做特别限制,可以将其设置为“*”号。 4 .设置IP伪装转发 只有设置了IP伪装转发,通过VPN连接上来的远程计算机才能互相ping通,实现像局域网那样的共享。用下面的命令进行设置: #echo 1 > /proc/sys/net/ipv4/ip_forward 可以将这条命令放到文件/etc/rc.d/rc.local里面,以实现每次开机时自动运行该命令。 iptables -t nat -A POSTROUTING -j SNAT --to XXX.XXX.XXX.XXX 5.打开防火墙端口 要让外部用户能连接PPTP VPN,还需要在防火墙中加入以下规则(也就是将Linux服务器的1723端口和47端口打开,并打开GRE协议) #/sbin/iptables -A INPUT -p tcp --dport 1723 -j ACCEPT #/sbin/iptables -A INPUT -p tcp --dport 47 -j ACCEPT #/sbin/iptables -A INPUT -p gre -j ACCEPT |