计算机网络,知识量较大,并且很复杂。如何才能掌握好这部分知识呢?局域网的搭建,可以帮助我们理解,掌握这部分知识。局域网搭建实验需要使用到IP地址、路由器的配置等知识,用到的知识较多,属于一个难点,并且还是一个重点。小编花了一点儿时间,将该实验整理了一下,一来可以帮助自己梳理一下这部分内容,巩固一下,另外也希望能够帮助到别人。实验中可能会有疏漏。
使用linux做路由器搭建局域网实验:
1、实验环境的搭建。本实验需要用到五台虚拟机,其中三台作为路由器使用,另外两台作为主机。做实验之前,花一点儿时间,将拓扑图画出来,并且一定要花清楚,这样可以事半功倍。不然待会儿会将自己绕迷,耽误更多的时间。上图是小编自己画的,只是将重要的地方给画了出来。例如主机名、网卡接口、IP地址、子网掩码等信息 。
2、拓扑图画好,就要准备机器了。对于基础不太牢固的同学,建议使用新的虚拟机,这样可以按照小编的步骤,一步一步来,尽量少走弯路。另外,使用新的虚拟机,会使用到更多的知识。
由于本实验需要使用到五台虚拟机(CentOS6.9),这个对计算机的内存要求比较高,物理机的内存是4G的话,做这个实验有点儿困难。建议使用8G内存来做。另外,对于虚拟机的安装,小编为了省事儿,使用网络安装(没有条件的同学,只能使用手动安装了,不过也好,熟悉熟悉linux的安装步骤。)安装好一个之后,就复制四份安装的好的虚拟机,尽可能的省一些时间。
3、更改虚拟机的名字,并调整好虚拟机位置。
4、使用虚拟机添加网络。一共需要添加四段网络。
PC-A~route1=vmnet11;
route1~route2=vmnet12;
route2~route3=vmnet13;
route3~PC-B=vmnet14;
具体步骤看下图:
添加结束,windows的“控制面板\网络和 Internet\网络连接”下会多出几块网卡。(黄色部分)
5、由于5台机器是复制的,而源主机只有的网卡只有一个。路由器需要两个接口,当做路由器的主机,因为是复制来的,所以,route1、route2、route3,三台主机都需要再加一个网卡。增加的方法,如下图所示:
网络连接的对应关系为:PC-A-eth0=vmnet11;route1-eth0=vmnet11;route1-eth1=vmnet12;route2-eth0=vmnet12;route2-eth1=vmnet13;route3-eth0=vmnet13;route3-eth1=vmnet14;PC-B-eth0=vmnet14。(注意:这里不必考虑eth0、eth1对应哪个网络适配器)
6、打开虚拟机,打开虚拟机的时候,由于虚拟机是复制的,计算机为了防止mac地址冲突,虚拟机会询问你是否是复制的,选择“我已复制该虚拟机”,如图所示:
7、开机后,正常的话。进入命令行界面,输入命令“ip addr”,会发现网卡名称不是eth0、eth1的情况。如果不是,那就是,一切正常,因为我们现在就要更改配置文件。执行“vim /etc/udev/rules.d/70-persistent-net.rules”,会看到类似下图的信息。(如果不修改网卡的名称,拓扑图中的网卡名与ip的对应关系,就失去了意义,不该网卡名,后期配置ip地址会特别麻烦。)
根据对应关系,确定每个网卡的名称。每一台主机的每一个网卡,都要一一对应。(PS:这一步,很重要!)
修改过网卡名称的配置文件后,建议重启机器,应为刚刚只是修改了配置文件中的信息,系统内存中的信息并未发生修改。(如果不想重启机器,也可以使用ethtool –i eth1(网卡名)查看网卡的驱动模块,一般情况下,网卡的驱动模块都是e1000。然后卸载网卡的驱动模块儿“modprobe –r e1000”,然后再加载“modprobe e1000”。使用“ip addr”命令,会发现网卡名称变成了eth0,或者是eth1。还要确定网卡名与mac地址的对应关系。没有重启机器方便。)
8、修改过网卡的名称之后,还要配置网卡的ip。(可以在配置文件中配置,永久生效。使用“ifconfig 网卡名 ip”的方式只是临时生效。两种方法都可以!)因为配置文件中一些信息需要删除,小编就顺带着将IP地址也给配置。
执行“cd /etc/sysconfig/network-scripts/”命令,进入该目录下,查看一下当前目录下的文件。然后“vim ifcfg-eth0”
PS:对于路由器中IP地址的配置,可能会发生如下图所示的现象:只有一个“ifcfg-eth0” ,而“ifcfg-eth1”文件不存在,那么就需要自己手动创建。
在“/etc/sysconfig/network-scripts/”目录下,执行“vim ifcfg-eth1”,并输入如下信息:
网卡地址配好之后,就执行“service network restart”重启网卡。网卡重启之后,就执行“ip addr”查看网卡的ip地址与网卡名的对应关系。(注意:五台机器都需要手动配置ip地址。)
9、所有主机的IP地址都配好后,相邻的主机可以相互“ping”,查看相邻的主机是否配置好了。如果,可以ping同,那么ip地址就配置好了。如果不能ping通,那就要检查一下,看一看mac地址与网卡名称是不是对应错误。ip地址与网卡配错了,从头排查了一定要细心。总之,网络这部分,要求很严谨,容不得一点儿差错。着急也没有办法。耐下心来。实在是找不到原因,那就只能从头做了。
10、ip地址没有配错,相邻的主机间可以ping通,那么就冷静一下,然后开始下一步,即配置路由表。配置路由表,也是一个很细心的工作。配置之前,建议将每台主机的路由写下来,然后再操作机器。与主机相邻的网络,路由会自动生成,所以只需要配置远端的路由。(添加路由的命令有很多,可以使用ip route,也可以使用route。在这里,建议不要使用默认路由,即0.0.0.0,可能会法发生ping不同的情况,反正是小编是遇到了!)
PC-A:ip route add 192.168.4.0/24 via 192.168.1.200;ip route add 192.168.3.0/24 via 192.168.1.200;ip route add 192.168.2.0/24 via 192.168.1.200
Route1:ip route add 192.168.4.0/24 via 192.168.2.200;ip route add 192.168.3.0/24 via 192.168.2.200
Route2:ip route add 192.168.4.0/24 via 192.168.3.200;ip route add 192.168.1.0/24 via 192.168.2.100
Route3:ip route add 192.168.2.0/24 via 192.168.3.100;ip route add 192.168.1.0/24 via 192.168.1.100
PC-B:ip route add 192.168.1.0/24 via 192.168.4.200;ip route add 192.168.2.0/24 via 192.168.4.200;ip route add 192.168.3.0/24 via 192.168.4.200
11、配置好路由表之后,依然不能ping通,因为让CentOS模拟路由器,还需要打开路由转发功能。即:执行“echo 1 > /proc/sys/net/ipv4/ip_forward”,开启路由转发功能。然后还要关闭防火墙,即:执行“service iptables status”查看防火墙工作状态,然后执行“service iptables stop”,关闭防火墙。(三台路由器,都需要关闭防火墙!)如下图所示:
12、到了这里,你就可以在PC-B端,执行“ping 192.168.1.100”,如果出现下面的字样,那么恭喜你,实验成功了!
如果,ping不通,那么很遗憾,这个要花点时间来拍错了!错误的原因有很多,ping不出去;或者ping出去了,没回来。总之,错误的原因有很多,可能是路由表配置错了;或者是,防火墙没关;或者是,没开启路由转发功能。拍错的时候,也可以使用tcpdump命令来抓包。一定要静下心来,慢慢来!