此方法是用iptables,通过路由指定ip出口。能实现指定vpn帐号使用vps指定公网ip出口。


安装vpn软件pptp:

apt-get -y --force-yes install pptpd


进行设置:

cat >>/etc/pptpd.conf<<EOF

localip 10.10.10.1

remoteip 10.10.10.2-245

EOF


cp /etc/ppp/pptpd-options /etc/ppp/pptpd-options.bak


cat>/etc/ppp/pptpd-options<<EOF

name pptpd

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2

require-mppe-128

ms-dns 8.8.8.8

ms-dns 8.8.4.4

proxyarp

nodefaultroute

debug

lock

nobsdcomp

EOF


vim /etc/sysctl.conf


将#net.ipv4.ip_forward=1前面 # 去掉(也就是取消注释)


sysctl -p


添加登陆帐号和密码,并指定ip,这样一个用户就只能同时登陆一个。

cat >/etc/ppp/chap-secrets<<EOF

user1 * password 10.10.10.2

user2 * password 10.10.10.3

EOF


设置iptables转发:

iptables -t nat -A POSTROUTING -s 10.10.10.2 -j SNAT --to-source "1.1.1.1"

iptables -t nat -A POSTROUTING -s 10.10.10.3 -j SNAT --to-source "2.2.2.2"


1.1.1.1和2.2.2.2换成你的vps公网


然后重启pptp :

/etc/init.d/pptpd restart


这样,你用user1登陆的时候,出口ip就是1.1.1.1;你用user2登陆的时候,出口ip就是2.2.2.2


常见vpn错误处理:

错误800:修改vim /etc/ppp/pptpd-options文件,#号注释掉 require-mppe-128

错误619:

mknod /dev/ppp c 108 0


然后重启:

/etc/init.d/pptpd restart


如果vpn上网很慢,尝试用下面:


/sbin/iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356


来源http://actgod.com/archives/46/






via iGFW http://igfw.net/archives/11432

创建多ip出口vpn

Posted on

2012年9月7日星期五

Category