背景

公司内网与机房服务器为了实现用内网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. NLP+VS︱深度学习数据集标注工具、方法摘录,欢迎补充~~

    ~~因为不太会使用opencv.matlab工具,所以在找一些比较简单的工具. . . 一.NLP标注工具BRAT BRAT是一个基于web的文本标注工具,主要用于对文本的结构化标注,用BRAT生成的 ...

  2. 多线程实现之Java

    关于Java线程的生命周期,请看下面这张图: 新建状态(New):当线程对象创建后,即进入了新建状态,如:Thread t = new MyThread(); 就绪状态(Runnable):当调用线程 ...

  3. Conditional Random Fields (CRF) 初理解

    1,Conditional Random Fields

  4. vxWorks下intel82567v3网卡驱动的更新

    /* 82567 devicesID */ #define INTEL_DEVICEID_82567LF              0x10BF#define INTEL_DEVICEID_82567 ...

  5. “var arr = []; ”和 “var arr = {};” 的区别

    1.面试题    var arr = [];    var arr = {};    比较上述代码有什么区别? 2.解析    var arr = [];是一个数组对象    var arr = {} ...

  6. Html细线表格的实现 打印边框设置

    在网页制作中,我们常常会使用到表格,表格使得需要表达的信息更清楚,明了. <table border="1" cellspacing="0" border ...

  7. 关于CS1061报错(XX不包含XXX的定义,并且找不到类型为XX的第一个参.....)的一种可能的解决的办法

    在我编程中,我遇到了一个这样的报错, 可是我引用的product类中又确实定义了这么一个方法, protected void BindPageData(int categoryID) { Produc ...

  8. dom文档对象模型图

  9. 实例 编辑 .bashrc(不断更新)

    .bashrc 是/root下的隐藏文件,可按习惯编辑命令的别名. vi .bashrc alias rm='rm -i'#alias cp='cp -i'alias mv='mv -i'alias ...

  10. RSS简介

    1.RSS(Really Simple Syndication)简介 1.定义     对于网站:RSS 是一种使用 XML 向许多其他的网站分发自己网站上的网络内容的方法.     对于用户:RSS ...