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

相关推荐

  • 推荐-运维学习笔记-Puppet应用配置的工作原理

    背景知识 Puppet的核心功能是配置管理。一般来说,用户在master上集中做配置,同时,被管理节点上的agent会定期从master上下载配置数据,再应用(apply)到本地,从而使管理节点的状态(用户,组,文件,安装包,服务等的设置和运行状态)与masters上定义的保持一致。 有时,出于测试的目的,并不希望真的应用配置,那么就需要执行puppet a…

    2016-06-01
  • linux基础学习-第九天(shell基础)

    2016-08-10 授课内容: shell脚本基础: 变量 运算 bash测试(数字测试、字符测试、文件测试、组合测试) read命令 变量作用: 1、数据存储格式 2、参与的运算 3、表示的数据范围 变量类型: 1、本地变量 2、环境(全局)变量 3、特殊变量     驼峰命名变量:每个单词一个字母大写 本地变量:…

    Linux干货 2016-08-11
  • grep命令与正则表达式的应用示例、find命令应用示例

    grep命令与正则表达式的应用示例、find命令应用示例 显示当前系统上root、fedora或user1用户的默认shell。 使用扩展正则表达式,它支持使用A|B表示或者之意。查看用户的默认shell,cat /etc/passwd文件,根据用户名所处位置进行锚定,其最后一个字段即表示该用户的默认shell。实现方式及结果如下:   找出/et…

    Linux干货 2016-11-28
  • LAMP (php-fpm模式)部署出现的奇葩问题

    1. 安装环境:(cent6.5) yum install -y php php-devel httpd  php-fpm mysql 2. 修改配置文件 vim /etc/httpd/conf/http.conf 注释掉DocumentRoot vim /etc/httpd/conf.d/vhost.conf <VirtualHost *:…

    2017-04-10
  • 第九周加密及DNS

    1、简述常见加密算法及常见加密算法原理,最好使用图例解说
    2、搭建apache或者nginx并使用自签证书实现https访问,自签名证书的域名自拟
    3、简述DNS服务器原理,并搭建主-辅服务器
    4、搭建并实现智能DNS

    Linux干货 2018-01-29
  • 用户和组管理类命令

    用户和组管理类命令 useradd useradd命令用于Linux中创建的新的系统用户 语法 useradd(选项)(参数) 选项 -c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中; -d<登入目录>:指定用户登入时的启始目录; -D:变更预设值; -e<有效期限>:指定帐号的有效期限; -f<…

    Linux干货 2018-03-18