Linux 网络管理
目录
一、概述
网络负责进行计算机通信,可以实现客户端到服务器的访问,互联网使用TCP/IP协议进行网络传输。
(一)网卡配置参数
1.1.1、 IPv4地址
计算机在同一网络下的唯一标识,IP地址不能重复,32位二进制数构成,由于不方便记忆,便将其设为点分二进制和点分十进制。
1.1.1.1、 IPv4地址的组成
网络地址和主机地址
比如:192.168.242.130
网络部分(192.168) 主机部分(242.130)
小话题插入:在2019年11月26日,互联网上分配给公有网络使用的IPv4地址已经全部耗尽。IPv4是一种32位的IP地址,它的可用地址数量是有限的,约为43亿个。随着互联网的发展和设备的增加,这个数量已经不足以满足全球需求。因此,IPv6(128位)作为新一代的IP地址协议已经开始逐渐推广和使用。IPv6的地址空间极其庞大,可以提供约340万亿亿亿亿个IP地址,以应对未来互联网的需求。
1.1.1.2、 IPv4地址
IPv4地址分为A B C D E 五类
A类地址:范围从0.0.0.0到127.255.255.255,其中首位为0。
B类地址:范围从128.0.0.0到191.255.255.255,其中前两位为10。
C类地址:范围从192.0.0.0到223.255.255.255,其中前三位为110。
D类地址:范围从224.0.0.0到239.255.255.255,用于多播。
E类地址:范围从240.0.0.0到255.255.255.255,用于实验和研究。
1.1.1.3、 IPv6地址
IPv6地址是由128位二进制数组成的,通常以冒号分隔的八个十六进制字段表示。
例如: fe80::ecdd:8f5f:dbb2:276。
1.1.1.5、 专用地址
专用地址用于局域网中的内部通信,不用于公共互联网。包括私有IPv4地址段和本地链接地址。
除了上述分类之外,还有一些特殊的IP地址范围,如回环地址(127.0.0.0/8)用于本地回环测试,保留地址用于特殊用途等。
1.1.1.5、 点分二进制
11111111.11111111.11111111.11111111
1.1.1.6、 点分十进制
255.255.255.255
1.1.2、 子网掩码
用来确定IP地址是否属于同一个网络,分为8、16、24、32位。
8 | 255.0.0.0 |
16 | 255.255.0.0 |
24 | 255.255.255.0 |
32 | 255.255.255.255( 唯一IP,仅用于唯一主机配置 ) |
1.1.3、 默认网关
通向外部网络的唯一出口,连接不同网络的途径
1.1.4、 DNS地址
域名解析服务,将已知的域名解析为IP地址。用来进行使用域名访问网络服务器
(二)获得网卡配置参数的方式
1.2.1、 自动获得: DHCP分配
1.2.2、 手动配置: 管理员手动配置
左图为自动获得DHCP地址不需要手动配置 右图为手动配置IP地址与DNS服务才可登录网络
二、网络参数设置
(一)图形化
NetworkManager
(二)命令行
2.2.1、 ifconfig
查看及配置网卡参数(临时配置),不能查看基于配置文件的多IP地址的网络参数,只有root用户才可以使用该命令更改网卡参数,普通用户只能用户查看
2.2.2.1、 ifconfig命令语法
查看 ifconfig [网卡名]
ens33: flags=4163: 表示该网络接口的标志,4163是该标志的十进制表示,其中包括UP(接口已启用)、BROADCAST(支持广播)、RUNNING(接口正在运行)和MULTICAST(支持多播)等。
mtu 1500: 表示最大传输单元(Maximum Transmission Unit),即每个数据包的最大大小为1500字节。
inet 192.168.242.130: 表示该网络接口的IPv4地址是192.168.242.130。
netmask 255.255.255.0: 表示网络掩码,用于确定子网的范围。
broadcast 192.168.242.255: 表示广播地址,即用于向子网内的所有设备发送广播消息的地址。
inet6 fe80::ecdd:8f5f:dbb2:276: 表示该网络接口的IPv6链路本地地址。
ether 00:0c:29:2d:ec:65: 表示该网络接口的物理地址(MAC地址)。
txqueuelen 1000: 表示传输队列长度为1000。
RX packets 56568: 表示接收的数据包数量为56568。
bytes 45000527: 表示接收的字节数为45000527。
RX errors 0: 表示接收过程中出现的错误数为0。
dropped 0: 表示在接收过程中丢弃的数据包数量为0。
overruns 0: 表示接收过程中的溢出数为0。
frame 0: 表示接收过程中的帧错误数为0。
TX packets 4769: 表示发送的数据包数量为4769。
bytes 318902: 表示发送的字节数为318902。
TX errors 0: 表示发送过程中出现的错误数为0。
dropped 0: 表示在发送过程中丢弃的数据包数量为0。
overruns 0: 表示发送过程中的溢出数为0。
carrier 0: 表示物理连接的运营商状态,0表示正常。
collisions 0: 表示发送过程中出现的碰撞数为0。
配置 ifconfig 网卡名 IP地址/子网掩码的网络位长度
案例 ifconfig ens33 192.168.242.222/24
2.2.2.2、 子接口
基于物理网卡的逻辑接口,可以使系统基于一块网卡配置多个IP地址
ifconfig 网卡名:编号(上限999999999) IP地址/子网掩码的网络位长度
2.2.2、 ip a( address )
查看网络参数,能够查看基于配置文件实现的多IP地址配置后的网络参数
(三)配置文件
查看配置文件: /etc/sysconfig/network-scripts/ifcfg-网卡名
永久配置,需要网卡重新读取配置文件
配置参数
2.3.1、 单一IP地址配置
cd /etc/sysconfig/network-scripts/ifcfg-ens33 vim ifcfg-ens33
2.3.1.1、 自动获得
TYPE=Ethernet 网卡参数的类型,Ethernet:以太网
BOOTPROTO=dhcp 获得IP地址的方式,
dhcp自动获得IP
static手动配置IP
none不分配IP
NAME=ens33 网卡描述名称,可有可无
DEVICE=ens33 网卡设备名称
ONBOOT=yes 是否启用配置文件,yes 或 no
2.3.1.2、 手动配置
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.242.10 IP地址
PREFIX=24 子网掩码长度
或者使用 NETMASK=255.255.255.0 替换 PREFIX=24
GATEWAY=192.168.242.2 默认网关
DNS1=192.168.242.2 域名解析服务器地址
systemctl restart network
ifconfig
2.3.2、 多IP地址配置
多IP地址配置只允许手动配置,无自动配置。
2.3.2.1、 手动配置
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR1=192.168.242.10
PREFIX1=24
GATEWAY=192.168.242.2
DNS1=192.168.242.2
IPADDR2=192.168.242.11
PREFIX2=24
DNS2=192.168.242.3
2.3.2.2、 加载配置文件
systemctl restart network
ifdown ens33 && ifup ens33
2.3.2.3、 验证参数
IP地址 ifconfig 或 ip a
网关地址 route -n
DNS地址 cat /etc/resolv.conf
三、网卡启停操作
systemctl start network
ifup 网卡名 会重新读取网卡配置文件
ifdown 网卡名 会重新读取网卡配置文件
ifconfig 网卡名 up 或 down 不会重新读取配置文件
四、路由配置( route )
1、 查看 route -n
2、 配置路由
添加: route [选项] add [选项] 目标网络ID/子网掩码网络位长度 [选项] 下一跳地址
删除: route [选项] del [选项] 目标网络ID/子网掩码网络位长度 [选项] 下一跳地址
3、 配置网关地址(临时)
route命令语法
route add -net 0/0 gw 网关地址
route add default gw 网关地址
实验案例
route add -net 0/0 gw 192.168.242.111 route add default gw 192.18.242.222
五、网络连接查看
(一) netstat
5.1.1、 作用
查看本地服务的网络监听状态
查看客户端连接到本地服务的连接状态
5.1.2、 语法
netstat 选项 (-anptu)
5.1.3、 选项
-a, --all 显示所有的监听或连接状态
-n, --numeric 显示数字形式地址而不是去解析主机、端口或用户名
-p, --program 显示连接所属进程的PID和名称
-t,--tcp 显示TCP连接
-u,--udp 显示UDP连接
(二) ss
5.2.1、 作用
查看本地服务的网络监听状态
查看客户端连接到本地服务的连接状态
5.2.2、 语法
ss 选项 (-anptuli)
5.2.3、 选项
-a, --all 显示所有的监听或连接状态
-n, --numeric 显示数字形式地址而不是去解析主机、端口或用户名
-p, --program 显示连接所属进程的PID和名称
-t,--tcp 显示TCP连接
-u,--udp 显示UDP连接
-l, --listening 只显示监听套接字(默认情况下省略这些)
-i,--info 查看客户端连接到本地的状态