无忧老猪 2011-10-20
一、配置环境
Linux(2.6.7)(FC2)
eth0:192.168.1.8
eth0:1192.168.0.1(手工添加)
二、所需软件
1、kernel_ppp_mppe-0.0.4-2dkms.noarch.rpm(MPPE的内核补丁)
2、dkms-1.12-1.noarch.rpm(升级dkms)
3、pptpd-1.2.1.tar.gz(pptpd服务软件)
注:系统必须安装了PPP服务,否则要单独安装
三、安装软件
1、首先安装dkms
rpm-Uvhdkms-1.12-1.noarch.rpm(升级安装)
2、安装mppe
rpm-Uvhkernel_ppp_mppe-0.0.4-2dkms.noarch.rpm
3、安装pptpd
tar-vxzfpptpd-1.2.1.tar.gz
cdpptpd-1.2.1
./configure
make
makeinstall
安装完成了,现在开始配置
四、配置服务器
将pptpd-1.2.1/samples/下的文件
pptpd.conf拷贝至/etc下
chap-secrets拷贝至/etc/ppp下
options.pptpd拷贝至/etc/ppp下
修改pptpd.conf文件:
ppp/usr/sbin/pppd
指定PPP服务程序
option/etc/ppp/options.pptpd
指定选项配置
localip192.168.1.8
指定本地IP
remoteip192.168.0.10-245
指定分配的远程IP
netmask255.255.255.0
指定子网掩码
修改/etc/ppp/options.pptpd文件
namepptpd
auth
require-chap
-chap
-mschap
+mschap-v2
require-mppe
lcp-echo-failure30
lcp-echo-interval5
ipcp-accept-local
ipcp-accept-remote
multilink
proxyarp
logfd2
logfile/var/log/pptpd.log
debug
dump
lock
修改/etc/ppp/chap-secrets文件
#clientserversecretIPaddresses
#usernamepptpdpassword*
"xinhe"pptpd"xinhe"*
这里是配置VPN的用户帐号
启动服务:
/usr/local/sbin/pptpd
然后用netstat查看一下1723端口是不是开的,如果是的话则说明服务已成功启动。
找一台windows的机器,IP为:192.166.1.7,新建一个VPN的连接,服务器为192.168.1.8,用户名为:xinhe,密码为:xinhe,可以成功连接了。
在windows的cmd下运行:ipconfig
看到多了一个网络连接,IP为:192.168.0.10,正是前是配置文件里设置的远程IP,这样这台windows的客户端成功连上了这个VPN服务器
但是这里出现了一个问题,原来这台windows机器可以通过网关192.168.1.1上网,但连了VPN之后就不能上网了。因为数据全到VPN服务器上来了,为解决这个问题,我们可利用iptables发数据转发。
新建一个iptables文件,内容如下:
echo1>/proc/sys/net/ipv4/ip_forward
echo"cleartheiptablesrules"
/etc/init.d/iptablesstop
/sbin/iptables-AINPUT-picmp-jDROP
/sbin/iptables-tnat-APOSTROUTING-s192.168.1.0/24-jMASQUERADE
/sbin/iptables-FFORWARD
/sbin/iptables-PFORWARDACCEPT
/sbin/iptables-tnat-APOSTROUTING-jMASQUERADE
/sbin/iptables-FFORWARD
/sbin/iptables-AFORWARD-pudp-s192.168.1.0/24--dport53-jACCEPT
/sbin/iptables-AFORWARD-ptcp-s192.168.1.0/24--dport1723-jACCEPT
/sbin/iptables-AFORWARD-pgre-s192.168.1.0/24-jACCEPT
/sbin/iptables-AFORWARD-mstate--stateESTABLISHED,RELATED-jACCEPT
然后执行这个iptables文件,OK,windows的客户机可以上网了