网络管理(二)IP地址
一、认识学习IP地址的组成:
1、它们可唯一标识IP 网络中的每台设备
2、IP地址由两部分组成:
网络ID:标识网络;每个网段分配一个网络ID
主机ID:标识单个主机;由组织分配给各设备
3、点分十进制计法表示IPv4地址:
4、如下图,将系统中的IP地址用二进制表示,再通过转换合成的十进制数,使用ping命令可得出:IP地址的本质上是二进制的。
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条网关记录,这样路由上较多的记录加大了路由的每次寻址工作量。这时就需要进行超网来合并一个大网,简化路由上的记录,提供效率。(注:合并成超网,前提是网段是连续的,这时就找出网络位上不共同的位数拿来当做主机位)
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服务器
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进行字符界面设置网络配置
3、如何修改网卡名称:
(1)先使用命令:#vim /etc/udev/rules.d/70-persistent-net.rules,修改系统配置文件,修改成自定义名称
(2)使用命令# vim /etc/sysconfig/network-scripts/ifcfg-eth0,修改网卡的配置文件,如下图修改成与上面自定义的网卡名称一致。
(3)命令#service network restart 重启网络服务让修改生效即可。
4、查询系统中的DNS和网关:
# cat /etc/resolv.conf 查看DNS信息
#ip route 或者 #route -n 查看网关信息
5、修改网卡的MAC地址:(该设置更改建议在物理终端上操作,以免失败可以重置)
注:#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
注:设置网卡别名必须使用静态的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)先准备两个网卡:
(2)进入网卡配置文件存放目录,查看:
#cd /etc/sysconfig/network-scripts
注:该目录下是没有虚拟bonding的配置文件
(3)创建bonding的配置文件:
#vim ifcfg-bond0
(4)修改eth0和eth1的配置文件:(建议修改前先做个备份)
(5)重启网络服务:
#service network restart(这时在远端登陆界面是没有响应,需要到物理终端上登陆查看生效情况)
(6)物理终端登陆查看:
(7)测试:
原创文章,作者:Aaron_wang,如若转载,请注明出处:http://www.178linux.com/43011
评论列表(1条)
有图有文,每个练习结果均有图证,看得出其中的认真程度,赞。