计网实验 路由器部署及配置

实验目的

  1. 掌握 IPMininet 仿真环境的启动方法,理解在 Mininet 基础上扩展网络层路由器仿真的必要性。

  2. 能够根据给定网段规划,使用 Python 代码创建包含路由器、主机和交换机的自定义网络拓扑。

  3. 掌握主机、交换机和路由器接口 IP 地址及默认网关的配置方法,理解直连路由与默认路由在跨网段通信中的作用。

  4. 通过 ping 测试与 tcpdump 抓包验证路由器转发功能,加深对不同网段间数据包转发过程的认识。

实验内容简要描述

本次实验在 IPMininet 仿真环境中完成。实验首先启动 Open vSwitch 相关服务,并按照规划的网段设计网络拓扑;随后通过编写并注册 simple_router_network.py 拓扑文件,启动包含两台主机、一台路由器及交换机的仿真网络。在网络启动后,分别配置主机 h1、h2 的 IP 地址,检查并调整交换机工作模式,配置路由器 r1 两个接口的地址与路由信息,再为两台主机配置默认网关。最后通过双向 ping 验证主机跨网段通信是否成功,并使用 tcpdump 在路由器接口上抓包观察数据转发过程。

实验步骤与结果分析

  1. 启动IPMininet 仿真网络

右键打开终端首先输入ovs-vswitchd --pidfile --detach启动服务,表明 ovs-vswitchd 进程已经在运行(PID 85)。

实验按照如下图所示规划的网段进行实验。

由于原生Mininet不支持网络层的路由器仿真,因此使用拓展过的IPMininet,需要我们通过代码创建自定义网络。进入/home/headless/ipmininet/ipmininet/examples文件夹,在此处打开终端

输入sudo gedit simple_router_network.py 创建新的网络拓扑文件,填入如下图所示的python代码。

终端中输入sudo gedit main.py打开main文件注册刚刚创建的网络拓扑,填入如下两图所示的代码,保存后退出。

退出到/home/headless/ipmininet文件夹,右键打开终端输入sudo python3 -m ipmininet.examples --topo=simple_router_network,启动包含一个路由器和两个主机的网络。

2. 配置主机IP 地址

重新输入sudo python3 -m ipmininet.examples --topo=simple_router_network,在启动Mininet后的终端内输入xterm h1,打开主机1的终端。在h1的终端内输入sudo ifconfig查看ip信息。可以看到此时eth0网卡的ip地址和子网掩码不符合实验要求。

执行如下命令,将主机1的eth0网卡的ip地址和子网掩码设置为实验要求。

输入xterm h2,打开h2的终端,输入sudo ifconfig查看ip信息。可以看到此时eth0网卡的ip地址不符合实验要求。

执行如下命令,将主机2的eth0网卡的ip地址和子网掩码设置为实验要求。

3. 配置路由器

在mininet终端中输入r1 route,查看路由器1的路由表:

在mininet终端中输入xterm r1打开路由器1的终端,并在其终端上执行ifconfig命令,查看网卡端口信息。该路由器有两块网卡,eth0和eth1:

修改两块网卡的ip地址:

  • 执行ifconfig r1-eth0 192.168.0.1/24命令,配置网卡eth0的IP地址为192.168.0.1/24
  • 执行ifconfig r1-eth1 10.0.0.1/24命令,配置网卡eth1的IP地址为10.0.0.1/24

在mininet终端中再次执行r1 route命令,查看路由器1的路由表:

  • 127.0.0.0/24代表环回口路由,环回口习惯上被称为Loopback接口,是路由器上的一个逻辑、虚拟接口,任何主机中都会有。
  • 10.0.0.0/24是eth1网口连接的网段,是配置在网卡上的路由。
  • 192.168.0.0/24是eth0网口连接的网段。

配置主机路由

查看主机1路由信息。主机1没有默认路由,从主机1出去的流量不能到达eth0的网关,即不能到达路由器1。

执行如下命令,修改主机1的默认网关后,查看修改后的路由信息,主机1的默认网关为网卡eth0的网关

查看主机2的路由信息。主机2没有默认路由,从主机2出去的流量不能达到eth1网关,即不能到达路由1:

执行如下命令,修改主机2的默认网关

验证路由器功能

在主机1上执行ping 10.0.0.2,主机2上执行ping 192.168.0.2,验证路由器路由功能。

可以看到都能ping通。

打开路由器1的终端,在主机ping的过程中执行tcpdump -i r1-eth0命令,抓取路由器上的数据包。可以看到路由器将192.168.0.0/24网段的数据转发到10.0.0.0/24网段。

相关推荐
Logintern091 小时前
网络通讯协议—TCP/IP协议
网络·网络协议·tcp/ip
熊IT3 小时前
什么是原生住宅 IP?如何判断一个 IP 是否真正“原生”?
服务器·网络·tcp/ip
爱学习的小白柏4 小时前
【AI问数技术】多Agent协同架构:查询规划/SQL生成/洞察分析/报告生成
java·网络·人工智能·windows·sql·架构·llama
格尔曼Noah7 小时前
iPhone共享网络给电脑的方式
网络·电脑·iphone
好评1247 小时前
【Linux】Socket编程TCP
linux·网络·tcp/ip
夜来小雨8 小时前
异常Wi-Fi信号问题处理
网络
Lost of 程序猿9 小时前
Kubernetes 排障实战:从 CrashLoopBackOff 到网络不通
网络·容器·kubernetes
三垣网安10 小时前
记一次渗透测试 | 教育src漏洞分享(2)
网络·安全·web安全·网络安全
mengge.cloud10 小时前
Linux三剑客 grep sed awk 小白基础教程
linux·运维·服务器·网络
xiaoxiangsiyan11 小时前
全网IPv6规模化改造实战指南
运维·网络·笔记·云原生·自动化