Linux下架设VPN服务器指南

无忧老猪 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的客户机可以上网了

相关推荐