整了两天,终于在Ubuntu 10.04 VPS上成功架设了VPN,并可在Windows 7上通过VPN拨号访问Facebook,Twitter等网站,爽!
服务器环境: OS:Ubuntu 10.04 (我最想用11.04,无奈服务商提供的最新的版本也只是10.04,郁闷!) VPS类型:Xen VPN类型:PPTP
本地环境: OS:Windows 7 Internet: 联通光纤,须拨号
介绍下搭建步骤:
1.安装配置pptp 首先SSH取得管理员权限 sudo bash,这样一来安装软件修改文件就方便了。(使用须谨慎!) 安装pptp server:
apt-get install pptpd
成功后修改其配置文件 vi /etc/pptpd.conf ,去掉下面两行前面#
localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.10.245
其中localip是本地服务器ip,不要跟其它服务的ip冲突了,remoteip是分配给远程连接的ip,也就是我们 在Windows上使用VPN拨号时获得的ip,根据需要可以适当加大或减小ip段
2.配置DNS, 打开/etc/ppp/options 文件,编辑ms-dns所在的两行,我们使用Google Public DNS,很好记:
ms-dns 8.8.8.8 ms-dns 8.8.4.4
3.开启ipv4转发,编辑 /etc/sysctl.conf 文件,去掉下面代码前面的#
net.ipv4.ip_forward=1 然后执行 sysctl -p 使转发规则生效。
4.添加VPN用户名密码,编辑 /etc/ppp/chap-secrets 文件,按下面格式输入:
用户名 pptpd 密码 *
其中pptpd是VPN服务类型,*表示不限访问IP
完成以上步骤就可以连上VPN了,但连成上后除了VPS的ip外,其它网站都访问不了,这就需要 在iptables里设置nat,也就是下面最关键的一步。
5.设置iptables 没装iptables的先装上: apt-get install iptables
把nat规则写成文件,执行命令:vi /etc/pptpdfw.sh 然后内容输入: sudo /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source *.*.*.* sudo /sbin/iptables -A FORWARD -s 192.168.0.0/24 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1120
需要注意的是上面是两行命令,每个sudo是一行,我这里因为博文宽度的限制改为多行了。 第一条命令最后的几个*改为你的VPS的IP。
使这个脚本可执行 chmod 755 /etc/pptpdfw.sh
Ubuntu重启后iptables规则会失效,所以我们要把上面的那个文件设为开机运行, 编辑/etc/init.d/rc.local ,在最后一行加入下面代码: sh /etc/pptpdfw.sh
至此,VPN搭建完成,重启你的VPS使之生效吧!
接下来是Windows上的工作 ,在网络连接里新建VPN连接,输入VPS的ip,用户名和密码就行了, 需要注意几点:
1.VPN连接->属性->安全,VPN类型选择“点对点隧协议(PPTP)”,数据加密选“可选加密” 2.VPN连接->属性->网络->ipv4属性->高级->IP设置,“在远程网络上使用默认网关”我们使用默认值, 也就是使用。此前我看网上的教程说要取消勾选它,但这样一来虽然能联上VPN,但跟没联没什么两样,所以 这个一定不能取消勾选!
至此全部工作完成,enjoy!
另附上一篇《CentOS Linux VPS架设VPN教程[图解]》