序
自11月8日疫情居家办公以来,已经11天了,希望12月疫情能好转,恢复以前的样子。在居家这段日子,作为程序员的自己也没有闲下来,准备补习一下计算机网络的知识,做了下面这个实验记录,网络路由实验。
实验准备
- 虚拟机Vmware
- linux操作系统(5个)
- wireshark抓包工具(分析网络错误的原因)
原理图
原理
实验的目的其实就是在ip为192.168.247.128的机器上,ping通ip为192.168.222.129这台机器(不使用路由器,利用计算机充当路由器的作用)
看完实验目的,让我们来分析一下每台计算机的网络配置,其实在这个实验中,三台机器就已经可以解决问题了,我们用五台的目的是为了加深对网络路由的认识。
第一台:
- Vmware配置第一台网络为自定义Vmnet1(仅主机)ip地址分配为:
192.168.247.128
作用:相当于虚拟机和本机之间拉了一根叫Vmnet1的网线,发送数据(这个网线只可以和主机通信,不可以访问外部网络)。 - 添加路由表:
route add -host 192.168.222.129 gw 192.168.247.129
作用:将访问192.168.222.129的包转发给192.168.247.129(第二台机器)
第二台:
- 将虚拟机配置为两块网卡
作用:一块网卡接受上台机器的数据,另一个网卡转发数据到下一台机器 - Vmware配置第二台第一个网卡为自定义Vmnet1(仅主机)第二个网卡为自定义Vmnet2(仅主机)
作用:- 第一个网卡配置自定义Vmnet1的目的是为了保证和第一台机器处于同一个网段ip为:192.168.247.129
- 第二个网卡配置自定义Vmnet2的目的是转发数据,ip为192.168.158.129
- 第一个网卡配置自定义Vmnet1的目的是为了保证和第一台机器处于同一个网段ip为:192.168.247.129
- 添加路由表:
route add -host 192.168.222.129 gw 192.168.158.130 作用:将访问192.168.222.129的包转发给192.168.247.130
第三台,第四台,...:
理解了上面两台的配置,第三台,第四台,第五台的配置和前面的配置大同小异,只需要配置接受数据的ip地址,转发数据的ip地址,路由表就行,见原理图配置。
排错方式
- 可以利用linux机器上的tcpdump命令抓包分析错误
- 也可以利用wireshark抓包分析错误
例如:
第二台机器输入:
tcpdump -i eth0 -nn 获取利用wireshark抓取Vmnet1的网络
如果结果显示能抓到192.168.247.158 -> 192.168.222.129的包,说明第一台机器和第二台机器相通的
如果不能抓到,那就要检查第一台机器和第二台机器的防火墙,网络配置是否正确,是否在一个网段等问题。
注意事项
需要打开linux系统的路由转发功能,不然无法转发包。
需要关闭linux系统的防火墙。
双向都需要配置路由表,不然收不到回应包。