| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
Linux下架设VPN服务器指南
作者:佚名    文章来源:网络    点击数:    更新时间:2006-11-4
  经过大半天的拆腾,终于把VPN服务器搞定了,现将具本过程公布出来供大家参考 
一、配置环境 
Linux(2.6.7)(FC2) 
eth0: 192.168.1.8 
eth0:1 192.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 -Uvh dkms-1.12-1.noarch.rpm (升级安装) 
2、安装mppe 
rpm -Uvh kernel_ppp_mppe-0.0.4-2dkms.noarch.rpm 
3、安装pptpd 
tar -vxzf pptpd-1.2.1.tar.gz 
cd pptpd-1.2.1 
./configure 
make 
make install 
安装完成了,现在开始配置 
四、配置服务器 
将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 
指定选项配置 
localip 192.168.1.8 
指定本地IP 
remoteip 192.168.0.10-245 
指定分配的远程IP 
netmask 255.255.255.0 
指定子网掩码 

修改/etc/ppp/options.pptpd文件 
name pptpd 
auth 
require-chap 
-chap 
-mschap 
+mschap-v2 
require-mppe 
lcp-echo-failure 30 
lcp-echo-interval 5 
ipcp-accept-local 
ipcp-accept-remote 
multilink 
proxyarp 
logfd 2 
logfile /var/log/pptpd.log 
debug 
dump 
lock 

修改/etc/ppp/chap-secrets文件 
# client server secret IP addresses 
#username pptpd password * 
"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文件,内容如下: 
echo 1 > /proc/sys/net/ipv4/ip_forward 
echo "clear the iptables rules" 
/etc/init.d/iptables stop 
/sbin/iptables -A INPUT -p icmp -j DROP 
/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE 
/sbin/iptables -F FORWARD 
/sbin/iptables -P FORWARD ACCEPT 

/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE 
/sbin/iptables -F FORWARD 
/sbin/iptables -A FORWARD -p udp -s 192.168.1.0/24 --dport 53 -j ACCEPT 
/sbin/iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 1723 -j ACCEPT 
/sbin/iptables -A FORWARD -p gre -s 192.168.1.0/24 -j ACCEPT 
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 

然后执行这个iptables文件,OK,windows的客户机可以上网了 
(http://www.fanqiang.com)
相关文章