Day34-Linux网络管理4

使用wireshark查看tcp3次握手及四次断开细节实践。
wireshark抓包新手使用教程
链接: https://www.cnblogs.com/mq0036/p/11187138.html

1. IP地址分类与子网划分基础

1.1 什么是IP地址

  • 32位二进制数字序列组成的数字序列
  • 采用点将32位数字进行分割为4段,每段8位的二进制数,但二进制数不便于记忆,因此转换为10进制数显示,即点分十进制

在一个网络范围内,唯一标识一台主机。

1.2 十进制与二进制的转换

在这里插入图片描述
在这里插入图片描述

1.3 IP地址的分类

简单的说,IP地址分5类,常见的地址是A、B、C类
A 1.0.0.0 到 126.0.0.0 (0.0.0.0 和127.0.0.0保留)
B 128.1.0.0 到 191.254.0.0 (128.0.0.0和191.255.0.0保留)
C 192.0.1.0 到 223.255.254.0 (192.0.0.0和223.255.255.0保留)
D 224.0.0.0 到 239.255.255.255 用于多点广播
E 240.0.0.0 到 255.255.255.254 保留(255.255.255.255用于广播)

注意:
1)ABC三类分配给互联网用户所使用
2)D类型做为组播使用(keepalived,heartbeat多播)

mcast eth1 225.0.0.1 694 1 0  #heartbeat组播配置
ucast eth1 172.16.49.133      #heartbeat单播

3)E类型作为科学研究使用,进行保留

特殊地址:
127.0.0.1 —表示回环地址,进行测试使用,验证本地的TCP协议簇安装的是否正确
0.0.0.0 —主机位全为0的称为是网络地址
255.255.255.255 —主机位全为1的称为是广播地址,即向所有人发出信息

1.4 私网地址和局域网地址

在一个企业内部可以复用,局域网地址不能进入公网,路由器不转发。
数据包出网的时候路由器会用SNAT改变局域网的地址为路由器的公网地址。
数据包回来的时候路由器会用DNAT把路由器的公网地址改变局域网的地址。

NAT:
私网地址:下面的网络地址段就是分配给专用网络地址使用的。
10.0.0.0/8 (10.0.0.0到10.255.255.255)
172.16.0.0/12 (172.16.0.0到172.31.255.255)
192.168.0.0/16 (192.168.0.0到192.168.255.255) ###192.168.0.0/16
169.254.0.0/16 (169.254.0.0到169.254.255.255)*
其他地址:用于IDC机房,办公室场景中ISP给我们分配的外网地址。

说明:
划分私网ip地址的作用主要是避免地址的枯竭,对于一般不同局域网环境中,地址实际是可以重复使用的,不必要仍保持唯一性
就类似于人的身份证和护照的关系一样
默认私网地址只在本局域网中有效识别,但一旦出局域网到达公网,就没有任何意思了
因此未解决这种问题,就出现了一个技术NAT(SNAT和DNAT),即地址的映射技术

2. 通信类型

单播(点到点) 就是点到点的通讯,例如A-B的通信方式
组播(需要配地址)也是一对多的方式,但是可以根据需要进行接收,如果不想接收可以进行过滤掉
广播(广播域) 在一定的范围内,所有成员都会收到的信息,称为广播信息,并且每个成员都要收取,都要进行处理。

#heartbeat

mcast eth1 225.0.0.1 694 1 0  #heartbeat组播配置
ucast eth1 172.16.49.133      #heartbeat单播

#KeepAlived
MASTER以IP组播(组播地址:224.0.0.18)形式发送VRRP协议包,与BACKUP保持心跳连接,若MASTER不可用(或BACKUP接收不到VRRP协议包),则BACKUP通过竞选产生新的MASTER并继续对外提供服务,从而实现高可用。

3. 子网划分讲解

3.1 为什么要划分子网?

  1. 会出现大量的局域网地址,同时向一个网关发送请求,引起网关设备的负载过高
  2. 会引起局域网内的大量广播数据传送,形成广播风暴
  3. 而且会非常的浪费地址空间,有可能只有两台主机或者一台,就分配一个C类地址

3.2 什么是子网划分?

通过子网划分(通过子网掩码进行划分)
可以将一个大的局域网络进行切割为多个小的局域网,这样就解决了上面说的两个问题,而得到的新的局域网络就称为子网

3.3 子网划分的作用?

1.将一个大的广播域划分成几个小的广播域环境
2. 减少网关设备所承载的负载量
3. 有效的避免ip地址的浪费,使一个大的地址空间更加弹性和更加灵活的进行分配

