linux 网络管理基础

两台主机交换数据,或是可流试化数据,需要传输介质

TCP/IP

TCP/IP 协议栈(规定了有许多协议),由TCP/IP 协议栈之间接口不规范,ISO重新设定了OSI协议栈,用来替代TCP/IP协议栈。OSI协议栈是学习的模型,TCP/IP协议栈是使用的模型

image.png

资源子网:数据怎么被组织起来(文件类型)
通信子网:数据怎么被交换
MAC: media Access Control 48位的,由ICANN组织,定义前2^24 的数字,必须向其注册。地址块为2^24
IP:网络好+主机号
IPV4:32bits ,2^32
IPV6: 128bits,2^128

IPV4分类

A 类

第一段为网络号,后三段为主机号。
网络位8位二进制中,第一位为0,后7位随便变化 0 000 0000 - 1 111 1111 1.0.0.0-127.0.0.0
网络数量:126个,127.为本机循环地址
每个网络主机的数量 2^24 -2
对于一个IP地址来说中,主机位全为0是网络号,主机位全为1,代表所有主机。为广播地址
默认子网掩码:255.0.0.0
子网掩码,用于与IP地址进行"与"运算,从而取出其网络地址。1与任何数,进行"与"运算,都得其本身,0与任何数进行"与"运算,都得0.
1.3.2.1/255.0.0.0 =====> 1.0.0.0
1.3.2.1/255.255.0.0 ====> 1.3.0.0
都要识别成,二进制然后在进行网络位“与” 运算
子网掩码作用是识别出网络位,使其两个IP地址能够通信
私网地址:10.0.0.0/255.0.0.0

B类

前两段为网络号,后两段为主机号
网络号:前两位为10,后面数字随便变化
网络数: 2^14
主机数: 2^16-2
默认子网掩码: 255.255.0.0
私网地址:172.16.0.0-172.31.0.0

C类

前三段为网络号,最后一段为主机号
网络位:前三位为110不变,后面随意变化 192-223
网络数: 2^21
主机数:2^8 -2
默认子网掩码: 255.255.255.0

D类

组播通信,前四位1110不变
224-239

E类

科研使用 240-255

网络设备

网桥

MAC地址在网桥上有MAC地址表
静态指定:
动态学习:根据源地址学习
交换机为智能多口网桥

OS

多用户,多任务
多任务: 多进程同时运行
通信时,进程需要用端口号进行标识
端口号
2^16
0-65535: 1-65535 0号不使用
1-1023:固定分配,只有管理员才有权限使用
1024-4w多:半固定端口
4w+:临时使用
进程地址:IP:PORT SOCKET
总结
MAC:本地通信,范围本地局域网
IP: 界定通信主机源和目标 范围 互联网
PORT:界定进程 范围:主机

路由

路由选择优先级:
主机路由
网络路由
默认路由

对于主机来讲,任何非本地通信都必须经过网关
本地网络通信也需要IP,假设A和B是本地两个主机。A通过广播的方式,去询问你是不是1.1.1.2这个IP据,或是可流试化数据,需要传输介质

TCP/IP

TCP/IP 协议栈(规定了有许多协议),由TCP/IP 协议栈之间接口不规范,ISO重新设定了OSI协议栈,用来替代TCP/IP协议栈。OSI协议栈是学习的模型,TCP/IP协议栈是使用的模型

image.png

资源子网:数据怎么被组织起来(文件类型)
通信子网:数据怎么被交换
MAC: media Access Control 48位的,由ICANN组织,定义前2^24 的数字,必须向其注册。地址块为2^24
IP:网络好+主机号
IPV4:32bits ,2^32
IPV6: 128bits,2^128

IPV4分类

A 类

第一段为网络号,后三段为主机号。
网络位8位二进制中,第一位为0,后7位随便变化 0 000 0000 - 1 111 1111 1.0.0.0-127.0.0.0
网络数量:126个,127.为本机循环地址
每个网络主机的数量 2^24 -2
对于一个IP地址来说中,主机位全为0是网络号,主机位全为1,代表所有主机。为广播地址
默认子网掩码:255.0.0.0
子网掩码,用于与IP地址进行"与"运算,从而取出其网络地址。1与任何数,进行"与"运算,都得其本身,0与任何数进行"与"运算,都得0.
1.3.2.1/255.0.0.0 =====> 1.0.0.0
1.3.2.1/255.255.0.0 ====> 1.3.0.0
都要识别成,二进制然后在进行网络位“与” 运算

子网掩码作用是识别出网络位,使其两个IP地址能够通信
私网地址:10.0.0.0/255.0.0.0

B类

