2008年12月5日星期五

ubuntu8.04实现pptp vpn server

环境:

pptp vpn server:
操作系统: ubuntu 8.04
网络: 单网卡、局域网ip为192.168.1.159,可路由上网。

client:
操作系统:windows xp
网络:局域网ip为192.168.1.202,本身也可路由上网

服务器安装配置:
1. 安装pptpd、pptp-linux
2. 配置pptpd
#gedit /etc/pptpd.conf
设置
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
localip是vpn连通之后服务器的ip地址,而remoteip是给客户端分配的ip地址池。
3. 配置pptpd-options,该文件主要是设置pptp vpn服务器所要求的加密算法、认证方法等。
服务器名name可以自己设置,但是要与chap-secrets中认证信息中的服务器名保持一致。

设置dns
ms-dns 202.96.128.86

#logging一节中的debug打开,用来提供debug信息
debug

4. 配置/etc/ppp/chap-secrets添加vpn用户信息。
"linuxvpn" pptpd "linuxvpn" *
"haha" pptpd "heihei" *
第二列的服务器名信息要与pptpd-options中的保持一致。
*表示任意地址都可以访问。

5. /etc/init.d/pptpd restart
从windows客户机就可以访问该vpn服务器。

但是访问会发现之可以访问服务器上的资源,不能通过它访问互联网。

6. #gedit /etc/sysctl.conf
net.ipv4.ip_forward = 1
sudo sysctl -p 使sysctl.conf的配置生效
这一步是在vpn服务器上开启路由转发

7. 如果经过第六步客户机还不能连接互联网,使用iptables建立NAT
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
-t 指定要匹配的表是nat表
-A 指定要匹配的是出去的数据包
-s 指定这些数据包的源是192.168.0网段
-o 数据包发送出去要走的设备端口
-j jump

并保存nat设置
iptables-save > /etc/iptables-rules
或是加入到开机自动运行脚本里

注:
客户端连接vpn服务器,如果分配外网ip地址,客户端可直接上网;如果分配内网ip地址,服务器作nat,客户机也可上网。

评论: 发表评论

订阅 博文评论 [Atom]





<< 主页

This page is powered by Blogger. Isn't yours?

订阅 博文 [Atom]