背景

公司内网与机房服务器为了实现用内网IP通信的功能,故使用了linux的IP gre隧道的方式。使得公司内部可以直接通过路由直连的方式访问机房服务器。

拓扑图如下:

注:拓扑中的外网IP为虚构的IP。

可以看到,公司和机房的服务器上各有一个内网IP和外部IP。gre隧道的原理就是把两台服务器的外网IP进行绑定,在两个外网IP直接建立一条隧道tunnel2。tunnel2对服务器看来,就像一个网口,直连着隧道的另一边。

具体配置:218.188.152.11:

开启路由转发,加载gre协议模块

# echo 1 > /proc/sys/net/ipv4/ip_forward

# modprobe ip_gre

创建隧道tunnel2,添加一虚拟网段172.16.33.0/24

# ip tunnel add tunnel2 mode gre local 218.188.152.11 remote 144.22.1.176 ttl 255 dev eth1

# ip addr add 172.16.33.2 dev tunnel2 peer 172.16.33.1/32

# ip link set dev tunnel2 up

添加一条路由到通过隧道到机房内网的路由

# ip route add 10.65.3.0/24 dev tunnel2

144.22.1.176:

开启路由转发,加载gre协议模块

# echo 1 > /proc/sys/net/ipv4/ip_forward

# modprobe ip_gre

创建隧道tunnel2,添加一虚拟网段172.16.33.0/24

# ip tunnel add tunnel2 mode gre local 144.22.1.176 remote 218.188.152.11 ttl 255 dev em1

# ip addr add 172.16.33.1 dev tunnel2 peer 172.16.33.2/32

# ip link set dev tunnel2 up

添加一条路由到通过隧道到公司内网的路由

# ip route add 192.168.1.0/24 dev tunnel2

查看路由

218.188.152.11:

# netstat -nr

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

172.16.33.1 0.0.0.0 255.255.255.255 UH 0 0 0 tunnel2

192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

10.65.3.0 0.0.0.0 255.255.255.0 U 0 0 0 tunnel2

0.0.0.0 xx.xx.xx.xx 0.0.0.0 UG 0 0 0 eth0

内网服务器多了172.16.33.1,10.65.3.0/24的两条路由,网关为gre隧道,通过隧道到达机房服务器。

144.22.1.176:

# netstat -nr

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

172.16.33.2 0.0.0.0 255.255.255.255 UH 0 0 0 tunnel2

192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 tunnel2

10.65.3.0 0.0.0.0 255.255.255.0 U 0 0 0 em2

0.0.0.0 xx.xx.xx.xx 0.0.0.0 UG 0 0 0 em1

机房服务器多了172.16.33.2,192.168.1.0/24的两条路由,网关为gre隧道,通过隧道到达机房服务器。

测试网络连通:

218.188.152.11:

# ping 172.16.33.2

PING 172.16.33.2 (172.16.33.2) 56(84) bytes of data.

64 bytes from 172.16.33.2: icmp_seq=1 ttl=64 time=0.048 ms

64 bytes from 172.16.33.2: icmp_seq=2 ttl=64 time=0.059 ms

— 172.16.33.2 ping statistics —

2 packets transmitted, 2 received, 0% packet loss, time 1021ms

rtt min/avg/max/mdev = 0.048/0.053/0.059/0.009 ms

———————————————

# ping 10.65.3.194

PING 10.65.3.194 (10.65.3.194) 56(84) bytes of data.

64 bytes from 10.65.3.194: icmp_seq=1 ttl=64 time=7.96 ms

64 bytes from 10.65.3.194: icmp_seq=2 ttl=64 time=7.63 ms

— 10.65.3.194 ping statistics —

2 packets transmitted, 2 received, 0% packet loss, time 1100ms

rtt min/avg/max/mdev = 7.638/7.799/7.960/0.161 ms

公司服务器可以直接ping通对端机房服务器的gre ip以及内网IP。

144.22.1.176:

# ping 172.16.33.1

PING 172.16.33.1 (172.16.33.1) 56(84) bytes of data.

64 bytes from 172.16.33.1: icmp_seq=1 ttl=64 time=0.018 ms

64 bytes from 172.16.33.1: icmp_seq=2 ttl=64 time=0.016 ms

— 172.16.33.1 ping statistics —

2 packets transmitted, 2 received, 0% packet loss, time 1274ms

rtt min/avg/max/mdev = 0.016/0.017/0.018/0.001 ms

———————————————

# ping 192.168.1.254

PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.

64 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=7.81 ms

64 bytes from 192.168.1.254: icmp_seq=2 ttl=64 time=7.97 ms

— 192.168.1.254 ping statistics —

2 packets transmitted, 2 received, 0% packet loss, time 1232ms

rtt min/avg/max/mdev = 7.810/7.894/7.978/0.084 ms

反过来,机房服务器也可以直接ping通对端公司服务器的gre ip以及内网IP。

