网络管理(二)之IP地址划分子网、多块网卡共用单一IP

网络管理(二)IP地址

 

一、认识学习IP地址的组成:

1、它们可唯一标识IP 网络中的每台设备

2、IP地址由两部分组成:

网络ID:标识网络;每个网段分配一个网络ID

主机ID:标识单个主机;由组织分配给各设备

3、点分十进制计法表示IPv4地址:

blob.png

4、如下图,将系统中的IP地址用二进制表示,再通过转换合成的十进制数,使用ping命令可得出:IP地址的本质上是二进制的。

blob.png

5、了解和熟记八个二进制数所对应的十进制数:

二进制数

十进制数

1111   1111

255

1000   0000

128

0100   0000

64

0010   0000

32

0001   0000

16

0000   1000

8

0000   0100

4

0000   0010

2

0000   0001

1

6、netmask(只要是高位为1,不需要全8位是1)如下图(都有可能成为子网掩码):

Netmask的位数由IP地址的网络号位数来决定,有多少个网络号位数就有多少个1,有多少个主机号位数就有多少个0

eg:netmask=255.255.240.0(11111111.11111111.11110000.00000000)

1111   1111

255

1111   1110

254

1111   1100

252

1111   1000

248

1111 0000

240

1110   0000

224

1100   0000

192

1000   0000

128

0000   0000

0

7、IP地址分类:IPv4地址共为32bits,格式为:8bits:8bits:8bits:8bits;而每段的8bits的范围为0-255,所以IP地址的范围为0.0.0.0-255.255.255..255

网络号(最高段的8bits)

网络数量

主机数量

默认子网掩码

私网地址

A

0   000 0000 —— 0 111 1111

126

(2^7-2,扣除00000000和127.0.0.0回环地址)

(2^24)-2

扣除全为0和1

255.0.0.0

10.0.0.0

B

10   00 0000 —— 10 11 1111

2^14(前两段为网络号)

(2^16)-2

扣除全为0和1

255.255.0.0

172.16.0.0-172.31.0.0

C

110   0 0000 —— 110 1 1111

2^21(前三段为网络号)

(2^8)-2

扣除全为0和1

255.255.255.0

192.168.0.0-192.168.255.0

D

1110   0000 —— 1110 1111

224-239(多播地址,给一些特殊的应用程序使用)

E

1111 0000   —— 1111 11111

240-255(科研使用)

从表中得出的公式,如下:

主机数={2^主机位数(掩码中0的个数=32-网络位数)} -2

8、两台机器的IP地址如何判断是否在同一的IP段内:

   通过IP地址跟网关的“与”运算(1跟1与为1;0跟任何数与为0)。

例: A机器:192.168.1.100   255.255.255.0

   B机器:192.168.2.100   255.255.0.0

“与运算”:192.168.1.100   255.255.255.0 

     192.168.1.0(255为8个1;0跟100“与”后为0)——>“与”结果为网络ID号

     192.168.2.100   255.255.0.0

     192.168.2.100(B机器的IP地址需要跟A机器的掩码做“与”运算,因为A机器只知道B机器的IP地址,而不知道netmask地址)

    ——>“与”的结果为192.168.2.0

最终可以等处A机器个B机器不在同一个网段内。

9、公有IP地址和私有IP地址:

公有IP地址

A

1.0.0.0到9.255.255.255

11.0.0.0到126.   255.255.255

B

128.0.0.0到172.15.   255.255

172.32.0.0到191.   255.255.255

C

192.0.0.0到192.167.   255.255

192.169.0.0到223.   255.255.255

私有IP地址

A

10.0.0.0到10.   255.255.255

用CIDR表示:10.0.0.0/8

B

172.16.0.0到172.31.   255.255

用CIDR表示:172.16.0.0/12

C

192.168.0.0到192.168.   255.255

用CIDR表示:192.168.0.0/16

注:用CIDR表示172.16.0.0到172.31. 0.0

172.16.0.0  ——> 172.00010000.00000000. 00000000

172.17.0.0  ——> 172.00010001.00000000. 00000000

……

172.31.0.0  ——> 172.00011111.00000000. 00000000

从转换后的二进制可以得出,红色处的二进制数为前两段的高位不同二进制数,而最前面的12为(含172的8位二进制),因此进行合并后(网络号借位到主机号上,共4个二进制数),所以合成后(CIDR表示)为:172.16.0.0/12(原IP的每个范围表示为172.16.0.0/16;172.17.0.0/16……172.31.0.0/16)

10、特殊的IP地址:

0.0.0.0:不是一个真正意义上的IP地址。它表示一个集合:所有不清楚的主机和目的网络。

1.1.1.1:为广播地址。

255.255.255.255:限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机

127.0.0.1~127.255.255.254:本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为“127.0.0.1”的数据包。

224.0.0.0到239.255.255.255:组播地址,224.0.0.1特指所有主机,224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址多用于一些特定的程序以及多媒体程序

169.254.x.x:如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主机分配这样地址。(Linux系统不会出现这样的IP地址)

11、划分子网:将大网划分成小的子网