通过子网划分(通过子网掩码进行划分)
可以将一个大的局域网络进行切割为多个小的局域网,这样就解决了上面说的两个问题,而得到的新的局域网络就称为子网

链接: https://blog.csdn.net/dyyay521/article/details/94381876
链接: https://www.cnblogs.com/simon4you/p/11159102.html

3.4 子网划分常见问题

3.4.1 选定的子网掩码将创建多少个子网?

2^x个,其中x是子网掩码借用的主机位数。如:192.168.10.32/28,我们知道C类ip的默认子网掩码为:255.255.255.0,而由上文的CIDR知识,我们了解到这个ip的实际子网掩码是:255.255.255.240。原本最后一个字节应该是0(00000000),现在却是240(11110000)。故其借用了主机位4位来充当网络位。

3.4.2 每个子网可包含多少台主机?

2^y-2台,其中y是没被借用的主机位的位数。-2是因为,主机位全为0的部分是这个子网的网段号(Net_id),全为1的部分是这个网段的广播地址。

3.4.3 有哪些合法的子网?

算出子网的步长(增量)。一个例子是256-192 =64,
即子网掩码为192时,步长为64。从0开始不断增加剧,直到到达子网掩码值,中间的结果就是子网,即0、64、128和192,

3.4.4 每个子网的广播地址是什么?

主机位全为1就是该子网的广播地址。一般我们这样计算:广播地址总是下一个子网前面的数.前面确定了子网为0、64、128和192,例如,子网0的广播地址为63,因为下一个子网为64;子网64的广播地址为127,因为下一个子网为128,以此类推。请记住,最后一个子网的广播地址总是255

3.4.5 每个子网可包含哪些主机地址?

合法的主机地址位于两个子网之间,但全为0和全为1的地址除外。例如,如果子网号(网段号)为64,而广播地址为127,则合法的主机地址范围为65-126,即子网地址和广播地址之间的数字。

4. 虚拟局域网 VLAN

VLAN原理
虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组

这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个 VLAN。虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网

优点
(1)更有效地共享网络资源。如果用交换机构成较大的局域网,大量的广播报文就会使网络性能下降。
VLAN能将广播报文限制在本VLAN范围内,从而提升了网络的效能
(2)简化网络管理。当结点物理位置发生变化时,如跨越多个局域网,通过逻辑上配置VLAN即可形成网络设备的逻辑组,
无需重新布线和改变IP地址等。这些逻辑组可以跨越一个或多个二层交换机
(3)提高网络的数据安全性。一个VLAN中的结点接收不到另一个VLAN中其他结点的帧

虚拟局域网的实现技术
(1)基于端口的VLAN
(2)基于MAC地址的VLAN
(3)基于协议的VLAN
(4)基于网络地址的VLAN

5. Linux网络管理实践

5.1 物理层及数据链路层

(1)网卡检测命令mii-tool
mii-tool #是用于查看管理物理的网络接口的状态,还可以配置网卡需要的协商方式。

[root@oldboy ~]# mii-tool 
No interface specified
usage: mii-tool [-VvRrwl] [-A media,... | -F media] [-p addr] <interface ...>
       -V, --version               display version information
       -v, --verbose               more verbose output
       -R, --reset                 reset MII to poweron state
       -r, --restart               restart autonegotiation
       -w, --watch                 monitor for link status changes
       -l, --log                   with -w, write events to syslog
       -A, --advertise=media,...   advertise only specified media
       -F, --force=media           force specified media technology
       -p, --phy=addr              set PHY (MII address) to report
media: 1000baseTx-HD, 1000baseTx-FD,
       100baseT4, 100baseTx-FD, 100baseTx-HD,
       10baseT-FD, 10baseT-HD,
       (to advertise both HD and FD) 1000baseTx, 100baseTx, 10baseT

5.1.1 查看网卡工作状态

mill-tool 【网卡名】 #查看物理网卡连接状态

-V 显示版本信息;
-v 显示网络接口的信息;
-R 重设MII到开启状态;
-r 重启自动协商模式;
-w 查看网络接口连接的状态变化;
-l 写入事件到系统日志;
-A 指令特定的网络接口;
-F 更改网络接口协商方式;

5.1.2 查看网络接口的协商状态

#mii-tool -v eth0

[root@oldboy ~]# mii-tool  eth0
eth0: negotiated 1000baseT-FD flow-control, link ok

