网络实验

一、子网划分

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

使用27位子网掩码
一共可以分出8个子网

每段32个地址;每个子网有30个可用地址

0-31
32-63
64-95
96-127
128-159
160-191
192-223
224-255

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

使用20位子网掩码
可以分配16个子网

172.16.0.0-172.16.15.255
16-31
32-47
48-63
64-79
80-95
96-111
112-117
128-143
144-157
160-173
176-189

192-207
208-223
214-239
240-255

每个子公司使用22位子网掩码
172.16.0.0-172.16.3.0
4-7
8-11
12-15

二、
1、虚拟网卡实现一个网卡多个地址
2、多网卡bond,mode1
3、路由实验

三、修改网卡名称

/etc/udev/rules.d/ 该目录下是定义的设备名称。

centos6中的文件;安装系统时自动生成的
makedev.d rules.d udev.conf
[root@yangyouwei ~]# ls /etc/udev/rules.d/
60-fprint-autosuspend.rules 60-pcmcia.rules 70-persistent-cd.rules 90-alsa.rules 97-bluetooth-serial.rules 99-fuse.rules
60-openct.rules 60-raw.rules 70-persistent-net.rules 90-hal.rules 98-kexec.rules

[root@yangyouwei ~]# cat /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:83:fa:77", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
                                                                |设备mac地址                          |内核识别为以太网设备  |设备名称
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:83:fa:81", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

