Linux模拟三路由实验

前言简介


熟悉网络,熟悉路由的实际工作方式,更深刻的理解网络的概念。


需要,与命名

现用三台CentOS6.9系统的服务器,模拟三台路由器.
另用CentOS6.9CentOS7.3一台,模拟两台用户服务器.
为方便实验。两台用户服务器,6.97.3的两台服务器称呼为:AB机器。
三台模拟路由器的6.9的服务器,称呼为R1,R2,R3.

简示图

为了更加直观的表示实验的过程,我画了下面的简示图。
Linux模拟三路由实验_第1张图片
(随手画的,不好看轻喷…)


实验


配置准备

  • 首先为了实验的方便,与不被其他因素干扰,我准备的R1;R2;R3,这三台机器
    都是新的最小化安装的,避免了其他状况,A;B两台客户机就是平时使用的两台
    机器,不做特殊要求。

  • A-R1-R2-R3-B,这五台机器依次相连,把网络分为了四段。
    所以对R1,R2,R3,这三台机器分别分别配置两块网卡。
    为了方便识别,对网卡编号P1,P2,P3,P4,P5,P6.
    图示:
    Linux模拟三路由实验_第2张图片

  • 在配置网卡时,选择自定义网络连接。总共分了四个网段,
    P1选择VMnet11
    P2选择VMnet12
    P3选择VMnet12
    p4选择VMnet13
    P5选择VMnet13
    P6选择VMnet14


检查网络配置

注意:现在把所有机器都可以打开了,开机后先检查R1R2R3的MAC地址是否与其他的冲突,如果冲突,关机在VM上面修改生成新的MAC地址,开机看网络能否起来,如若依然不能起来,网卡名显示不正常,可以修改配置文件/etc/udev/rules.d/70-persistent-net.rules.删掉不要的网卡,其他的把MAC地址与名字都对应好。(如下代码块)

[ root@centos6 ~ ]# vim /etc/udev/rules.d/70-persistent-net.rules 
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:3b:c7:e2", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

设置服务器网卡IP

注意:给各个网卡设置IP的时候,我建议直接写入配置文件里,不然很容易IP就掉了…(因为是最小化安装的系统,没有vim就只能使用vi了…)
下面我就是直接写入配置文件里面了。
(DEVICE;IPADDR;PREFIX是必须要写的。)

P1服务器

  • P1网卡,设置IP,设置IP为172.18.251.1/24
    vi /etc/sysconfig/network-scrips/ifcfg-eth0

Linux模拟三路由实验_第3张图片

  • P2网卡,复制ifcfg-eth0进去修改即可,设置IP为172.18.252.1/24
 cp /etc/sysconfig/network-scrips/ifcfg-eth0 /etc/sysconfig/network-scrips/ifcfg-eth1
 vi /etc/sysconfig/network-scrips/ifcfg-eth1

Linux模拟三路由实验_第4张图片
(到这里P1的IP就设置好了)

P2服务器

  • P3网卡,设置IP,设置IP为172.18.252.2/24

vi /etc/sysconfig/network-scrips/ifcfg-eth0

Linux模拟三路由实验_第5张图片

  • P4网卡,复制ifcfg-eth0进去修改即可,设置IP为172.18.253.2/24
 cp /etc/sysconfig/network-scrips/ifcfg-eth0 /etc/sysconfig/network-scrips/ifcfg-eth1
 vi /etc/sysconfig/network-scrips/ifcfg-eth1

Linux模拟三路由实验_第6张图片

(P2的IP也配置好了)


P3服务器

  • P5网卡,设置IP,设置IP为172.18.253.1/24
vi /etc/sysconfig/network-scrips/ifcfg-eth0

Linux模拟三路由实验_第7张图片

  • P6网卡,复制ifcfg-eth0进去修改即可,设置IP为172.18.254.1/24
 cp /etc/sysconfig/network-scrips/ifcfg-eth0 /etc/sysconfig/network-scrips/ifcfg-eth1
 vi /etc/sysconfig/network-scrips/ifcfg-eth1

Linux模拟三路由实验_第8张图片
(好了,到这里三个服务器的6个网卡的IP地址都配置好了,记得在每一次配置完网卡后都要重启网卡哦,
CentOS6上面命令是service network restart ,CentOS7上面命令是systemctl restart network)

设置客户机网卡IP

客户机就原来的网卡就好了,当然也是要使用自定义网络的。
这里称呼CentOS6.9的网卡为H1.CentOS7.3的网卡为G1。
H1选择VMnet11
G1选择VMnet14

A客户机

vim /sysconfig/network-scrips/ifcfg-eth1

(修改eth1的配置文件,重启网卡服务)
Linux模拟三路由实验_第9张图片

service network restart(重启网卡)

B客户机

vim /sysconfig/network-scrips/ifcfg-ens37

Linux模拟三路由实验_第10张图片

systemctl restart network(重启网卡)

(到这里两个客户机的网卡IP也配置好了)

配置路由表


P1路由表

这里写图片描述

P2路由表

这里写图片描述

P3路由表

这里写图片描述

路由表简化写法

比如P1的路由表两条可以简化成一条:
route add -net default gw 172.18.252.2
P2的路由表两条也可以简化成一条:
route add -net default gw 172.18.253.2
(到这里三个服务器的路由表就都加好了)

开启路由功能

  • 要启用R1;R2;R3的路由功能,首先要清除防火墙策略
  • 在开启路由转发功能(因为是写在/proc这个伪文件系统下只是内核的映射,千万别重启,是存不住的。)

P1

[ root@YGL ~ ]# iptables -F
[ root@YGL ~ ]# chkconfig iptables off(为了以后的实验我从下次启动开始不在启动防火墙)
[ root@YGL ~ ]# echo 1 > /proc/sys/net/ipv4/ip_forward

P2

[ root@YGL ~ ]# iptables -F
[ root@YGL ~ ]# chkconfig iptables off(为了以后的实验我从下次启动开始不在启动防火墙)
[ root@YGL ~ ]# echo 1 > /proc/sys/net/ipv4/ip_forward

P3

[ root@YGL ~ ]# iptables -F
[ root@YGL ~ ]# chkconfig iptables off(为了以后的实验我从下次启动开始不在启动防火墙)
[ root@YGL ~ ]# echo 1 > /proc/sys/net/ipv4/ip_forward

(到这里东西都配置好了,就看结果如何了…)

检测

  • A客户机直接pingB客户机
    Linux模拟三路由实验_第11张图片
    很幸运,直接ping通了,通过ttl=61我们可以看出,他们之间通过了三个路由器。

  • 使用mtr工具动态查看
    Linux模拟三路由实验_第12张图片
    可以很清楚的看到,经过了三个路由后到达B客户机。
    (终于成功了…)

后话:到这里实验结束了,很小很小的一个实验,我做了整整一天,搭建过程并不复杂,也不困难,但是一定要细心,严谨。不然就像我这样不到两个小时就搭好了,排错一整天…最后发现写错了一个数字….

你可能感兴趣的:(基础linux笔记)