例:大网(172.16.0.0/16)——>172.16.0000 0000.0000 0000/16

  子网:172.16.0000 0000.0000 0000/17(此红色处的原主机号二进制数被借用到当做网络号使用)

由于原主机号二进制数的0为主机号时有0和1这两种变化,所以同样当其被借用到了网络号也拥有这两种变化,如下:

子网1:172.16.0000 0000.0000 0000/17

子网2:172.16.1000 0000.0000 0000/17

因此,划分子网后的各自IP地址范围如下:

子网1:172.16.0000 0000.0000 0000/17

        172.16.0000 0000.0000 0001/17(最小地址)

        172.16.0111 1111.1111 1110/17(最大地址)

        所以IP地址范围为:172.16.0.1——172.16.127.254

子网2:172.16.1000 0000.0000 0000/17

         172.16.1000 0000.0000 0001/17(最小地址)

        172.16.1111 1111.1111 1110/17(最大地址)

        所以IP地址范围为:172.16.128.1——172.16.255.254

对比原来的大网IP地址范围:172.16.0.1——172.16.255.254,共减少了172.16.127.255(172.16.0111 1111.1111 1111)和172.16.128.0(172.16.1111 1111.0000 0000)这两个IP地址。

总结得出结论:划分子网时,当网络ID位向主机ID位借了N位,则划分子网的个数为2^N个。

         网络ID=IP地址跟子网掩码做“与”运算

例题1:将大网189.210.100.200/16划分8个子网

189.210.100.200

255.255.0.0

“与”运算:189.210.0.0(网络ID号)

所以得出划分的子网结果如下:

子网1:189.210.0000 0000.0 ——>189.210.0.0/19

子网2:189.210.0010 0000.0 ——>189.210.32.0/19

子网3:189.210.0100 0000.0 ——>189.210.64.0/19

子网4:189.210.0110 0000.0 ——>189.210.96.0/19

子网5:189.210.1000 0000.0 ——>189.210.128.0/19

子网6:189.210.1010 0000.0 ——>189.210.160.0/19

子网7:189.210.1100 0000.0 ——>189.210.192.0/19

子网8:189.210.1110 0000.0 ——>189.210.224.0/19

共减少了14个IP地址(共7个间隔,每个间隔有2个IP地址)

运算式:{(2^16)-2}-{(2^13)-2}*8=(2^16-2^16)-(2-2*8)=14

