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

实验目的

  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网段。

相关推荐
玖玥拾1 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
一个有温度的技术博主3 小时前
【VulnHub 实战】DC-1 靶机渗透测试笔记(一):信息收集与主机发现
服务器·网络·笔记
白帽小阳3 小时前
2026前端面试题!(附答案及解析)
javascript·网络·python·安全·web安全·网络安全·护网行动
hehelm5 小时前
Linux网络编程—TCP字典翻译系统
linux·开发语言·网络·c++·tcp/ip
持力行5 小时前
D-BUS会话总线
运维·网络
pt10435 小时前
思科网络自动化-API常用数据编码格式(JSON/XML/YAML)课程与实践
linux·服务器·网络
Keepingrun6 小时前
HTTP基础
网络·网络协议·http
rcms152702692187 小时前
AMAT 350-00010-001 PCB 板
网络
蓝田~8 小时前
AI 图片与视频处理 — 从原理到实践
网络·人工智能·音视频
apihz8 小时前
全球域名 WHOIS 信息实时查询免费 API 接口教程,支持1000+后缀
android·网络·网络协议·tcp/ip·apache·域名·whois