IT技术互动交流平台

vpn之ip隧道多对一模式实现跳转功能

作者:Coffee_蓝山  发布日期:2013-06-28 09:36:28

本文又是一真实案例;对于真实ip只能显示一部分,望见谅 - -~

话说leader的需求永远是无止境的;他想要的,你就需要去想办法实现

前几天刚做了,国内机器vpn跳转到国外机器的路由分流;今天突然心血来潮,改变方案;如果说上次是节省成本,那么这次的方案就是更加节省成本;赶快埋头去做吧;测试吧

先看下拓扑如下:

很明了,国内的三台跳转到海外的一个机器上;海外机器上的三个ip还要可以实现直接连接;大概节省了多少成本呢?

这里先来分配下ip吧;这里以pptp服务为例;首先实现每台机器都可以单独进行正常拨号;很简单,可以参考前面的文章

我这里是给大家实例下(我另外一台电脑的实例)

下面是ip分配情况;

国内

server1:
Eth0: 58.247.a.a   (本机ip)
Ethn:10.0.0.1    (隧道虚拟网卡)
Pptpd:172.16.0.0/24  (给用户分配的内网ip)
Server2:
Eth0: 61.152.b.b
Ethm:20.0.0.1
Pptpd:172.16.2.0/24
Server3:
Eth0: 112.65.c.c
Ethp:30.0.0.1
Pptpd:172.16.3.0/24
海外server:
Eth0: 61.219.d.d/61.219.e.e/61.219.f.f
Ethn:10.0.0.2
Ethm:20.0.0.2
Ethp:30.0.0.2
Pptpd:172.16.10.0/24 172.16.11.0/24 172.16.12.0/24

给大家个pptpd.conf看下

下面就开始着手配置了;

server1:

1 、vim /etc/ipip.sh


#!/bin/sh 
ip tunnel del ethn 
ip tunnel add ethn mode ipip local 58.247.a.a remote 61.219.d.d 
ifconfig ethn 10.0.0.1
route add -host 10.0.0.2 dev ethn 
echo 1 > /proc/sys/net/ipv4/ip_forward 
ip rule add from 172.16.0.0/16 table ipip pref 1700
ip route add default dev ethn table ipip

2、chmod +x /etc/ipip.sh
3、vim /etc/iproute2/rt_tables
   240 ipip       #新增

4、vim /etc/rc.local
   /etc/ipip.sh    #开机添加ip隧道

server2:
1 、vim /etc/ipip.sh


#!/bin/sh 
ip tunnel del ethm 
ip tunnel add ethm mode ipip local 61.152.b.b remote 61.219.e.e 
ifconfig ethm 20.0.0.1
route add -host 20.0.0.2 dev ethm 
echo 1 > /proc/sys/net/ipv4/ip_forward 
ip rule add from 172.16.0.0/16 table ipip pref 1700
ip route add default dev ethm table ipip

2、chmod +x /etc/ipip.sh
3、vim /etc/iproute2/rt_tables
   240 ipip       #新增

4、vim /etc/rc.local
   /etc/ipip.sh    #开机添加ip隧道

server3:
1 、vim /etc/ipip.sh


#!/bin/sh 
ip tunnel del ethp 
ip tunnel add ethp mode ipip local 112.65.c.c remote 61.219.f.f 
ifconfig ethp 30.0.0.1
route add -host 30.0.0.2 dev ethp 
echo 1 > /proc/sys/net/ipv4/ip_forward 
ip rule add from 172.16.0.0/16 table ipip pref 1700
ip route add default dev ethp table ipip

2、chmod +x /etc/ipip.sh
3、vim /etc/iproute2/rt_tables
   240 ipip       #新增

4、vim /etc/rc.local

   /etc/ipip.sh    #开机添加ip隧道

下面是在海外的server上配置


ip tunnel del ethn 
ip tunnel add ethn mode ipip local 61.219.d.d remote 180.153.a.a 
ifconfig ethn 10.0.0.2
route add -host 10.0.0.1 dev ethn 
ip tunnel del ethm 
ip tunnel add ethm mode ipip local 61.219.e.e remote 61.152.b.b 
ifconfig ethm 20.0.0.2
route add -host 20.0.0.1 dev ethm 
ip tunnel del ethp 
ip tunnel add ethp mode ipip local 61.219.f.f remote 112.65.c.c 
ifconfig ethp 30.0.0.2
route add -host 30.0.0.1 dev ethp 
echo 1 > /proc/sys/net/ipv4/ip_forward 
route add -net 172.16.0.0/24 dev ethn 
route add -net 172.16.2.0/24 dev ethm 
route add -net 172.16.3.0/24 dev ethp 
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/24 -j SNAT --to-source 61.219.d.d 
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.2.0/24 -j SNAT --to-source 61.219.e.e 
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.3.0/24 -j SNAT --to-source 61.219.f.f 
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.10.0/24 -j SNAT --to-source 61.219.d.d 
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.11.0/24 -j SNAT --to-source 61.219.e.e 
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.12.0/24 -j SNAT --to-source 61.219.f.f

经过全部测试,达到了想要的效果:前面三台拨号,对外ip是海外ip;后面一台拨号,也是海外ip;
 

Tag标签: vpn   ip隧道  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规