配置CentOS模拟路由&网卡链路聚合

一、如何通过虚拟网卡实现一个网卡多个IP

实验环境:VMware虚拟机

                  CentOS6.8

                  单网卡:eth1

1)复制网卡信息,新增2个虚拟网卡ifcfgeth1:100、ifcfgeth1:200

cp ifcfg-eth1 ifcfg-eth1:100
cp ifcfg-eth1 ifcfg-eth1:200

2)、为虚拟网卡配置IP信息

    2.1)配置ifcfgeth1:100

#] cat ifcfg-eth1:100
DEVICE=eth1:100   #注意DEVICE的名称要和新增虚拟网卡的配置文件名称一致
ONBOOT=yes
NM_CONTROLLED=no
IPADDR=192.168.218.144
PREFIX=24
GATEWAY=192.168.218.2

    2.2)配置ifcfgeth1:200

]# cat ifcfg-eth1:200
DEVICE=eth1:200
ONBOOT=yes
NM_CONTROLLED=no
IPADDR=192.168.218.44
PREFIX=24
GATEWAY=192.168.218.2

3)、重启网络服务

blob.png

 4)、查看网络信息

blob.png

 可以查看到新增的信息

二、多网卡配置bond,模式为mode1。

实验环境:在上一题的基础上进行,先将虚拟网卡信息删除。

blob.png

 1)、要实现bond,需要至少2块网卡,因目前系统上为单网卡,需再添加一块网卡

blob.png

2)开始配置bond

    2.1)停掉NetworkManager服务,禁止其开机自动启动  

service NetworkManager stop
chkconfig NetworkManager off

blob.png

   2.2) 新增名为ifcfg-bond0的配置文件

network-scripts]# vim ifcfg-bond0DEVICE=bond0       #注意名称要与文件名称一致
IPADDR=192.168.218.155
PREFIX=24
GATEWAY=192.168.218.2
BONDING_OPTS="miimon mode1"  #意为每100毫秒主从之间进行探测,若主网卡down掉,则从网卡会自动顶上
DNS1=114.114.114.114

2.3)配置eth1、eth2,将其加入bond

network-scripts]# vim ifcfg-eth1
DEVICE=eth1
SLAVE=yes
MASTER=bond0
network-scripts]# vim ifcfg-eth2
DEVICE=eth2
SLAVE=yes
MASTER=bond0

2.4)重启网络服务

service network restart

blob.png

 2.5)、连通性测试

blob.png

2.6)、查看bond0信息

blob.png

 当前的主网卡为eth1,eth1、eth2都为uup状态

 3)、模拟网线故障,down掉其中的一块,测试其连通性

模拟拔掉连接eth1的网线之后,发现网络会暂时中断一下

blob.png

 再次查看bond0的状态,发现主网卡已自动切换至eth2,且eth1的状态为down状态。

blob.png

三、如何将CentOS模拟为路由器,实现路由转发功能

   实验目的:实现172.16.0.154和192.168.0.154能互相ping通

   实验环境:物理PC网卡配置为172.168.0.154/24

                     虚拟机1、虚拟机2分别模拟为R1、R2。(虚拟机1、2均为centos6.8系统需开启路由转发功能)

                     虚拟机3网卡配置为192.168.0.154/24 (系统为centos7.2)  

blob.png

1、配置R1

    1)关闭selinux,关闭iptables,关闭NetworkManager,且设置为禁止开机启动

setenforce 0
service iptables stop
service NetworkManager stop
chkconfig NetworkManager off

    2)、打开路由转发功能

echo 1 > /proc/sys/net/ipv4/ip_forward

    3)、配置接口IP地址

blob.png    

    4)、直连网络不需要路由配置,只需配置到192.168.0.0/24网络的路由。

route add 192.168.0.0/24 gw 10.0.0.54 dev eth0

查看路由信息

 blob.png

 2、配置R2。

同样需要关闭selinux、iptables、NetworkManager,且设置NetworkManager禁止开机自动启动,开启路由转发功能

