Linux实验-搭建路由环境

Linux实验-搭建路由环境

背景:

在学习网络基础过程中,为了加强理解路由功能,准备用Linux模拟一个路由环境。同时也试试Linux的路由转发功能。

实验简介:

准备5个虚拟机,其中三个做路由,两个做客户机,相连的设备之间在同一个网段,三个路由设备在中间,两个客户机在两侧,最后实现两个虚拟机能相互通信。

实验规划:

这里配的IP都是随意配的,保证相连设备在同一网段,而设备间的网段不同。

第一个客户机IP:192.168.2.1/16

第一个路由IP:第一个网卡(与第一个客户机连):192.168.0.1/16  第二个网卡(与第二个路由连):172.2.2.2/16

第二个路由IP:第一个网卡(与第一个路由连):172.2.0.1/16 第二个网卡(与第三个路由连):10.2.2.2/8

第三个路由IP:第一个网卡(与第二个路由连):10.0.0.1/8  第二个网卡(与第二个客户机连):129.2.0.1/16

第二个客户机IP:129.2.2.2/16

这里一共是四个网段:

192.168.0.0/16     172.2.0.0/16     10.0.0.0/24      129.2.0.0/16

虚拟机实验环境搭建:

第一个客户机准备一个网卡,网段为VMnet2,如果自定义里没有足够的虚拟网段,可以自己去设置,点击虚拟机选择栏菜单里的编辑项里的虚拟网络编辑器。

Linux实验-搭建路由环境

第一个路由准备两个网卡,一个连客户机,一个连下个路由,第一个网卡网段为VMnet2,第二个网卡网段为VMnet3.

Linux实验-搭建路由环境Linux实验-搭建路由环境

第二个路由准备两个网卡,一个连第一个路由,一个连下个路由,第一个网卡网段为VMnet3,第二个网卡网段为VMnet4.

第三个路由准备两个网卡,一个连第二个路由,一个连下个客户机,第一个网卡网段为VMnet4,第二个网卡网段为VMnet5.

第二个客户机准备一个网卡,连第三个路由,网段为VMnet5.

注意,这里的网卡都是自定义的,是没有配IP的,需要我们开启虚拟机自己配置。

配置IP与路由:

在配置IP时需要注意,ifconfig只是临时配个IP,而且很不稳定,可能很快就失效了,所以为了实验稳定性,这里我们最好写配置文件来配置IP。这个是第一个客户机的IP配置。

Linux实验-搭建路由环境

第一个路由IP配置

第一个路由第一个网卡配置

Linux实验-搭建路由环境

第一个路由第二个网卡配置

Linux实验-搭建路由环境

第二个路由配置

第二个路由第一个网卡配置

Linux实验-搭建路由环境

第二个路由第二个网卡配置

Linux实验-搭建路由环境

三个路由配置

第三个路由第一个网卡配置

Linux实验-搭建路由环境

第三个路由第一个网卡配置

Linux实验-搭建路由环境

第二个客户机配置

Linux实验-搭建路由环境

写好配置文件后需要我们重启网络系统:

centos6:service network restart  (centos6版本重启第二个网卡会有问题,需要关闭NetworkManager服务)

centos7:systemctl restart network.service

如果还不好使就重启虚拟机。

Linux实验-搭建路由环境

其余几个虚拟机做相同操作,启动完后注意查看IP是否正确。

在三个路由设备上配置路由表,这样配置是临时的,重启失效。

R1

第一种:

route add -net 10.0.0.0/8 gw 172.2.0.1(这个可要可以不要)
route add -net 129.2.0.0/16 gw 172.2.0.1

Linux实验-搭建路由环境

第二种:
route add default gw 172.2.0.1(这里就一个出口,所以可以直接用default,如果有多个出口需要指定)

R2
route add -net 192.168.0.0/16 gw 172.2.2.2
route add -net 129.2.0.0/16 gw 10.0.0.1
Linux实验-搭建路由环境
R3

第一种:

route add -net 172.2.0.0/16 gw 10.2.2.2

route add -net 192.168.0.0/16 gw 10.2.2.2

第二种:

route add default gw 10.2.2.2

Linux实验-搭建路由环境

配置完路由后,三个路由设备需要开启Linux里的路由功能,命令:echo > 1 /proc/sys/net/ipv4/ip_forward;这个命令只能临时生效,重启会失效。

PS:所有的虚拟机都需要关闭防火墙和SElLINUX

关闭防火墙命令:

centos6  service iptables stop (即时生效,重启还会有); chkconfig iptables off (开机禁用)

centos7 systemctl stop firewall.service (即时生效,重启还会有);systemctl disable firewalld.service (开机禁用)

关闭SELINUX

第一种写配置文件:vim /etc/selinux/config(重启生效)将 SELINUX=enforcing 改为 SELINUX=disabled
第二种:setenforce 0 (即时生效)

ping通,实验成功

Linux实验-搭建路由环境

总结:

这个实验是个简单的路由实验,原理很简单,但是在实际操作中会出现各种问题,比如配置IP出现问题,会出现IP地址是我们配置的但是子网掩码不对,需要我们手动去配置,子网掩码不对就不再是一个网段了,相连的两个设备也无法ping通。还有就是要注意防火墙是否关闭,如果是因为防火墙的原因而不成功那就是浪费我们的时间(亲身经历,良心忠告)。

原创文章,作者:657188918,如若转载,请注明出处:http://www.178linux.com/84905

(1)
657188918657188918
上一篇 2017-08-19
下一篇 2017-08-19

相关推荐

  • shell脚本编程小节及作业

    使用read命令来接收输入          使用read来把输入值分配给一个或多个shell变量:         -p:指定要显示的提示     &nbsp…

    Linux干货 2016-08-22
  • 马哥教育网络班第21期+第四周课程作业

    1. 复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1 chmod –R 700 /home/tuser1 2. 编辑/etc/group文件,添加组hadoop。 echo &q…

    Linux干货 2016-08-01
  • netstat

    netstat命令 netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等 1 常用选项: -a :(all)显示所有选项,默认不显示LISTEN相关 -t :(tcp)仅显示tcp相关选项 -u :(…

    Linux干货 2017-05-07
  • 如何在Linux系统上获取命令的帮助信息

    如何获取命令帮助信息:    1、内建命令可以通过help COMMAND    2、外部命令可以通过man手册获取帮助,COMMAND –help man命令的分段机制:      1-8:        …

    Linux干货 2016-10-30
  • N22-第二周作业-对Linux的基础操作命令的理解及用法示例

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 Linux上文件管理类命令常用的有:pwd、ls、cd、cp、touch、mv、rm、rmdir   1)pwd:显示当前工作目录     2)ls:列出指定目录下的内容    常用的选项有:   -a:列出目录中的所有文…

    Linux干货 2016-08-22
  • Linux bash中命令执行状态返回值

    Linux bash中命令执行状态返回值 在操作系统中,命令的执行后输出的内容为命令执行结果输出,而这个命令本身是否执行成功,它是通过命令执行状态返回值来标识的。 常用的值: 0 表示命令执行成功非0 表示命令执行失败 bash中获取命令执行状态返回值的方法 在刚执行完一条指令后,使用echo $?取得上一条指令的命令执行状态返回值,示例如下:  …

    Linux干货 2016-11-06