Linux网络管理
ipv4基本原理
IPv4地址由“网络位+主机位”构成,所谓的网络位就是我们通常所指的网段区域、主机位则是某终端IP地址在这个网段区域中所处的位置。
IPv4有网络地址和主机地址,网络地址是用来标识网络信息的,是一个网段内第一个地址。广播地址是向某个网段内发送消息,此网段内的所有主机都能收到。
配置网络
概念:网络接口是指网络中的计算机或网络设备与其他设备实现通讯的进出口,一般是指计算机的网络接口即网卡设备。
从RHEL7开始引入了一种新的“一致网络设备命名”的方式为网络接口命名,该方式可以根据固件、设备拓扑、设备类型和位置信息分配固定的名字。网络接口的名称的前两个字符为网络类型符号。
如: en——表示以太网(Ethernet) ;wl表示无线局域网(wlan) ;ww表示无线广域网(wwan);
接下来的字符根据设备类型或位置选择,
如: o——表示内置(onboard)于主板上的集成设备(即集成网卡)及索引号;
s——表示是插在可以热拔插的插槽上的独立设备及索引号;
x——表示基于MAC地址命名的设备;
p——表示PCI插槽的物理位置及编号。
注意:一个网络接口可以有多个网络连接,但同一时间只能有一个网络连接处于活动状态。
可视化配置
# nmtui 【进入可视化配置页面】
或者是 # init 3
[root@node1 ~]# nmtui 【选择用户密码登录后的命令】
【设备名称ens160不能乱写,IPv4选Manual,最后IP地址配置虚拟机的,然后点OK】
ping命令:
用来检测网络的连通情况和分析网络速度 ,根据域名得到服务器 IP
根据 ping 返回的 TTL 值来判断对方所使用的操作系统及数据包经过路由器数量。
ping -参数 目标主机IP或域名
-c 数字:用于设定本命令发出的ICMP消息包的数量,若无此选项,则会无限次发送消息包直到用户按【Ctrl+C】组合键才终止命令。
-s 字节数:设置ping命令发出的消息包的大小,默认发送的测试数据大小为56字节;自动添加8字节的ICMP协议头后,显示的是64字节;再添加20字节的IP协议头,则显示的为84字节。最大设置值为65507B
-i 时间间隔:设定前后两次发送ICMP消息包之间的时间间隔,无此选项时,默认时间间隔为1秒。为了保障本机和目标主机的安全,一般不要小于0.2秒
-t:设置存活时间TTL(Time To Live)
-w:等待时长
显示内容分析
bytes 值:数据包大小,也就是字节
time 值:响应时间,时间越小,速度越快
TTL 值:Time To Live, 表示 DNS 记录在 DNS 服务器上存在的时间,它是 IP 协议包的一个值,告诉路由器该数据包何时需要被丢弃。通过TTL 值判断目标系统类型:默认情况下,Linux 系统的 TTL值为 64 或 255,win11 系统值为644,UNIX 主机的 TTL 值为 255
从网站下载文件
wget命令:用于在终端命令行里下载网络文件,英文全称为:“web get”
格式:wget -参数 网址或IP地址
参数: -P 下载到指定目录
-t 最大尝试次数
-b 后台下载模式 【waet -b不会占用当前的终端】
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
[root@server ~]# wget www.baidu.com【下载的是http】
waet -p www.baidu.com【下载目录】
# curl www.baidu.com -o index.html 【保存链接文件】
临时设定网络
ifconfig命令
# ifconfig 查看网络配置
# ifconfig ens160 查看ens160配置
# ifconfig ens160 192.168.150.100 netmask 255.255.255.0 临时更改ip地址
ip命令
ip a 【查看IP地址】
d 192.… 【输出IP地址】
c 192.… 【添加IP地址】
a 192.… 【更改IP地址】
配置网卡的方法
nmcli命令
作用:nmcli,可以实现创建,显示,编辑,删除,激活和停用网络连接以及控制和显示网络设备状态等。【# hostnamectl hostname node1.timinglee.org —更改用户名 】
查看网络开启状态
# nmcli networking 【如果显示是disabled可以nmcli networking on开启,disabled无法nm-connection-editor进行网络ens的设定】
查看网卡信息
[root@server ~]# nmcli c show # 查看网卡信息。全写为:nmcli connection show
[root@server ~]# nmcli con show ens160 # 查看指定网卡的详细信息,q键退出
[root@server ~]# nmcli dev status # 查看已有设备的连接状态【未连接显示是红色】
[root@server ~]# nmcli dev show # 看所有网络设备详情,q键退出
激活和关闭网络连接 【激活要先nmcli connection reload 刷新网络连接】
[root@server ~]# nmcli c up 网卡名 # 激活,也是重启网卡的一种方法
[root@server ~]# nmcli c down 网卡名 # 关闭
# nmcli device disconnect ens160 【断开链接ens160】
ip a 运行结果:
添加网络连接
# 例:添加网络连接ens161
[root@server ~]# nmcli c add type ethernet ifname ens160 con-name ens161 autoconnect yes ip4 192.168.48.135/24 gw4 192.168.48.2
连接 "ens161" (37bc8e79-92ea-4c01-a4af-1dfd7c687014) 已成功添加。
[root@server ~]# nmcli c up ens161 # 不能在xshell操作,否则ssh连接断掉
[root@server ~]# nmcli c show
[root@server ~]# nmcli c up ens160
# nmcli connection add type ethernet con-name test ifname ens160 ipv4.method manual ipv4.addresses 192.168.150.100/24【添加网络连接test并配置网络IP】
nm-connection-editor运行结果:
设置静态IP
[root@server ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 【手动获取IP】
'192.168.48.134/24' ipv4.gateway '192.168.48.2' ipv4.dns '114.114.114.114'
[root@server ~]# nmcli c up ens160
[root@server ~]# ip a
增加ip地址
[root@server ~]# nmcli c mod ens160 +ipv4.addresses 192.168.150.100/24
[root@server ~]# nmcli c up ens160
[root@server ~]# ip a
删除网络连接
[root@server ~]# nmcli c show
[root@server ~]# nmcli c del test
[root@server ~]# nmcli c show
修改配置文件
# 设置静态IP 【一般只需要配置[connection] 和 [ipv4] 】
[root@server ~]# cd /etc/NetworkManager/system-connections
【配置下面的代码必须要在网卡配置目录】
[root@server system-connections]# ls
ens160.nmconnection
[root@server system-connections]# vim ens160.nmconnection 【ens160是网卡名】
[connection]
id=ens160 【链接名称】
uuid=d97d603d-5bb5-3d11-bfeb-11fbc8cb867d 【链接id】
type=ethernet 【网络类型】
autoconnect-priority=-999
interface-name=ens160 【设备名称】
timestamp=1682493359
[ethernet]
[ipv4]
address1=192.168.48.134/24,192.168.48.2 【IP地址,,后写的是网关】
dns=114.114.114.114;
method=manual 【工作模式,manual静态工作模式】
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]
配置示例:
[root@server ~]# nmcli c reload 【刷新网卡】
[root@server ~]# nmcli c up timinglee
ip a运行结果:
脚本进行网卡配置
[root@server ~]# vim ipchage.sh
[root@server ~]# sh ipchage.sh 192.168.150.222 【然后ip a就可以查看配置的IP地址了】
# 会话和网卡的关系:一个网卡可以有多个会话,但是一个时刻只能连接到一个会话
网关的配置
# route -n 【查看网络和网关,Gateway是下一跳,如果没有配置网关,主机位显示是0】
# route add default gw 192.168.150.2 【配置临时的下一跳网关】
# nmcli connection modify timinglee ipv4.method manual ipv4.addresses 192.168.150.100/24 ipv4.gateway 192.168.150.2
# nmcli connection reload
# nmcli connection up timinglee
通过域名访问主机
[root@server ~]# vim /etc/hosts 【本地解析文件用户自己把网址和ip的对应关系记录到此文件中那么在浏览器访问防止的时候就可以做解析】
[root@server ~]# ping www.scdn.net 【这个时候就可以访问到www.scdn.net了】
# vim /etc/resolv.conf 【dns服务器指向文件,提供dns域名解析服器地址】
nameserver 192.168.150.2 —当有域名解析需求时发送需求给192.168.150.2
# vim /etc/NetworkManager/system-connections/timinglee.nmconnection 【永久更改dns】
[ipv4]
dns=114.114.114.114; 【注意:一定要有 ; 】