service iptables stop
service NetworkManager stop
chkconfig NetworkManager off 
echo 1 > /proc/sys/net/ipv4/ip_forward
setenforce 0

2)、配置接口IP地址

blob.png

 3)、配置远端路由

blob.png

两个路由器配置完成之后,配置两个主机

3、配置物理机IP地址

blob.png

4、配置虚拟机3的ip地址

blob.png

网络搭建完成,测试连通性。

在虚拟机3上做测试。

a)先ping直连网关。192.168.0.54

可ping通

blob.png

b)、ping R2,测试是否可达

ping R2上的两个接口ip,都可达。经过一个路由器,ttl值减一,为63

blob.png

c)、ping对端的主机172.16.0.154,测试是否可达。

测试可达,经过一个路由器,ttl值减一,为62

blob.png

 d)、在物理机上tracert虚拟机3。查看器路由

其经过直连的网关172.16.0.54,和与其直连路由R1连接的R2的端口eth1(10.0.0.54),之后到达主机。

至此,实验完成。

blob.png

四、其他实战演练

1、某公司申请到一个C 类IP 地址,但要连接6 个的子公司,最大的一个子 公司有26 台计算机,每个子公司在一个网段中,则子网掩码应设为?  

要满足6个子公司的需求,需要借3位,共8个子网,满足,子网掩码应设为27

2、一家集团公司有12家子公司,每家子公司又有4个部门。上级给出一个172.16.0.0/16的网段,让给每家子公司以及子公司的部门分配网段。

172.16.0.0

255.255.00000000.00000000

255.255.0000 0000.0000 0000  借4位,共16个子网,满足12个子公司的需要,掩码为20

第一个公司网段:

172.16.0000 0000.0

即:172.16.0.0/20

每个子公司4个部门,在将172.16.0.0/20划分为至少4个子网,再借2位,共4个子网,满足每个公司4个部门的需求。掩码为22。

1)、第一个公司第一个部门网段:

172.16.0000 00 00.0

即:172.16.0.0/22

第一个公司第一个部门ip地址范围:

172.16.0000 00 00.0000 0001/22

172.16.0000 00 11.1111 1110/22

即范围为:

172.16.0.1/22—172.16.3.254/22

2)、第一个公司第二个部门网段:

172.16.0000 01 00.0

即:172.16.4.0/24

第一个公司第二个部门ip地址范围

172.16.0000 01 00.0000 0001/22

172.16.0000 01 11.1111 1110/22

即:172.16.4.1/22—172.16.7.254/22

3)、第一个公司第三个部门网段:

172.16.0000 10 00.0000 0000

即:172.16.8.0/22

第一个公司第三个部门IP地址范围:

172.16.0000 10 00.0000 0001/22

172.16.0000 10 11.1111 1110/22

即:172.16.8.1/22—172.16.11.254/22

4)、第一个公司第四个部门网段:

172.16.0000 11 00.0000 0000/22

即:172.16.12.0/22

第一个公司第四个部门IP地址范围:

172.16.0000 11 00.0000 0001/22

172.16.0000 11 11.1111 1110/22

即:172.16.12.1/22—172.16.15.254/22

第二个公司网段:

172.16.0001 0000.0000 0000

即:172.16.16.0/20

同理,第二个公司的四个部门,也需要借2位才满足需求

1)、第二个公司第一个部门网段:

    172.16.0001 00 00.0000 0000/22

    即:172.167.16.0/22

        第二个公司第一个部门IP地址范围:

    172.16.0001 00 00.0000 0001/22

    172.16.0001 00 11.1111.1110/22

    即:172.16.16.1/22—172.16.19.254/22

2)、第二个公司第二个部门网段:

    172.16.0001 01 00.0000 0000/22

    即:172.167.20.0/22

        第二个公司第二个部门IP地址范围:

    172.16.0001 01 00.0000 0001/22

    172.16.0001 01 11.1111.1110/22

    即:172.16.20.1/22—172.16.23.254/22

