此方法是用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
To make a donation for a blogger? uhm...is what will not happen here...I'm just a plug-in, welcome to nurse me! :D
转载请注明:狗社 » 创建多IP出口VPN