前两段为网络号,后两段为主机号
网络号:前两位为10,后面数字随便变化
网络数: 2^14
主机数: 2^16-2
默认子网掩码: 255.255.0.0
私网地址:172.16.0.0-172.31.0.0

C类

前三段为网络号,最后一段为主机号
网络位:前三位为110不变,后面随意变化 192-223
网络数: 2^21
主机数:2^8 -2
默认子网掩码: 255.255.255.0

D类

组播通信,前四位1110不变
224-239

E类

科研使用 240-255

网络设备

网桥

MAC地址在网桥上有MAC地址表
静态指定:
动态学习:根据源地址学习
交换机为智能多口网桥

OS

多用户,多任务
多任务: 多进程同时运行
通信时,进程需要用端口号进行标识

端口号
2^16
0-65535: 1-65535 0号不使用
1-1023:固定分配,只有管理员才有权限使用
1024-4w多:半固定端口
4w+:临时使用
进程地址:IP:PORT SOCKET
总结
MAC:本地通信,范围本地局域网
IP: 界定通信主机源和目标 范围 互联网
PORT:界定进程 范围:主机

路由

路由选择优先级:
主机路由
网络路由
默认路由

对于主机来讲,任何非本地通信都必须经过网关
本地网络通信也需要IP,假设A和B是本地两个主机。A通过广播的方式,我要跟B(1.1.1.2)通信,请问你的MAC地址多少。B把MAC地址返回给A,A广播时也会携带自己的MAC地址。因此A和B都知道了对方的MAC地址。ARP解析被cache下来,cacha一般都有自己的ttl(生命周期)。为了避免B主机坏了,但ttl还没过期。当B坏了,换上了C,C会先做ARP通告,A收到后,更新缓存

目标地址的类别

主机: 主机路由
网络: 网络路由
0.0.0.0/0.0.0.0 默认路由
将linux主机接入到网络中
IP/MASK:本地通信
路由(网关): 跨网络通信
DNS服务地址:基于主机名通信
1 .主DNS服务器地址
2 .备用DNS服务器地址
3 .第三备份DNS服务器地址
配置方式
同一个IP:linux主机互相忍让,windows主机互相争夺
如果主机没有配IP地址,且广播没有找到DHCP服务器,为了完成本地通信。会自动生成一个169.254开头的地址。后面的两位为随机地址,国际组织定义的。

修改IP地址

静态命令

ifcfg家族

ifconfig, route,netstat

ifconifg

接口及地址查看和管理
ifconfig -a 显示所有接口,包括inactive状态的接口
ifconfig interface [afftype] options/address
ifconfig IFACE IP/MASK [up] ifconfig ens33:0 192.168.10.1/24 up
ifconfig IFACE IP netmask NETMASK ifconfig ens33:1 192.168.2.1 netmask 255.255.255.0
注意:此处立即送往内核中的TCP/IP协议栈,并生效
options
ifconfig eth1 promisc启用混杂模式
ifconfig eth1 -promisc禁用混杂模式
管理 IPV6
add addr/prefixlen
del addr/prefixlen

ifconfig IFACE_LABEL IPADDR/NETMASK
IFACE_LABEL: eth0:0 eth1:0

route

路由的管理及查看
路由条目类型
主机路由:目标地址为单个IP
网络路由:目标地址为IP网络
默认路由:目标为任意网络主机0.0.0.0/0.0.0.0
查看: route -n
添加: route add [-net|-host] target [netmask NM] [gw GW] [[dev] if]
注意:gw与主机,一定是同一个网络,他们一定要能够通信

