网络实验

一、子网划分

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
下一篇 2016-09-09

相关推荐

  • 马哥教育网络班21期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i nologuser=0 declare -i loguser=0 while read&…

    Linux干货 2016-09-05
  • shell脚本编程之变量详解

    什么是变量     变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它。 使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。 变量:变量类型 作用:  &…

    Linux干货 2016-08-15
  • 马哥教育网络班22期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; &n…

    Linux干货 2016-12-05
  • 制作本地yum源与编译安装http

    1、制作本地yum源(centos7) [root@centos7 ~]# yum install -y lftp   #安装lftp程序 lftp 10.1.0.1:~> cd pub/Sources/sources/xen/ &n…

    Linux干货 2016-08-25
  • LINUX系统文件类型分类

    使用LINUX过程中,时常会对文件进行操作。但是linux中文件究竟有哪些分类呢?今天让我们大家来总结一下吧! 概述:         linux文件可以分为五种类型,分别为:普通文件、目录、字符设备或块设备、套接口文件、符号链接文件。下面详细介绍这几种文件。 1 普通文件[root@lo…

    Linux干货 2017-07-22
  • linux基础知识之nmcli

           CentOS7才有的功能网络组:将多块网卡聚合在一起的方法,从而实现冗错和提高吞吐量        网络组不同于旧版中的bonding技术,提供了更好的性能和扩展性        网路组由内核驱动和teamd守护进程实现 &n…

    Linux干货 2016-09-07