[root@yangyouwei ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:83:FA:77  ######mac地址与上面文件中一致
          inet addr:192.168.154.128  Bcast:192.168.154.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe83:fa77/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25494 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12192 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2573467 (2.4 MiB)  TX bytes:8265407 (7.8 MiB)
eth1      Link encap:Ethernet  HWaddr 00:0C:29:83:FA:81  #####mac地址与上面文件中一致
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:474211 errors:0 dropped:0 overruns:0 frame:0
          TX packets:933 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:51160581 (48.7 MiB)  TX bytes:273433 (267.0 KiB)

修改网卡配置文件 /etc/udev/rules.d/70-persistent-net.rules 可以改网卡名称 NAME="eth1" 如果更改mac地址,而不修改此配置文件,主机自动生成一条新的配置。
但是同时也需要更改网卡的配置文件,/etc/sysconfig/network-script/ifcfg-INTFACENAME DEVICE=eth1 要更改为与上面文件中更改的名称一样。

[root@yangyouwei ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0     ######网卡设备的配置文件的名称可以不改,是什么都行。尽量与设备名称一致。以便以后使用。
DEVICE=eth0  ################################################################设备名称要与70-persistent-net.rules中名称一致
TYPE=Ethernet
UUID=1cd4609c-daa5-4b8e-8290-93884b25b60f
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
HWADDR=00:0C:29:83:FA:77
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"

注:系统的网络服务进程,会查看ifcfg开头的文件。查找DEVICE=NAME NAME与/etc/udev/rules.d/70-persistent-net.rules中NAME一致的文件。
centos6中的NetworkManager 这个网络服务程序 ,用户修改配置文件即时生效,但是不稳定。chkconfig NetworkManager off 关闭该服务,永远不启用该服务
centos5、6都可以使用network 这个网络服务程序。 centos6 使用 service network restart 重启网络服务centos7 使用systemctl restart network/systemctl status NetworkManager.service

chkconfig updates and queries runlevel information for system services 升级或查询各运行级别的系统服务信息。 当写了新的服务脚本后需要使用该程序更新
/etc/rc[0-6].d

四、网卡别名

/etc/sysconfig/network-scripts/ifup-alias 这个脚本是处理别名网卡配置文件的。
别名网卡不支持dchp必须静态指定ip
将多个ip地址绑定在一个NIC(Network Interface Card)上。
命名规则,必须是intfacename:number 必须为此种格式。
intfacenmae不能写错。为那块网卡添加别名。
冒号:是指定格式
number可以是数字,也以是任意字幕。但是数字好识别。

配置方式:

先关闭 NetworkManager 服务
chkconfig NetworkManager off
service NetworkManager stop

ifconfig命令:
    ifconfig eth0:0 192.168.1.100/24 up

ip命令:
    ip addr add 172.16.1.2/16 dev eth0
    ip addr add 172.16.1.1/16 dev eth0 label eth0:0
    ip addr del 172.16.1.1/16 dev eth0 label eth0:0
    ip addr flush dev eth0 label eth0:0

要永久生效必须编写配置文件

为每个设备别名生成独立的接口配置文件
    •关闭NetworkManager服务
    •ifcfg-ethX:xxx
    •必须使用静态联网########不能使用DHCP
        DEVICE=eth0:0
        IPADDR=10.10.10.10
        NETMASK=255.0.0.0
        ONPARENT=yes   ############跟随主网卡,启动则启动。
注意:service network restart 生效

分为主地址和辅助地址,同一网段ip才会分主次地址之分。

使用ip addr add x.x.x.x/x dev eth1
直接添加两次获多次。即可添加上

默认情况下ifconfig是看不到设置的其他地址,只能看到一个地址。
想要看到其他地址,就必须给其他地址创建一个标签。—接口别名
ip addr add x.x.x.x/x dev eth1 label eth1:0

五、多网卡绑定。(多网卡使用同一ip)

在centos6中用绑定bonding实现
在centos7中使用网络组实现

bonding
三种绑定模式

Bonding的工作模式

•Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力

•Mode 1 (active-backup)
活动-备份(主备)策略:在绑定中,只有一个slave被激活。当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见

•Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力。

创建bonding设备文件,创建一个虚拟的设备(在主机看来是一个网卡。)

    创建bonding设备的配置文件
    虚拟网卡的设备文件,一般网卡需要配置的信息按需配置。
        /etc/sysconfig/network-scripts/ifcfg-bond0
            DEVICE=bond0 ###名称
            IPADDR=
            PREFIX=
            GATEWAY=
            BONDING_OPTS="miimon=100 mode=1"

    /etc/sysconfig/network-scripts/ifcfg-eth0
        DEVICE=eth0
        MASTER=bond0
        SLAVE=yes
    /etc/sysconfig/network-scripts/ifcfg-eth1
        DEVICE=eth1
        MASTER=bond0
        SLAVE=yes

cat /proc/net/bonding/bond0
显示bonding接口的工作状态。

man文档–bonding

bonding-specific items

SLAVE=yes
  Specifies device as a slave
MASTER=bondXX
  Specifies master device to bind to
BONDING_OPTS=
  A space-separated list of options to the bonding driver for this
  interface, such as:

  "mode=active-backup arp_interval=60 arp_ip_target=192.168.1.1,192.168.1.2"

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

(0)
yywyyw
上一篇 2016-09-09 16:02
下一篇 2016-09-09 16:16

相关推荐

  • rpm程序包管理器使用详解

    rpm程序包管理器的使用详解   说到程序包管理器,就会想到基于CentOS系统上的rpm命令与其对应的前端处理器yum。所谓程序包,是将源代码转换为二进制格式,再组织成一个或者多个包文件供用户安装使用。rpm程序包的命名格式如下:   name-VERSION-release.arch.rpm   软件名-版本号(分为主版本m…

    Linux干货 2016-08-21
  • 探究PHP底层

    1、PHP是什么? PHP 指的是我们从外面看到的一套完整的系统。这听起来有点糊涂,但其实并不复杂(PHP4 内部结构图)。从功能上来分:我们可以分为三部分: 1、 解释器部分(Zend 以引擎),负责对输入代码的分析、翻译和执行;2、 功能性部分(PHP功能函数以及扩展),负责具体实现语言的各种功能(比如它的函数等等);3、 接口部分(SAPI),负责同 …

    Linux干货 2015-04-10
  • Linux文件查找命令find和压缩解压缩

    概述     Linux系统上一切皆文件,那么随着时间的推移和管理的服务器增加,在众多的文件中,如何找到我们需要的文件,这就需要用到文件查找命令了。本章就分享下关于文件查找命令的一些内容和压缩解压缩的相关内容。     具体分为一下几个部分:    …

    Linux干货 2016-08-16
  • Awk 高级应用

                              Awk 简介   Awk 是一种变成语言,用于在Linux/UNIX下对文本和数据进行扫描与处理,数据可以来自标准输入,文件 ,管道。Awk分别代表其作者的姓…

    2017-07-17
  • shell脚本语言的for循环使用方法和案例

    在shell语言中bash是用的最多的,其语法简单。以指令为核心快速解决常用的问题。所有语言中逻辑控制是必不可少的,它可以帮助我们减少不必要的重复性工作。今天我们就来说说所有语言都会使用的神奇的for循环,学了它以后不仅知道如果规避重复的工作,还能理解程序的运行原理。         for循环是什么?&nb…

    Linux干货 2017-04-16
  • N26-第九周作业-邢岩

    马哥门徒-N26-邢岩 相信自己、勤奋努力、不断总结!shell脚本练习需要重复、重复、再重复!那么,我就继续来写、写、写。 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #******************************…

    Linux干货 2017-04-03