飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

Linux搭建PPTP技术的VPN 不同用户对应不同出口公网IP

Author:飘易 Source:飘易
Categories:Linux技术 PostTime:2014-1-28 19:55:04
正 文:
    相信有不少网友购买了VPS后,在有多个公网IP的前提下,有时有这样的需求,当使用不同的账户登录VPN时,希望出口的IP也随之不同,其实这样的实现方法不复杂。关键两点:一修改配置用户文件 /etc/ppp/chap-secrets,不同的用户对应不同的内网ip;二,设置iptables转发规则。

    先简单介绍下关于PPTP的一键安装方式:
系统要求:CentOS 5 32bits/64bits
一键安装命令如下:
wget http://www.diahosting.com/dload/pptpd.sh; sh pptpd.sh

安装完成后会提示您VPN的用户名以及密码。 
当然,如果您想自定义或是添加PPTP用戶以及密码的话,可以选择编辑配置文件添加新的用户与密码。
vi /etc/ppp/chap-secrets

添加用户与密码的格式如下:
用户1 pptpd 密码1 *

编辑完成后Ctrl+C退出编辑,然後输入:wq保存即可。

    安装完上面的一键安装脚本后,我们已经获得了一个默认的vpn账户名和密码。那么如何修改成支持不同的用户登录,其获得的公网IP也不同呢?

    步骤很简单
1,打开pptp配置文件,检查目前的ip配置情况:
vim /etc/pptpd.conf

记录最下面有类似这样的配置代码:
localip 172.16.36.1
remoteip 172.16.36.2-254

2,编辑pptp账户配置文件:
/etc/ppp/chap-secrets

配置IP信息如下:
u001 pptpd password001 172.16.36.2
u002 pptpd password002 172.16.36.3

3,通过防火墙策略,指点ip走不同的出口,设置iptables转发:
iptables -t nat -A POSTROUTING -s 172.16.36.2 -j SNAT --to-source 1.1.1.1
iptables -t nat -A POSTROUTING -s 172.16.36.2 -j SNAT --to-source 2.2.2.2

其中,1.1.1.1和2.2.2.2是对应的公网IP。

你也可以直接更改 vim /etc/sysconfig/iptables 文件。
直接添加如下指令:
-A POSTROUTING -s 172.16.36.2 -j SNAT --to-source 1.1.1.1
-A POSTROUTING -s 172.16.36.3 -j SNAT --to-source 2.2.2.2

重启iptables:
/etc/init.d/iptables restart

4,启用服务器路由功能,以便支持iptables转发
编辑/etc/sysctl.conf文件:
vim /etc/sysctl.conf

将“net.ipv4.ip_forward”改为1:
net.ipv4.ip_forward=1

保存退出,并执行下面的命令来生效它:
sysctl -p

【参考资料】:
1、OpenVZ VPS搭建PPTP VPN的方法
2、PPTP的一键安装方式:http://blog.aoyouhost.com/pptp-vpn-installation.html
3、Linux配置基于PPTP的多用户多出口IP的VPN:http://vps.gl/linux/37.html
4、搭建PPTPVPN设置多个公网出口:http://www.56vps.net/blog/linxitong/132.html
作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:Google adsense / analytics 403 That’s an error解决方法
下一篇:JS实现批量生成时显示滚动进度条和百分数
1条评论 “Linux搭建PPTP技术的VPN 不同用户对应不同出口公网IP”
2014-2-1 22:28:11
这个比较有用,之前确实有找过类似的资料!
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有