正 文:
相信有不少网友购买了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.html3、Linux配置基于PPTP的多用户多出口IP的VPN:
http://vps.gl/linux/37.html4、搭建PPTPVPN设置多个公网出口:
http://www.56vps.net/blog/linxitong/132.html