linux下pptpd的安装配置(VPN)--单网卡VPN实现
(本文部分内容摘自互联网,特此声明!)
环境介绍:Linux(redhat) 2.6.18 PPP PPTPD
所需软件:pptpd-1.3.4-98.1.i586.rpm
ppp-2.4.X.rpm
kernel_ppp_mppe.X.rpm
pptp-1.7.0-1.i386.rpm
一.安装
下载相关软件后,直接rpm安装即可.
#rpm –ivh ppp-2.4.x.rpm
#rpm –ivh kernel_ppp_mppe.X.rpm
#rpm –ivh pptpd-1.3.4-98.1.i586.rpm
#rpm –ivh pptp-1.7.0-1.i386.rpm
当然也可以用gz包安装,用gz包安装完后,需要手动从错了解压的包里复制一个pptpd.conf文件到/etc/下面;centos系统就可以直接yum安装,挺方面.
二.配置
配置文件只有几处需要手动做下配置,分别是:
1. 修改pptpd.conf文件
该配置文件主要是确定本地VPN服务器的IP地址和客户端登录后分配的IP地址范围,测试环境的配置文件内容如下:
#### Recommended
option /etc/ppp/options.pptpd
localip 192.168.80.21
remoteip 192.168.80.240-245
netmask 255.255.255.0
# localip 192.168.0.234-238,192.168.0.245
# remoteip 192.168.1.234-238,192.168.1.245
ppp /usr/sbin/pppd
需要说明的是:在测试环境下的分配给客户端的IP是和VPN后面的机器在同一个网段,也是80网段,换做其它网段就不能连通VPN后面的机器,具体原因不太清楚,需以后有时间再测试.
2. 修改options.pptpd文件
该配置文件指定了VPN服务端名称,日志文件路径,DNS等,配置如下:
# Name of the local system for authentication purposes
# (must match the second field in /etc/ppp/chap-secrets entries)
lock
auth
debug
name jifen-ftp
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
logfile /var/log/pptpd.log
ms-dns 202.106.196.115
3. 修改chap-secrets文件
该文件是配置VPN帐号的地方,格式是:
client server secret IP addresses
用户名 VPN服务端名 密码 可以拨入的客户端IP地址(如果不做限制可以用*代替)
测试环境的配置文件如下:
# Secrets for authentication using CHAP
# client server secret IP addresses
"test" jifen-ftp "test" *
ahua jifen-ftp ahua *
4. 设置IP伪装转发
只有设置了IP伪装转发,通过VPN连接上来的远程计算机才能互相ping通,实现像局域网那样的共享.用下面的命令进行设置:
#echo 1 > /proc/sys/net/ipv4/ip_forward
或修改/etc/sysctl.conf文件,改成net.ipv4.ip_forward = 1, net.ipv4.conf.default.rp_filter = 0
马上生效执行:#sysctl -p
5. 防火墙设置
防火墙需要将VPN服务器的1723端口和47端口打开,并打开GRE协议.
启用iptables命令:iptables -A POSTROUTING -t nat -s 192.168.80.0/24 -j MASQUERADE
本测试环境,把防火墙全部关掉,还有IPtables也关掉.查看iptables的启用状态命令是:chkconfig iptables –list
关闭iptables 命令是:chkconfig iptables off
6. 启用PPTPD服务
#/usr/local/sbin/pptpd ,为了每次随机器一起启动可以加入/etc/rc.d/rc.local文件里.
另外,只有用户拔号上来后,VPN服务器才会启动pppd服务,可以用ps -ef|grep pppd 命令查看用户的拔号情况,用户拔上来后的信息是如下,包括来源IP,分配IP等:
# ps -ef|grep pppd
root 3299 3298 0 16:58 ? 00:00:00 /usr/sbin/pppd local file /etc/ppp/options.pptpd 115200 192.168.80.21:192.168.80.240 ipparam 192.168.80.58
到这里,VPN服务器基本上就建好了,用户可以远程拔号到内网进行管理.有些东西还是不太明白,例如分配的拔号IP和内网不在同一网段就不能互通,在本测试环境下就没有通过,以后有时间再测吧.不完善之处还请指正.
|