注:{(2^16)-2为原大网的主机数;{(2^13)-2}*8为每个子网的主机数*子网个数

例题2:将100.123.210.23/19 分32个子网,算出最小子网网络ID及IP范围;最大子网网络ID及IP范围。

大网:100.123.11010010.23跟255.255.11100000.0做“与”运算,得出网络ID号为100.123.1100000.0(100.123.192.0)

最小子网:100.123.1100 0000.0000 0000/24 ——> 100.123.192.0

            100.123.1100 0000.0000 0001  ——> 100.123.192.1

      100.123.1100 0000.1111 1110  ——> 100.210.192.254

最大子网:100.123.1101 1111.0000 0000 ——>100.123.223.0/24

            100.123.1101 1111.0000 0001  ——> 100.123.223.1

            100.123.1101 1111.1111 1110  ——> 100.210.223.254

12、划分超网:

如下图,8个网段共要在路由上写上8条网关记录,这样路由上较多的记录加大了路由的每次寻址工作量。这时就需要进行超网来合并一个大网,简化路由上的记录,提供效率。(注:合并成超网,前提是网段是连续的,这时就找出网络位上不共同的位数拿来当做主机位)

blob.png

220.78.168.0 ——>220.78.10101 000.0  ——>220.78.10101 000.0/21

220.78.169.0 ——>220.78.10101 001.0  ——>220.78.10101 000.0/21

220.78.170.0 ——>220.78.10101 010.0  ——>220.78.10101 000.0/21

……

220.78.175.0 ——>220.78.10101 111.0  ——>220.78.10101 000.0/21

新的子网掩码为:11111111.11111111.11111000.000000000——>255.255.240.0

综上,红色处的网络位后的三位合并到主机位上去,因此合成后的超网网络ID为220.78.168.0

 

二、基本网络配置:

1、网卡配置格式如下图:

一般包括如下内容:

主机名:DEVICE=eno16777736(Centos7);CentOS6的主机名为eth0

IP/mask:IPADDR=10.1.10.4/NETMASK=255.255.0.0(如果是DHCP获取的话,则加上BOOTPROTO=dhcp,去掉设定的静态地址)

路由:默认网关 GATEWAY=10.1.0.1

DNS服务器:主DNS服务器;次DNS服务器;第三DNS服务器

blob.png

2、字符配置方式:

(1)静态指定:

ifcfg: ifconfig, route, netstat

ip: object {link, addr, route}, ss, tc

CentOS6:system-config-network-tui(setup)

(2)配置文件

CentOS 7:网络配置工具

nmcli, nmtui(相当于CentOS6上的setup), nm-connection-editor

(3)动态分配:DHCP

例:在CentOS6上使用命令#system-config-network-tui进行字符界面设置网络配置

blob.png

blob.png

blob.png

3、如何修改网卡名称:

(1)先使用命令:#vim  /etc/udev/rules.d/70-persistent-net.rules,修改系统配置文件,修改成自定义名称

blob.png

(2)使用命令# vim /etc/sysconfig/network-scripts/ifcfg-eth0,修改网卡的配置文件,如下图修改成与上面自定义的网卡名称一致。

blob.png

(3)命令#service network restart 重启网络服务让修改生效即可。

4、查询系统中的DNS和网关:

# cat /etc/resolv.conf 查看DNS信息

#ip route 或者 #route -n 查看网关信息

5、修改网卡的MAC地址:(该设置更改建议在物理终端上操作,以免失败可以重置)

blob.png

注:#service network restart 重启网络服务让修改生效

6、ifconfig命令:

(1)ifconfig[interface]

# ifconfig-a

# ifconfigIFACE [up|down]

(2)ifconfiginterface [aftype] options | address …

# ifconfigIFACE IP/mask [up]

# ifconfigIFACE IP netmask MASK

注意:立即生效;

(3)启用混杂模式:[-]promisc

三:网卡别名:(CentOS6)

    对虚拟主机有用;将多个IP地址绑定到一个NIC上

格式:eth0:1 ;eth0:2 ;eth0:3

blob.png

   blob.png

注:设置网卡别名必须使用静态的IP地址;如果安装的Linux系统(CentOS6)是图形界面的, 则需要关闭NetworkManager服务(#chkconfig NetworkManager off);设置完成后,命令#service network restart

四、bonding命令(网络接口配置):(CentOS6)

(1)bonding:就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。

(2)bonding的工作模式:

   Mode 0 (balance-rr)

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

Mode 1 (active-backup)

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

Mode 3 (broadcast)

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

(3)bonding的配置:

创建bonding设备的配置文件

    #vim /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

BOOTPROTO=none

BONDING_OPTS=“miimon=100 mode=0”

   #vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

USERCTL=no

miimon是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路

查看bond0状态:/proc/net/bonding/bond

关于bonding的详细配置请参照

/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt

 

演示bonding的功能:模式1

(1)先准备两个网卡:

blob.png

(2)进入网卡配置文件存放目录,查看:

#cd /etc/sysconfig/network-scripts

注:该目录下是没有虚拟bonding的配置文件

blob.png

(3)创建bonding的配置文件:

#vim ifcfg-bond0

blob.png

(4)修改eth0和eth1的配置文件:(建议修改前先做个备份

blob.png

blob.png

(5)重启网络服务:

#service network restart这时在远端登陆界面是没有响应,需要到物理终端上登陆查看生效情况

blob.png

(6)物理终端登陆查看:

blob.png

(7)测试:

blob.png

blob.png

blob.png

blob.png

 

blob.png

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

(0)
Aaron_wangAaron_wang
上一篇 2016-09-05
下一篇 2016-09-05

相关推荐

  • 编译安装dropbear

    ssh协议的另一个实现:dropbear 编译安装dropbear [root@centos6 ~]# tar xf dropbear-2013.58.tar.bz2  [root@centos6 ~]# cd dropbear-2013.58 [root@centos6&nbs…

    Linux干货 2016-09-28
  • 那些年我们一起追过的缓存写法(二)

    原文出处: 蘑菇先生   上次主要讨论缓存读写这块各种代码实现。本篇是就上次的问题接着来,继续看那些年我们各种缓存用法。 一:缓存预热 上次有同学问过。在第一次加载时,我们的缓存都为空,怎么进行预热。 单机Web情况下,一般我们使用RunTimeCache。相对于这种情况下: 1:我们可以在启动事件里面刷新 1 2 3 4 vo…

    Linux干货 2015-03-04
  • Linux基础(七)-软RAID,LVM,bash脚本之循环

    1.创建一个10G的分区,并格式为ext4的文件系统; (1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl;(2)挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fdisk /dev/sdb We…

    Linux干货 2016-11-06
  • vim文本操作、例行性工作、脚本编程_第六周练习(01)

    vim文本操作 Q1:复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@promote /]# cp /etc/rc.d/rc.sysinit /tmp/ [root@promote /]# l…

    Linux干货 2016-12-18
  • Linux基础 sed命令详解

    概述 sed是一个流编辑器(Stream EDitor)。主要用于自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。本文主要讲述了: sed工作原理 sed命令格式及常用选项 应用实例 高级编辑命令 sed工作原理 sed命令运行过程中维护着两个缓冲区,一个是活动的“模式空间(pattern space)”,另一个是起辅助作用的“暂存缓冲区(ho…

    Linux干货 2016-08-12
  • Nginx反向代理https,提供PhpMyAdmin

    准备工作:主机1、双网卡:外–172.16.252.187  内–192.168.42.140 主机2:192.168.42. 145 主机3:172.16.251.112 主机4:192.168.42.141 在主机2上:     安装httpd  yum  install…

    2017-07-01

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-05 10:50

    有图有文,每个练习结果均有图证,看得出其中的认真程度,赞。