[root@oldboy ~]# mii-tool  -v eth0
eth0: negotiated 1000baseT-FD flow-control, link ok
  product info: Yukon 88E1011 rev 3
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

5.1.3 更改网络接口的工作模式

-F选项后面接1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD等参数
#mii-tool -F media [interface]
例:置网卡工作在100M半双工模式

[root@oldboy ~]# mii-tool -F 100baseTx-HD eth0
[root@oldboy ~]# mii-tool  -v eth0
eth0: 1000 Mbit, half duplex, link ok
  product info: Yukon 88E1011 rev 3
  basic mode:   100 Mbit, half duplex ############
  basic status: link ok
  capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

5.1.4 恢复网卡适应的工作状态

用-r选项:

#mii-tool -r eth0

5.2 查询及设置网卡参数ethtool

ethtool是用于查询及设置网卡参数的命令。
概要:

ethtool eth0       //查询eth0网口基本设置
ethtool –h         //显示ethtool的命令帮助(help)
ethtool –i eth0    //查询eth0网口的相关信息 
ethtool –d eth0    //查询eth0网口注册性信息
ethtool –r eth0    //重置eth0网口到自适应模式
ethtool –S eth0    //查询eth0网口收发包统计
ethtool –s eth0 [speed 10|100|1000]\         //设置网口速率10/100/1000M
[duplex half|full]\           //设置网口半/全双工
[autoneg on|off]\            //设置网口是否自协商
[port tp|aui|bnc|mii]\         //设置网口类型

举例:

1[root@oldboy ~]# ethtool eth1
2[root@oldboy ~]# ethtool -i eth1
3[root@oldboy ~]# ethtool -S eth1
4[root@oldboy ~]# ethtool -s eth1 autoneg off speed 100 duplex full

怎样使ethtool设置永久保存在网络设备中?
方法一:
ethtool设置可通过/etc/sysconfig/network-scripts/ifcfg-eth0文件保存,从而在设备下次启动时激活选项。
例如:

ethtool -s eth0 speed 100 duplex full autoneg off

此指令将eth0设备设置为全双工自适应,速度为100Mbs。若要eth0启动时设置这些参数, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行:

ETHTOOL_OPTS="speed 100 duplex full autoneg off"

方法二:
将ethtool设置写入/etc/rc.local中。

(查看MAC地址) #ip命令趋势,尽量用。

[root@oldboy ~]# ip link  #ifconfig
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:5f:42:a7 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:5f:42:b1 brd ff:ff:ff:ff:ff:ff

(查看ARP缓存)

[root@oldboy ~]# ip neigh
10.0.0.254 dev eth1 lladdr 00:50:56:e8:46:33 REACHABLE
10.0.0.1 dev eth1 lladdr 00:50:56:c0:00:08 REACHABLE
10.0.0.254 dev eth0 lladdr 00:50:56:e8:46:33 STALE

[root@oldboy ~]# arp -a
gateway (10.0.0.254) at 00:50:56:e8:46:33 [ether] on eth1
? (10.0.0.1) at 00:50:56:c0:00:08 [ether] on eth1
gateway (10.0.0.254) at 00:50:56:e8:46:33 [ether] on eth0

ARP缓存表就长这样!
接口: 192.168.14.251 — 0x12

Internet 地址物理地址类型
192.168.14.1dc-da-80-17-e7-ae动态
192.168.14.310-e7-c6-ec-28-23动态
192.168.14.654-05-db-f4-c5-b7动态
192.168.14.800-e0-99-00-0f-eb动态
192.168.14.900-0c-29-ac-d0-ff动态
192.168.14.1000-d8-61-87-1c-ad动态

维护系统的arp缓存命令arp
arp: 显示所有的表项。

arp  -d address # 删除一个arp表项。
arp  -s address hw_addr: #手工绑定arp地址和IP地址。

意义何在???

5.3 什么是arp欺骗?如果解决arp欺骗。

1)局域网内机器中毒,大量发广播包。说我是10.0.0.100,我的MAC是(05(网关的MAC))
2)局域网机器的ARP表里:

Internet 地址物理地址类型
10.0.0.100dc-da-80-17-e7-ad动态

#dc-da-80-17-e7-ad实际上真实网关的mac地址。
3)后果。PC上不了网了。
arp -s 10.0.0.254 dc-da-80-17-e7-ad: #手工绑定arp地址和IP地址。
解决办法:
PC arp防火墙。
清除中毒的机器,让大家重启电脑。
选项列表

