2010年7月8日星期四

简明教程:架设 PPTP VPN 及在 Linux 上远程连接 VPN (转载)

在”VPS初体验及自架VPN服务“一文中我就推荐过如何架设 PPTP VPN 服务的文章,而此文则在原文基础上作了一些修改和补充,并增加了” 如何在 Linux 上连接 PPTP VPN ” 这一节。

本文所涉及的运行环境:远程服务器为 VPSLink 上低配置 Xen VPS ( 注意,OpenVZ VPS 是不能安装 PPTP VPN 的),Linux 系统为 Ubuntu 9.04 ,本地服务器为安装在 VirtualBox 虚拟机中的 Ubuntu Server 9.10 。

1. 如何快速搭建一个VPN(pptp)

# 安装服务器端软件

apt-get install pptpd

# 配置IP地址范围,编辑/etc/pptpd.conf,在最后添加如下地址:

localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

# 这两句设置了当外部计算机通过pptp联接到vpn后所能拿到的ip地址范围和服务器的ip地址设置。

# 增加一个用户,编辑/etc/ppp/chap-secrets,在下面增加类似的条目:

username pptpd password *

# 重启pptpd服务

/etc/init.d/pptpd restart

# 编辑:/etc/ppp/options,在里面找一下”ms-dns”项目:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

#允许转发,编辑/etc/sysctl.conf,看一下net.ipv4.ip_forward参数是不是1,或直接执行以下命令来查看

sysctl net.ipv4.ip_forward

# 如果输出为 0 的话就要修改 /etc/sysctl.conf 中的 net.ipv4.ip_forward ,把 0 改为1,然后执行以下命令。

sysctl -p

# 最后,运行一下这条命令来打开iptables的转发支持:

/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
/sbin/iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356

# 并把这两条加入到 /etc/rc.local 中的 exit 0 行前面,这样重启后就无需再执行了。

# 好了,PPTP VPN 到此就架设好了,你现在可以用 Windows 自带的 VPN 连接工具来连接了,这个应该非常简单。那么下面我再说说如何在 Ubuntu 上手工配置 PPTP VPN 连接吧。

2 .如何在 Linux 上连接 PPTP VPN

# 安装 Linux 上的 pptp 客户端

apt-get install pptp-linux

# 把下面两行加入 /etc/rc.local , 放在 exit 0 这一行的前面

/usr/sbin/pptpsetup –create lable –server ip –username username –password password–encrypt
/usr/sbin/pppd call lable

# 说明:这两行命令是最简便的建立 PPTP 连接方式。
Label: 用户自定义
IP: 是 VPN 的 IP 地址
Username 及 Password :登录 VPN 的用户名和密码

# 把下面两行加入 /etc/ppp/ip-up 中,删除默认网关及把 VPN 服务器作为默认网关,也就是改变路由策略,把所以传输流量通过 VPN 线路来走。

/sbin/route add default gw 192.168.0.1
/sbin/route del default gw 原来的网关 // 原来的默认网关地址可通过 route 命令来获取

# 另外,如果你想把此服务器作为网关服务器的话,那就按照前面架设 PPTP VPN 一节中的方式,设置 net.ipv4.ip_forward 参数来打开包转发。并把下面两行加入到 /etc/rc.local 中。

/sbin/iptables -t nat -A POSTROUTING -s 内网IP/24 -o ppp0 -j MASQUERADE
/sbin/iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356

# 重启服务器,你可以用 ifconfig 看一下,会多出一个 ppp0 的网络接口了。另外,你可以 traceroute twitter.com 看一下,是否通过 ppp0 的网关出去的,如果是的话,就说明工作正常。

# 注意:在作网关服务器的时候,建议使用 Google 的 DNS ,国内很多 DNS 被污染了,无法正常解析 Twitter 等网站。

# 修改 /etc/resolv.conf 中,改为如下两行

nameserver 8.8.8.8
nameserver 8.8.4.4

来源:http://riku.me/2010/01/27/vpn.html

没有评论:

发表评论