• GRE简单模拟 Generic Routing Encapsulation


    GRE简单模拟
    操作步骤
    host1,host2都需要操作
    1,加载ip_gre模块
    2,创建点对点的tunnel链路
    3,创建tunnel peer ,并启动
    4,ping 包,使用tcpdump抓包
    扩展
    host1,host2后面连接有对应的局域网络,如果需要通讯,需要增加一下步骤
    1,开启ip_forward
    2,新增路由到对端的网络使用dev tunnel

    网络拓扑图
    在这里插入图片描述

    host1,host2都需要操作
    1,加载ip_gre模块
    [root@k8s-node1 ~]# modprobe ip_gre
    [root@k8s-node1 ~]# lsmod |grep ip_gre
    ip_gre 22749 0
    ip_tunnel 25163 1 ip_gre
    gre 13144 1 ip_gre

    2,创建点对点的tunnel链路;3,创建tunnel peer ,并启动

    host1:
    [root@k8s-node1 ~]# ip tunnel add tunnel0 mode gre remote 192.168.0.62 local 192.168.0.61 dev ens33
    [root@k8s-node1 ~]# ip address add 172.16.1.1 dev tunnel0 peer 172.16.1.2/32
    [root@k8s-node1 ~]# ip link set tunnel0 up
    [root@k8s-node1 ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:46:24:dd brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.61/24 brd 192.168.0.255 scope global noprefixroute ens33
    valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe46:24dd/64 scope link
    valid_lft forever preferred_lft forever
    3: gre0@NONE: mtu 1476 qdisc noop state DOWN group default qlen 1000
    link/gre 0.0.0.0 brd 0.0.0.0
    4: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    5: tunnel0@ens33: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN group default qlen 1000
    link/gre 192.168.0.61 peer 192.168.0.62
    inet 172.16.1.1 peer 172.16.1.2/32 scope global tunnel0
    valid_lft forever preferred_lft forever
    inet6 fe80::5efe:c0a8:3d/64 scope link
    valid_lft forever preferred_lft forever

    host2:
    [root@k8s-node2 ~]# ip tunnel add tunnel0 mode gre remote 192.168.0.61 local 192.168.0.62 dev ens33
    [root@k8s-node2 ~]# ip address add 172.16.1.2 dev tunnel0 peer 172.16.1.1/32
    [root@k8s-node2 ~]# ip link set dev tunnel0 up
    [root@k8s-node2 ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:12:0b:7f brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.62/24 brd 192.168.0.255 scope global noprefixroute ens33
    valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe12:b7f/64 scope link
    valid_lft forever preferred_lft forever
    3: gre0@NONE: mtu 1476 qdisc noop state DOWN group default qlen 1000
    link/gre 0.0.0.0 brd 0.0.0.0
    4: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    5: tunnel0@ens33: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN group default qlen 1000
    link/gre 192.168.0.62 peer 192.168.0.61
    inet 172.16.1.2 peer 172.16.1.1/32 scope global tunnel0
    valid_lft forever preferred_lft forever
    inet6 fe80::5efe:c0a8:3e/64 scope link
    valid_lft forever preferred_lft forever

    4,ping 包,使用tcpdump抓包
    host1:ping -c 5 172.16.1.2
    host2:
    [root@k8s-node2 ~]# tcpdump -n -i ens33 proto 47
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
    22:04:16.587132 IP 192.168.0.61 > 192.168.0.62: GREv0, length 88: IP 172.16.1.1 > 172.16.1.2: ICMP echo request, id 1534, seq 1, length 64
    22:04:16.587203 IP 192.168.0.62 > 192.168.0.61: GREv0, length 88: IP 172.16.1.2 > 172.16.1.1: ICMP echo reply, id 1534, seq 1, length 64
    22:04:17.589693 IP 192.168.0.61 > 192.168.0.62: GREv0, length 88: IP 172.16.1.1 > 172.16.1.2: ICMP echo request, id 1534, seq 2, length 64
    22:04:17.589749 IP 192.168.0.62 > 192.168.0.61: GREv0, length 88: IP 172.16.1.2 > 172.16.1.1: ICMP echo reply, id 1534, seq 2, length 64
    22:04:18.592828 IP 192.168.0.61 > 192.168.0.62: GREv0, length 88: IP 172.16.1.1 > 172.16.1.2: ICMP echo request, id 1534, seq 3, length 64
    22:04:18.593190 IP 192.168.0.62 > 192.168.0.61: GREv0, length 88: IP 172.16.1.2 > 172.16.1.1: ICMP echo reply, id 1534, seq 3, length 64
    22:04:19.596205 IP 192.168.0.61 > 192.168.0.62: GREv0, length 88: IP 172.16.1.1 > 172.16.1.2: ICMP echo request, id 1534, seq 4, length 64
    22:04:19.596351 IP 192.168.0.62 > 192.168.0.61: GREv0, length 88: IP 172.16.1.2 > 172.16.1.1: ICMP echo reply, id 1534, seq 4, length 64
    22:04:20.599911 IP 192.168.0.61 > 192.168.0.62: GREv0, length 88: IP 172.16.1.1 > 172.16.1.2: ICMP echo request, id 1534, seq 5, length 64
    22:04:20.600062 IP 192.168.0.62 > 192.168.0.61: GREv0, length 88: IP 172.16.1.2 > 172.16.1.1: ICMP echo reply, id 1534, seq 5, length 64

    扩展
    host1,host2后面连接有对应的局域网络,如果需要通讯,需要增加一下步骤
    1,开启ip_forward
    2,新增路由到对端的网络使用dev tunnel
    在这里插入图片描述

  • 相关阅读:
    【定语从句练习题】who、which
    Unreal PythonScriptPlugin
    Sndroid开发设置Settings
    个人网页设计成品DW静态网页 HTML网页设计结课作业 web课程设计网页规划与设计 Web大学生个人网页成品 web网页设计期末课程大作业
    【从入门到起飞】JavaSE—Stream流
    Go kafka
    通过nodeJS如何实现爬虫功能
    PMP每日一练 | 考试不迷路-9.12(包含敏捷+多选)
    【云原生】-Zabbix6监控MySQL最佳实践
    Elasticsearch基础篇(四):Elasticsearch7.x的官方文档学习(Set up Elasticsearch)
  • 原文地址:https://blog.csdn.net/marc_chen/article/details/125440328