[root@db02 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.254      0.0.0.0         UG    102    0        0 ens33
10.0.0.0        0.0.0.0         255.255.255.0   U     102    0        0 ens33
172.16.1.0      0.0.0.0         255.255.255.0   U     101    0        0 ens37
Flags:U(up) G(gateway)
Metric:度量值,要达到目标网络的开销
Iface:自己要通过哪个网卡发出去

route add -host 172.16.1.13/32 gw 10.0.0.254
route add default gw 10.0.0.254
删除路由:
route del default
route del -host 172.16.1.13/32

netstat

显示路由信息:netstat -rn
-r:显示内核路由

-n:禁止反解数字格式
显示网络连接
netstat [--tcp|-t] [--udp|-u] [--listening|-l] [-all|a] [--numeric|-n] [--extend|-e] [--program|-p] [--raw|-w]
tcp:面向连接的协议,通信开始之前,要建立一个虚拟链路。在一个虚链路上进行通信,通信结束后,还要拆除连接
udp:无连接的协议,直接发送数据报文。
-t 有关TCP连接的协议
-u:有关UDP连接的协议
-w: raw socket相关的连接
-l:处于监听状态的连接
-a:所有连接
-n:以数字格式显示IP和PORT
-e:扩展格式
-p:显示进程名和ID号

[root@db02 ~]# netstat -t
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 db02:mysql              10.0.0.1:53152          ESTABLISHED
tcp        0      0 db02:mysql              10.0.0.1:53154          ESTABLISHED
tcp        0     52 db02:ssh                10.0.0.1:51546          ESTABLISHED
tcp        0      0 db02:mysql              db03:53052              TIME_WAIT  

Recv-Q:接收队列
Send_Q:发送队列

常用组合: -tan,-uan,-tnl,-unl,-tunlp

netstat -i 显示所有接口
[root@db02 ~]# netstat -i
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500    16498      0      0 0         10471      0      0      0 BMRU
ens33:0          1500      - no statistics available -                        BMRU
ens33:1          1500      - no statistics available -                        BMRU
ens37            1500     1145      0      0 0            17      0      0      0 BMRU
lo              65536       70      0      0 0            70      0      0      0 LRU

ifup/ifdown

注意:通过读取配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE 来识别接口并配置

hostname

查看:hostname
配置:hostname HOSTNAME 重启无效

hostnamectl (centos7)

hostnamectl status显示当前主机名信息
[root@db03 ~]# hostnamectl status
   Static hostname: db03
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 96fbe125fd9847cda7a7922030d993bf
           Boot ID: a80555cc14b743548e8890d97ff374c9
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1062.el7.x86_64
      Architecture: x86-64

hostname set-hostname 设定主机名,永久有效
配置文件:
/etc/sysconfig/network
HOSTNAME=

DNS服务配置

vim /etc/resolv.conf
nameserver DNS_SERVER_IP
测试:(dig/host/nslookup)
dig 不会走/etc/hosts文件,直接连接DNS服务器
[root@db02 ~]# dig -t -A www.baidu.com
;; Warning, ignoring invalid type -A

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> -t -A www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8937
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.baidu.com.         IN  A

;; ANSWER SECTION:
www.baidu.com.      47  IN  CNAME   www.a.shifen.com.
www.a.shifen.com.   47  IN  A   61.135.169.125
www.a.shifen.com.   47  IN  A   61.135.169.121

;; Query time: 5 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: 二 5月 26 04:30:48 CST 2020
;; MSG SIZE  rcvd: 90

dig  -x IP 反解,域名支持可以,不支持不可以

ip route家族

ip OBJECT
      addr:  地址和掩码
      link: 接口
      route: 路由
ss: 状态及统计数据查看,性能要比netstat高效许多

ip

查看管理,路由,设备,策略路由和隧道

ip [options] OBJECT {COMMAND|help}
OBJECT:={link|addr|route|netns}  netns:为网络名称空间
ip link: 网络设备配置
ip link set change-device-attributes 管理设备属性
ip link show  display-device-attributes 显示设备属性
ip link show   显示设备属性
ip link set ens37 down  把ens37给down掉
ip link set dev NAME(default)  指明要管理的设备,dev可省略
                          up and down
                          multicast on 或 multicast off 启用或禁用多播功能
                          name  NAME 重命名接口
ip link set eth1 name eno66  把eth1重命名eno6
                  mtu numer:设置MTU大小,默认1500
                  netns PID:ns为namespace,用于将接口移动到指定网络的名称空间
ip link help 查看帮助         
ip netns:管理网络名称空间
ip netns add NAME
ip netns del NAME
ip netns list
ip netns exec NAME COMMAND :在指定netns中运行命令
[root@db03 ~]# ip netns add cz
[root@db03 ~]# ip netns list
cz
ip address:管理IP地址
ip address add
ip address del
ip address show
ip address flush 与del不同的是,它是清空所有
ip addr flush dec IFACE
ip address add IFADDR dev IFACE  [brodcast ADDRESS]  [scope SCOPE_VALUE]
brodcast ADDRESS:为广播地址,根据IP和NETMASK 自动计算
scope SCOPE_VALUE:作用域
                VALUE: global  全局可用
                        link 接口可用,在这个接口上IP地址可用               
                        host 仅本机可用
ifconfig eth1 0 删除eth1上的所有地址
ip addr add 192.168.1.4/24 dev ens33
ip addr add 192.168.1.3/24 dev ens33 label ens33:0
在ens33可以加入多个地址
LABEL NAME为额外添加地址指明接口别名
ip addr ens33 list
ip addr show 显示全部IP
ip addr list [IFACE]  显示接口IP
ip route:实现路由表管理
ip route add 
ip route change
ip route replace
ip route replace
ip route flush
ip route list
ip route add TYPE PREIX via GW [dev IFACE]   [src SOURCE_IP]
via 是下一跳地址
ip route add 192.168.10.0/24 via 10.0.0.254
ip route add 172.16.0.0/16 via 10.0.0.254
ip route list
 ip route add 172.17.0.0/16 via 10.0.0.254 dev ens33 src 10.0.0.13
ip route change 和 ip route replace用法与ip route add相同
ip route delete 删除路由
ip route delete 192.168.1.0/24 删除目标地址为192.168.1.0/24的路由
ip route show
ip route show src 172.16.100.6 只显示源地址
ip route get 只获取到达某个条目的路由
ip route flush 
ip roure flush 10/8  清空10网段的路由

ss

ss [options] [FILTER]
选项:
  -t: tcp协议
  -u:udp协议
  -w:raw socket相关连接
  -l:监听状态连接
  -a:所有连接状态
  -n:数字格式
  -p:相关的程序及PID
  -e:扩展格式信息
  -m:内存用量
  -o:计时器信息
FILTER:过滤器:只看某种状态连接,或者指定的表达式
ss -t  state established   显示tcp的establish状态的连接
FILTER   [state TCP_STAE] [EXPERSSION]
TCP FSM:TCP的连接状态
EXPERSSION: dport=  
             sport=
ss -tna '( dport = :22 or sport = :22 )'

nm家族

nm:(Network Manager)
nmcli : 命令行工具
nmtui: text window 工具

注意:DNS服务器指定
配置文件:/etc/reolv.conf
主机名:本地主机的标识
hostname 命令
配置文件: /etc/sysconfig/network

网络接口命名方式

传统命名

以太网: ethx,[0,+) 例如eth1,eth2
PPP网络: pppx,[0,+) 例如ppp0,ppp1

可预测命名方案(centos7)

支持多种不同的命名机制
fireware拓扑结构

1.如果firewar或BIOS为主板上集成的设备,提供索引信息可用,则根据此索引命名如eno1,eno2
2 .如果firewall或BIOS为PCI-E为扩展槽所提供的索引信息,且可预测。则根据此索引命名,如ens1,ens2
3 .如果硬件接口的物理位置信息可用,则根据此信息命名 enp2so
4 .如果用户显示定义,可根据MAC地址命名。例如 enx122161abze
上述均不可用,则仍使用传统方式命名
命名格式
en:以太网
wl:无线局域网
ww:无线局域网
名称类型
o:集成设备的设备索引号
s:扩展槽的索引号
x:基于MAC地址命名
ps:基于哪个总线,哪个槽基于拓扑结构进行命名

TCP/IP协议栈

数据链路层/物理层: 以太网帧
互联网层:IP报文
传输层:https,http
以太网帧:MTU(1500),以太网帧封装了互联网层,传输层,应用层首部。实际传输内容1300多个字节

IP 配置文件配置

/etc/sysconfig/network-scripts/ifcfg-IFACE
IFACE:接口名称
/etc/sysconfig/network-scriptss/route-IFACE 路由配置文件
配置文件参数: ifcfg-IFACE

DEVICE:此配置文件对应的设备名称
ONBOOT:在系统引导过程中,是否激活此端口
NETBOOT:是否支持网络引导
UUID:此设备的唯一标识
IPV6INIT:是否初始化IPV6
BOOTPROTO:激活此接口时,用什么协议来配置接口属性。常用dhcp,bootp,static,none
TYPE:用来指定接口的类型,常用ethernet,bridge
DNS1:用来配置DNS服务器指向
DNS2:备用DNS服务器指向
DOMAIN:DNS搜索域
DEFROUTE:是否为默认路由的接口
GATEWAY:默认网关
IPADDR:本地IP地址
PREFIX:掩码 centos7 长度掩码 
NETMASK:centos6
USERCTL:是否允许普通用户控制此设备
PEERDNS:如果BOOTPROTO的值为dhcp,是否允许dhcp server分配的dns服务器覆盖手动指定的DNS服务器指向,默认为允许
NM_CONTROLLED:是否允许使用NetworkManager 服务来控制接口

路由配置文件

/etc/sysconfig/network-scripts/route-IFACE
支持两种配置方式,但不可混用
1) 每行一个路由条目
TARGET via GW
2)每二行一个路由条目
ADDRESS#=TARGET
NETMASK#=MASK
GATEWAY#=NEXTHOP
[root@db02 network-scripts]# cat route-ens33
172.16.0.0/16 via 10.0.0.254
[root@db02 network-scripts]# cat route-ens37
ADDRESS0=20.0.0.0
NETMASK0=255.0.0.0
GATEWAY0=172.16.1.2

你可能感兴趣的:(linux 网络管理基础)