子网掩码 又叫网络掩码、地址掩码
主要作用是用来进行网络划分,通过IP地址的学习
网络表示+主机标识 当路由器是如何来区分网络标识还是主机标识的呢?就是通过子网掩码来实现的。
子网掩码不会独立存在,它一定是配合IP地址存在的。
A、B、C三种常见的IP的子网掩码
A 10.0.0.1 子网掩码 就是网络位都为1,主机位都为0 255.0.0.0
B 172.16.8.1 255.255.0.0
C 192.168.0.1 255.255.255.0
IPV4的32的长度
1111 1111 0000 0000 0000 0000 0000 0000 A类 前8位网络位
2^8=256-1=255
1111 1111 1111 1111 0000 0000 0000 0000 B类 前16位网络位 255.255.0.0
1111 1111 1111 1111 1111 1111 0000 0000 C类 前24位网络位 255.255.255.0
子网掩码的表示方式
第一种 255.255.255.0
第二种 192.168.0.1/24 《==》255.255.255.0
注意事项
它也是32位的 有4组十进制数构成,中间也点隔开,也是‘点分二进制’
利用这个子网掩码或利用这个字段来屏蔽原来网络地址的划分情况。
节约网络IP地址资源的一个目的。
主要用途
子网划分 进一步缩小子网的地址空间。充分利用比较紧张的IP地址资源
便于网络设备(路由器)能够更快的寻址,区分本网段地址和非本网段的IP地址。
可以使路由器
也可以是一台具有转发功能的服务器 centos
利用子网确定网段
了解10进制数如何转化成2进制数
2^0*1 = 1*1 =1
0000 0000 0000 0000 0000 0000 0000 0001
用这个对应的2进制位上的数 * 权重 = 1 对应的10进制的数
0000 0000 0000 0000 0000 0000 0000 0101
2^0*1+2^1*0+2^2*1 = 1+0+4 = 5
2进制数也叫做机器语言只有0和1两个数字构成逢2进1.最右侧的2进制位我们称为低位,从右到左由低
到高。
每一位的位权 2^n次方 0~2^n-1 32(0~31) 64(0~63)
2进制位操作的按位与操作
*补充位操作知识
1、按位与操作
2、按位或操作
3、按位异或操作
4、按位左移操作
5、按位右移操作
第一步 计算两个值的2进制数 IP 地址 192.168.1.151 子网掩码255.255.255.0
练习 计算以上两个IP地址对应的2进制数
128+64 128+16+4+2+1
1100 0000 1010 1000 0000 0001 1001 0111
1111 1111 1111 1111 1111 1111 0000 0000
-----------------------------------------------按位与操作 & 运算符(相同二进制位上的数都为1,结果就为1)
1100 0000 1010 1000 0000 0001 0000 0000
C类前24位都是网络位,IP地址 和 子网掩码 按位与操作以后
结果,只要是和IP地址的网络位相同,就表示在该网段中。
静态路由项目
网络中常见的命令
ping 命令 检测网络是否连通
企业级网络错误调试步骤
服务器不能联网
1.检查网卡(交叉检查)
2.ping 命令 网关/路由器
3.ping 外网地址 www.baidu.com 记住自己的云主机47.75.80.161
iftop 命令
route 路由命令
route -n 查看详细路由表
添加一个路由条目 route add -net 192.168.0.0/24 gw 192.168.1.1
删除一个路由条目
route del -net 192.168.0.0/24 gw 192.168.1.1
添加一条默认的路由(默认 缺省值路由)
route add default gw 192.168.1.1
注意:Centos 7.x的版本 不默认安装了。yum -y install net-tools
ip命令
ip route add 192.168.0.0/24 via 192.168.1.1
ip route del 192.168.0.0/24 via 192.168.1.1
ip route default via 192.168.1.1
环境的搭建
克隆三台虚拟机
route_10.0.0.11
route_10.0.0.12 192.168.0.12
toute_192.168.0.13
修改IP地址
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0 重启网络服务
systemctl restart network
验证修改成功
ifconfig
eth0 10.0.0.11 修改正确
注意:
第一步 虚拟机网络适配器 NAT模式--》选LAN区段--》192.168.0.0/24--》下拉列表选择LAN 区段
第二步 登录虚拟机 修改IP地址为192.168.0.13
在第二台主机
安装 iftop yum -y install iftop
现在PC2 没有开启内核转发的设置 PC1--》PC2--》PC3
开启Linux内核转发参数
项目梳理
环境搭建
配置IP地址
route_10.0.0.11 直接 vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改10.0.0.11
route_192.168.0.13
注意:
1、虚拟机配置界面 NAT LAN区段 勾选 192.168.0.0/24
2、登录虚拟机修改配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改192.168.0.13
route_10.0.0.12和192.168.0.12
注意:
1、虚拟机配置界面 NAT LAN区段 勾选 192.168.0.0/24
2、登录虚拟机修改配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改10.0.0.12
vim /etc/sysconfig/network-scripts/ifcfg-eth1 修改192.168.0.12
补充
iftop 可以看到数据双向传输.
配置静态路由条目
1、route_10.0.0.11 访问10.0.0.12 通 Why? default默认
访问192.168.0.12 不通 Why? add -net 192.168.0.0/24 gw 10.0.0.12
2、route_192.168.0.13 访问 192.168.0.12 通 Why? default
访问 10.0.0.12 不通 Why? add -net 10.0.0.0/24 gw 192.168.0.12
从route11 ping 通 route 12
从rotue13 ping 通 route 12
但是
route11 --->route13 不通 丢包状态
route12 没有开启内核转发
echo "net.ipv4.ip_forward==1">>/etc/sysctl.conf
sysctl -p
net.ipv4.ip_forward==1
成功!!!
再看 route11<--->route13