内部办公网与IDC机房的GRE隧道配置实践的更多相关文章

  1. IDC机房机器日志采集配置

    以机器 gpu-server-011  为例: 机房机器添加AliUids操作 [root@gpu-server-011 ~]# mkdir -p /etc/ilogtail/users/ [root ...

  2. 华三F100系列防火墙 、华为USG6300系列防火 GRE 隧道配置

    GRE概述: 通用路由封装(GRE: Generic Routing Encapsulation)是通用路由封装协议,可以对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在IPV4网络中传输 ...

  3. Linux就业技术指导(六):天津IDC机房项目实践

    一,天津IDC机房项目图片介绍 服务器DELL R720 二,远程控制卡配置方法 远程控制卡,在服务器没有装操作系统或者操作系统出问题了.用户可以通过连接到远程控制卡来连接服务器,就如同切换到我们的虚 ...

  4. 轻松应对IDC机房带宽突然暴涨问题

    轻松应对IDC机房带宽突然暴涨问题! 1[提出问题] [实际案例一] 凌晨3:00点某公司(网站业务)的一个IDC机房带宽流量突然从平时高峰期150M猛增至1000M,如下图: 该故障的影响:直接导致 ...

  5. IDC机房带宽突然暴涨问题!

    IDC机房带宽突然暴涨问题! 1[提出问题] [实际案例一] 凌晨3:00点某公司(网站业务)的一个IDC机房带宽流量突然从平时高峰期150M猛增至1000M,如下图: 该故障的影响:直接导致数百台服 ...

  6. 服务器放在不同省份的IDC机房,数据如何同步?一个域名如何动态解析到不同IP的服务器

    服务器放在不同省份的IDC机房,数据如何同步?淘宝的做法是不同IDC机房之间拉光纤,异地容灾和性能无关,异地容灾是应对断电.地震这种不可抗拒因素的 同城分流,异地容灾 是什么意思?你比如说公司的业务涉 ...

  7. Linux就业技术指导(三):IDC机房解密

    1.1 IDC机房 1.1.1 带宽计算 带宽流量计算公式: 1 Byte=8bit,1KB=1024B,1MB=1024KB,1GB=1024MB B表示Byte,工业标准是1000. 一般我们家装 ...

  8. IDC机房KVM应用案例分析

    IDC机房KVM应用案例分析 一.背景介绍 随着信息技术的发展,各行各业都在马不停蹄的开展着各自的信息化建设步伐.对于设计制造创新科技产品为运行主业的设计院而言,内部IT基础设备与机房管理结构的完善与 ...

  9. IDC机房网络测试要求

    IDC机房网络质量要求: 我司项目目前覆盖目标机房是国内BGP机房.三线机房.电信机房.联通机房. 要求XXXX IDC机房到目标机房的网络质量,平均丢包≤0.5%,网络延迟≤50ms;高峰期平均丢包 ...

随机推荐

  1. java常用字节流

    常用的字节流有FileInputStream和FileOutputStream.BufferedInputStream和BufferedOutputStream.DataInputStream和Dat ...

  2. mongodb命令行group分组和java代码中group分组

    group分组统计是数据库比较常用的功能,mongodb也不例外.不过相对于普通的增删改查,group操作就略微麻烦一些, 这里对group在shell中的操作.使用java原生代码操作以及集成spr ...

  3. Hello China操作系统在Virtual PC上的安装和使用

    http://blog.csdn.net/hellochina15/article/details/7253350 本文介绍如何在Windows 7操作系统和Virtual PC 2007虚拟机上安装 ...

  4. R分词

    #用于下载安装rJava 和 Rwordseg,如果安装了就注释掉 install.packages("rJava") install.packages("Rwordse ...

  5. PL/SQL集合 ----- varrays

    varrays可以再表,记录,对象定义中使用,类似于C中的数组. 1.定义varrays用作PL/SQL程序构造块. declare type integer_varray ) of integer; ...

  6. Error Code: 1305. FUNCTION student.rand_string does not exist

    1.错误描述 13:52:42 call new_procedure Error Code: 1305. FUNCTION student.rand_string does not exist 0.0 ...

  7. C#利用 string.Join 泛型集合快速转换拼接字符串

    C#利用 string.Join 泛型集合快速转换拼接字符串 List<int> superior_list = new List<int>(); superior_list. ...

  8. 代码管理必备-----git使用上传码云

    作为一个程序员,你要学会代码的管理,这是一个最基本的修养,就像是一个剑客的剑谱,代码管理,目前流行的是svn和git,但是很不好的是git如果没有插件的话,很多人都不会用git bash 来实现自己的 ...

  9. SDK、JDK、JRE、ADB、AVD到底都是啥?

    SDK:Software Development Kit,软件开发工具包是一些被软件工程师用于为特定的软件包.软件框架.硬件平台.操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Wind ...

  10. monkeyrunner_控件坐标获取

    1.Pointer location获取坐标 通过模拟器中的设置-开发者选项,找到"指针位置"的选项,勾选上.如下图所示. 勾选后,模拟器的最顶部则显示坐标,比如点击模拟器上的任一 ...