3)、第二个公司第三个部门网段:

    172.16.0001 10 00.0000 0000/22

    即:172.167.24.0/22

        第二个公司第三个部门IP地址范围:

            172.16.0001 10 00.0000 0001/22

    172.16.0001 10 11.1111.1110/22

    即:172.16.24.1/22—172.16.27.254/22

第四个部门网段及IP可类推出,不再列举

第三个公司各部门及之后各公司的各部门依理可类推出,在此也不在列举。

3、某集团公司给下属子公司甲分配了一段IP地址192.168.5.0/24,现在甲公司有两层办公楼(1楼和2楼),

统一从1楼的路由器上公网。1楼有100台电脑联网,2楼有53台电脑联网。如果你是该公司的网管,

你该怎么去规划这个IP?

要满足1楼100台电脑的需求,1楼需要128个主机地址,网络位可向主机位借1做掩码,其主机地址共

126个,满足需求。

网络划分为:

192.168.5.0 000 0000/25

192.168.5.1 000 0000/25

即划分为

一楼网段:192.168.5.0/25

ip地址划分为:

192.168.5.0 000 0001/25

192.168.5.0 111 1110/25

即:192.168.5.1/25—192.168.5.126/25

二楼网段:192.168.5.128/25

ip地址划分为:

192.168.5.1 000 0001/25

192.168.5.1 111 1110/25

即:192.168.5.129/25—192.168.5.254/25

原创文章,作者:M20-1钟明波,如若转载,请注明出处:http://www.178linux.com/43144

(0)
M20-1钟明波M20-1钟明波
上一篇 2016-09-05 08:48
下一篇 2016-09-05 08:48

相关推荐

  • 【原创】Tengine+LUA+Nginx-GridFS+jemalloc编译安装

    操作系统 ubuntu 14.04 LTS Nginx-GridFS为nginx直接访问mongoDB的扩展模块,目前只支持到mongodb2.6.12 mongodb安装请自己百度 #安装依赖包保平安 apt-get install root-system-bin autoconf automake gcc c++ libgeoip-devlibxml++…

    Linux干货 2016-11-30
  • 第二周作业

    一、文件管理命令以及演示方法  1.1. mkdir命令     作用:创建文件夹     基本用法:mkdir [OPTION]… DIRECTORY…     参数:   &nbsp…

    Linux干货 2016-08-22
  • 全面解析文件文件系统

    前言: 文件系统作为linux总最基础的但愿。理解并深入了解文件系统对linux的学习有重要意义。我们从文件系统创建,构成以及工作流程几个方面全方位的介绍文件系统的相关概念。 简述: 一块完整的磁盘经过分区后我们就可以通过格式化,根据我们的需求构建文件系统能使用的文件系统格式。传统的文档系统中,一个分区就只能够被格式化为一个文件系统。所以我们可以说一个文件系…

    Linux干货 2016-11-14
  • N26-博客作业-week3

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d” ” -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 ~]# last -n 1 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 ~]# cut /etc/pas…

    Linux干货 2017-02-19
  • shell位置变量解析

    什么是位置变量 在脚本代码中调用通过命令行传递给脚本的参数。 有哪些位置变量 $1,$2,…: 对应第1、第2等参数,shift [n]换位置 $0:命令本身 $*:传递给脚本的所有参数,全部参数合为一个字符串 $@:传递给脚本的所有参数,每个参数为独立字符串$#:传递给脚本的参数的个数    &nbsp…

    Linux干货 2016-08-15
  • mongodb数据库切分

    前言:  相信维护过有大数据的MySQL的运维人员一定对sharding这个非常了解,MySQL数据库切分自身没有工具需要借助第三方工具进行;MySQL切片是一件非常头疼而又难做的一件事,一旦切分错误,不仅不能优化数据库,反而会加剧数据库负载;mongodb相对于MySQL来说,数据库切分是mongodb与生俱来的功能,mongodb会自动切分数据…

    Linux干货 2015-09-05