centos7搭建GRE隧道进行通信
程序员文章站
2024-02-14 12:51:58
...
为了研究gre协议需要搭建gre隧道来进行测试,需要两个能通信的服务器
测试环境
服务器A:
IP地址: 10.20.50.148
GRE内部IP地址: 203.0.113.1
服务器B:
IP地址: 192.168.4.2
GRE内部IP地址: 203.0.113.2
环境说明
服务器A和服务器B可以通过IP地址ping通,但是不能通过GRE内部的IP地址ping通
GRE协议是在内部IP头前面添加了一个GRE头再加一个IP头
配置说明
服务器A和服务器B都需要配置,配置步骤基本相似,只需要交换配置文件部分内容
服务器A配置
# 1.加载驱动
modprobe ip_gre
# 2.创建gre隧道
cd /etc/sysconfig/network-scripts
vim ifcfg-tun0
# 3.在ifcfg-tun0文件中添加
DEVICE=tun0
BOOTPROTO=none
ONBOOT=yes
DEVICETYPE=tunnel
TYPE=GRE
PEER_INNER_IPADDR=203.0.113.2
PEER_OUTER_IPADDR=192.168.4.2
MY_INNER_IPADDR=203.0.113.1
# 4.启动gre隧道
ifup tun0
# 5.关闭隧道(这一步只是提醒如何关闭,不需要操作)
ifdown tun0
服务器B配置
# 1.加载驱动
modprobe ip_gre
# 2.创建gre隧道
cd /etc/sysconfig/network-scripts
vim ifcfg-tun0
# 3.在ifcfg-tun0文件中添加
DEVICE=tun0
BOOTPROTO=none
ONBOOT=yes
DEVICETYPE=tunnel
TYPE=GRE
PEER_INNER_IPADDR=203.0.113.1
PEER_OUTER_IPADDR=10.20.50.148
MY_INNER_IPADDR=203.0.113.2
# 4.启动gre隧道
ifup tun0
其中服务器B的配置主要是配置文件中交换了IP地址,倒数第二项换成了隧道另一端的IP地址
在服务器B上执行命令
ping 203.0.113.1
能ping通说明隧道搭建成功
通过tcpdump抓取通信网卡(不是tun0)可以获取gre隧道协议的数据包,可以通过ssh 203.0.113.1获取gre中携带tcp协议的数据包
下一篇: 如何理解URI,URL,URN?
推荐阅读