-d     删除一个arp表项
-a     Use alternate BSD style output format (with no fixed columns).
-e     Use default Linux style output format (with fixed columns).
-n     使用数字方式显示
-v     显示执行过程

#查看arp表

[root@oldboy ~]# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
gateway                  ether   00:50:56:e8:46:33   C                     eth1
10.0.0.1                 ether   00:50:56:c0:00:08   C                     eth1
gateway                  ether   00:50:56:e8:46:33   C                     eth0

#查看arp表,并且用ip显示而非主机名称:

[root@oldboy ~]# arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
10.0.0.254               ether   00:50:56:e8:46:33   C                     eth1
10.0.0.1                 ether   00:50:56:c0:00:08   C                     eth1
10.0.0.254               ether   00:50:56:e8:46:33   C                     eth0

添加一对IP和MAC地址的绑定:

#arp -s 10.1.1.1 00:11:22:33:44:55:66    #如果网络无法达到,那么会报告错误
ps:正常情况下无法成功,略鸡肋!!

删除一个arp表项:

#arp -d  10.0.0.54  
#arp -i eth1 -d 10.0.0.1  #指定网卡删除;

指定回复的MAC地址:

#arp -i eth0 -Ds 10.0.0.2 eth1 pub

当eth0收到IP地址为10.0.0.2的请求时,将会用eth1的MAC地址回答。

This will answer ARP requests for 10.0.0.2 on eth0 with the MAC address for eth1.

arp知识重点:

  1. arp原理
  2. arp欺骗及解决办法。
  3. 查看arp表

6. 网络层

6.1 网络配置

基本网络配置
将Linux主机接入到网络,需要配置网络相关设置

一般包括如下内容:

  • 主机名
  • IP/netmask
  • 路由:默认网关
  • DNS服务器
    主DNS服务器
    次DNS服务器

1.查看及修改主机名(/etc/hostname 主机名文件):
1)hostname

hostname        ##查看主机名(uname -n)
hostname oldboy ##设置主机名为oldboy,临时生效

2)vim /etc/hostname ##通过编辑配置修改主机名

3)hostnamectl

[root@oldboy ~]# hostnamectl set-hostname oldgirl  ##设置主机名永久生效
[root@oldboy ~]# cat /etc/hostname 
oldgirl

4)nmtui #图形设置主机名,永久生效

  ┌┤ 网络管理器文 ├┐                                
  │                │                                
  │ 请选择选项     │                                
  │                │                                
  │ 编辑连接       │                                
  │ 启用连接       │                                
  │ 设置系统主机名 │    #####                            
  │                │                                
  │ 退出           │                                
  │                │                                
  │         <确定> │                                
  │                │                                
  └────────────────┘      

C6/C7:可以关闭NetworkManager,C8主力。

systemd 入门教程:命令篇
链接: http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

6.2 systemd-analyze

systemd-analyze命令用于查看启动耗时。

#查看启动耗时
$ systemd-analyze                                                                                       

#查看每个服务的启动耗时
$ systemd-analyze blame

#显示瀑布状的启动过程流
$ systemd-analyze critical-chain

#显示指定服务的启动流
$ systemd-analyze critical-chain atd.service

查看linux字符集

[root@www ~]# localectl
   System Locale: LANG=zh_CN.UTF-8
       VC Keymap: cn
      X11 Layout: cn
	  

linux字符集配置文件

[root@www ~]# cat /etc/locale.conf 
LANG="zh_CN.UTF-8"

配置linux字符集:

vim /etc/profile
export LANG="zh_CN.UTF-8"

查看与修改时区

[root@www ~]# timedatectl
      Local time: Sat 2030-06-22 07:02:58 CST
  Universal time: Fri 2030-06-21 23:02:58 UTC
        RTC time: Fri 2030-06-21 23:02:58
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: n/a
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
[root@www ~]# timedatectl 
list-timezones  set-local-rtc   set-ntp         set-time        set-timezone    status          
[root@www ~]# timedatectl set-timezone Asia/Chongqing

6.3 网卡配置

接口命名方式:
CentOS6以前eth[0,1,2,…]
CentOS7开始ens[33,34,35,…]

#调整ens33为eth0方式

安装系统时:grep菜单内核后:biosdevname=0,net.ifnames=0
安装系统后:修改内核文件,然后重新加载内核文件。

启停网卡设备

ifdown eth0 ##停止网卡设备
ifup eth0   ##启动网卡设备
systemctl restart network  ##重启网络 /etc/init.d/network restart
/etc/init.d/network restart #和service network restart等价 #C6其他服务也是这么起。
  • 30
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值