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)
上一篇 2017-08-19 10:49
下一篇 2017-08-19 15:23

相关推荐

  • vsftp简单应用

    vsftp配置详解 前言 FTP(File Transfer Protocol)是文件传输协议的简称。它能让用户 连接上一个远程计算机(运行着 FTP 服务器程序)查看远程 计算机上有哪些文件,然后把文件从远程计算机上下载到 本地计算机,或把本地计算机文件上传到远程计算机。但是ftp是一种古老的文件传输协议,是明文传输,特别的不安全所以就有了vsftp。 一…

    Linux干货 2016-12-18
  • find和grep命令练习

                                    find和grep命令练习 1、显示当前系统上root,fedora,或user1用户的默认shell; ~]# cat /etc/pa…

    Linux干货 2016-10-23
  • Shell脚本编程—特殊用法(select)及函数、递归

    Shell脚本编程—特殊用法及函数   一、while的特殊用法: 1、使用格式: while read 变量名;do    循环体 done </PATH/TO/filename 注:依次从指定的文件中的内容逐行读取,并把读取到的每行赋值给变量。 2、例题: 扫描/etc/passwd文件每一行,如发现GECOS字段为空…

    Linux干货 2016-08-21
  • 分享 (History,Ls,感悟 )

    1.History 选项   -c: 清空命令历史   -d offset: 删除历史中指定的第offset个命令    n: 显示最近的n条历史   -a: 追加本次会话新执行的命令历史列表至历史文件   -n: 读历史文件中未读过的行到历史列表   -r: 读历史文件附加到历史列表 &…

    2017-07-15
  • 面向对象的实例方法,类方法和静态方法

    类方法和静态方法 普通函数 class Person: def normal_method(): print(‘normal’) Person.normal_method() # Person().normal_method() print(Person.__dict__) Person.normal_method()可以,是因为这个方法只是被Person这…

    2017-11-11
  • 马哥教育网络班21期+第12周课程练习 ​

    1、请描述一次完整的http请求处理过程;   1)客户端和服务器端建立连接。服务器接收或者拒绝请求。   2)服务器端接收客户端请求。接收来自于网络的请求报文中对某资源的一次请求。对请求的处理响应,可分为单进程(启动一个进程处理请求,一次只处理一个)和多进程(并行启动多个进程,每个进程处理一个请求)。  &…

    Linux干货 2016-10-09