Linux网络配置及状态查询

Linux网络配置及状态查询

  • 1、网卡命名eth0、ens33、ens160、eno1、enp0s*?
  • 2、linux查看 全部网卡 虚拟网卡 物理网卡
  • 3、network.service和NetworkManager.service
    • 3.1、Network 服务
    • 3.2、NetworkManager 服务
      • 3.2.1、nmcli connection
      • 3.2.2、停止/激活/连接nmcli c down/up
      • 3.2.3、重载网络配置文件
      • 3.2.4、删除连接
      • 3.2.5、nmcli device
      • 3.2.6、nmcli常用命令
  • 4、AnolisOS8.6网络配置(龙蜥)
  • 5、Rocky9.2网络配置
    • 5.1、NetworkManager配置文件配置网络
    • 5.2、修改网卡配置
  • 6、SysV和systemd服务启动、关闭、重启及查看相关命令
  • 7、停止NetworkManager启用network.service
  • 8、查看Linux中的网卡类型命令

1、网卡命名eth0、ens33、ens160、eno1、enp0s*?

首先说明下eth0与ens33的关系,主流网卡为使用以太网络协定所开发出来的以太网卡 (Ethernet),主机上面有一张以太网卡,则主机的网络接口就是 eth0 (第一张为 0 号开始)。新的 CentOS 7 开始对于网卡的编号有另一套规则,网卡的界面代号与网卡的来源有关,网卡名称会是这样分类的:
en 打头:以太网接口,即代表以太网网卡。
wl 打头:wlan接口,即代表无线局域网网卡。
ww 打头:wwan接口,即代表无线广域网网卡。
接下来的
o 表示板载网卡
s 表示热插拔插槽。
p 表示PCI地理位置。
eno1 :代表由主板 BIOS 内置的网卡。
ens1 :代表由主板 BIOS 内置的 PCI-E 界面的网卡。
enp2s0 :代表 PCI-E 界面的独立网卡,可能有多个插孔,因此会有 s0, s1… 的编号。
eth0 :如果上述的名称都不适用,就回到原本的默认网卡编号

2、linux查看 全部网卡 虚拟网卡 物理网卡

  1. 查看全部网卡:目录 /sys/class/net/
ls /sys/class/net/

在这里插入图片描述

  1. 查看虚拟网卡:目录 /sys/devices/virtual/net/
ls /sys/devices/virtual/net/

在这里插入图片描述

  1. 查看物理网卡
ls /sys/class/net/ | grep -v "`ls /sys/devices/virtual/net/`"

在这里插入图片描述

3、network.service和NetworkManager.service

Linux网络配置及状态查询_第1张图片
===NetworkManager服务和network.service服务有冲突,只能开启一个哦!
systemctl start  NetworkManager        开启Net
systemctl stop NetworkManager		   关闭Net
systemctl status NetworkManager        查看NetworkManager状态
systemctl restart NetworkManager       重新启动Net(PID值会发生变化)
systemctl reload NetworkManager        重新加载Net(PID值不会发生变化)
systemctl is-enabled NetworkManager    查看Net是否开机自启动
systemctl enable NetworkManager        设置Net开机自启动
systemctl disable NetworkManager       关闭Net开机自启动

===启动network服务 (vm 下安装 centos 可用 nmcli c reload 命令启动)
systemctl start network
systemctl enable network
systemctl status network

systemctl stop network && systemctl restart NetworkManager

3.1、Network 服务

对网卡的配置,network的制御网络接口配置信息改动后,网络服务必须重新新启动,来激活网络新配置的使得配置生效,这部分操作和从新启动系统时时一样的作用。制御(控制)是/etc/init.d/network这个文件,可以用这个文件后面加上下面的参数来操作网络服务。

3.2、NetworkManager 服务

Linux网络配置及状态查询_第2张图片

是检测网络、自动连接网络的程序。无论是无线还是有线连接,它都可以令您轻松管理。对于无线网络,网络管理器可以自动切换到最可靠的无线网络。利用网络管理器的程序可以自由切换在线和离线模式。网络管理器可以优先选择有线网络,支持 VPN。网络管理器最初由 Redhat 公司开发,现在由 GNOME 管理。

关于NetworkManager一些命令整理如下:

1、使用nmcli命令前还需要查看NetworkManager是否接管网络设置
nmcli network 查看是否接管网络配置(或者nmcli n)
nmcli n on    设定接管网络配置
nmcli n off    设定取消接管网络配置

3、使用nmcli查看网络连接状态
nmcli network connectivity (或者nmcli n c)
	   full         网络正常连接
       limited      网络连接,但是无法上网
       portal       网络连接,但是需要认证才可以上网
       none         无网络连接
       unknown      无法识别网络
3、使用nmcli查看详细网络连接状态
nmcli general status   (或者nmcli g s)
       STATE      显示网络是否连接(con表示已连接)
       CON        同nmcli n c 命令
       WIFI-HW    WIFI硬件开关是否开启
       WIFI       WIFI软件开关是否开启
       WWAN-HW    WWAN硬件开关是否开启
       WWAN       WWAN软件开关是否开启
3、使用nmcli显示所有网络连接信息
nmcli connection show  (或者nmcli c s)
nmcli c s -a      显示当前启动的连接(--active)
nmcli c s 网卡名   显示特定网卡的详细连接信息

3、显示被NetworkManager识别到的设备及其状态
nmcli device status  (或者nmcli d s)

4、使用nmcli配置网卡基本信息
c是connection,m是modify的缩写
nmcli c m 网卡 ipv4.address 192.168.10.1/24      配置IPv4地址
nmcli c m 网卡 ipv4.method manual                设置IP地址为静态配置(默认为auto)
nmcli c m 网卡 ipv4.getway 192.168.10.254        修改默认网关
nmcli c m 网卡 ipv4.dns 192.168.10.254           配置DNS服务器
nmcli c m 网卡 +ipv4.dns 192.168.20.1            添加一个DNS服务器
nmcli c m 网卡 connection.autoconect yes         设置为开机启动
nmcli c up 网卡                    启用网卡连接
nmcli c down 网卡                  关闭网卡连接
nmcli c reload 网卡                启网卡连接
nmcli c m 网卡 ipv4.method ""      将选项返回到默认值(""表示默认值)
nmcli c load 网卡配置文件           重新加载网卡配置文件




99、通过nmcli配置网卡参数配置模板
通过nmcli配置网卡参数配置模板,可使用户在多个网卡配置文件中切换来得到不同的IP地址(这些网卡配置文件可以公用一张物理网卡),实现网络配置信息的自由切换。

例子1:名字为home99,类型为ethernet,自动获取IP地址,使用的物理网卡为ens160。
nmcli connection add \
con-name home99 \
type ethernet \
ifname ens160

例子2:名字为work88,类型为ethernet,手工指定IP地址和网关,使用的物理网卡为ens160,不自动启动。
nmcli connection add \
con-name work88 \
ifname ens160 \
autoconnect no \
type ethernet \
ip4 192.168.30.1/24 \
gw4 192.168.30.254

根据场景启用对应的网络会话
nmcli c u home99     启用home99网络会话(此时网卡ens160地址就是自动获取的)
nmcli c u work88     启用work88网络会话(此时网卡ens160地址就是手工指定的)
nmcli c delete work88  删除work88网络会话

当配置了网络会话之后,会在网卡配置文件下找到 "ifcfg-网络会话名称" 的网卡配置文件







=============================
restart NetworkManager.service

chkconfig NetworkManager off //禁止开机启动
chkconfig NetworkManager on //开机启动
chkconfig NetworkManager off  //永久关闭NetworkManager托管工具

3.2.1、nmcli connection

nmcli connection 表示连接,可以理解为配置文件,可以简写为: nmcli c,它有两种状态:活动的和非活动的。

查看所有链接的列表

nmcli c
nmcli connection
nmcli connection show
nmcli c show
连接名称(链接标识)、链接的UUID、链接类型、设备名称(网卡名)

在这里插入图片描述

创建链接

nmclic add type ethernet con-name 连接名称 ifname 网卡名称 [各种参数.....]

说明:
type:必选项,表示网络类型,可以通过 nmcli cadd type -h 看到,这里指定为ethernet。
con-name:必选项,表示连接名称,可以任意定义。
ifname:必选项,表示网卡名称,不可随意填写,必须是在nmcli d 里能看到的。

创建连接后会在/etc/sysconfig/network-scripts/目录下自动创建一个ifcfg-连接名的文件

其它常见参数有(IPV4):

nmcli的参数 对应的ifcfg-*文件 结果说明
ipv4.method manual BOOTPROTO=none 设置静态IPV4地址
ipv4.method auto BOOTPROTO=dhcp 设置自动获取IPV4地址
ipv4.address "192.168.1.3/24" IPADDR=192.168.1.3
PREFIX=24
设置IPV4地址,网络前缀
ipv4.gateway 192.168.1.1 GATEWAY=192.168.1.1 设置网关地址
ipv4.dns 114.114.114.114 DNS1=114.114.114.114 设置DNS地址
connection.autoconnect yes ONBO0T=yes 设置启动时自动激活本连接

创建的例子

nmcli c add type ethernet \
con-name ss \
ifname ens32 \
ipv4.addresses 192.168.1.3/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns '8.8.8.8,114.114.114.114' \
ipv4.method manual

在这里插入图片描述

3.2.2、停止/激活/连接nmcli c down/up

nmcli c down ens32
nmcli c up ens32

nmcli c up ss
nmcli c down ss

3.2.3、重载网络配置文件

连接重载配置文件
nmcli c reload

重启NetworkManager
nmcli networking off && nmcli networking on

============
nmcli c reload && nmcli networking off && nmcli networking on

3.2.4、删除连接

nmcli c delete 连接名称

3.2.5、nmcli device

nmcli device 表示设备,可以理解为我们的网卡,网卡需要被NM管理,然后才可以为设备配置一个或多个连接,同一个时刻,一个设备只能有一个连接与之对应。

查看所有设备列表

nmcli device
nmcli d
设备名称(网卡名),连接类型,连接状态,连接名称(连接标识)

Linux网络配置及状态查询_第3张图片

3.2.6、nmcli常用命令

1. 查询会话:nmcli:网络管理命令字; connection:连接,会话;
nmcli connection

2. 删除一个会话:delete:删除; con_name:会话名字;
nmcli connection delete con-mane 
nmcli connection delete ens33
nmcli connection delete ens256

3. (配置静态IP地址)添加一个会话:type ethernet 网络类型是以太网;con-name ens33:会话名字;ifname ens33:网卡设备名;
nmcli c          add type ethernet con-name <连接名称> ifname <接口名称>
nmcli connection add type ethernet con-name ens33     ifname ens33 

4. (配置静态IP地址)给会话添加ip地址
nmcli c modify <连接名称> ipv4.addresses <IP地址>/<子网掩码> ipv4.gateway <网关地址>
nmcli connection modify con-name ipv4.addresses ip/netmask 
nmcli connection modify ens33    ipv4.addresses 192.168.1.2/24

5. 使用以下命令为连接添加其他IP地址
nmcli c          modify <连接名称>  +ipv4.addresses <IP地址>/<子网掩码>
nmcli connection modify ens33     +ipv4.addresses  192.168.1.20/24

6. (配置静态IP地址)给会话添加网关
nmcli connection modify con-name ipv4.gateway IP
nmcli connection modify ens33    ipv4.gateway 192.168.1.1

7. (配置静态IP地址)给会话配置dns服务器地址
nmcli c          modify <连接名称>  ipv4.dns <DNS服务器地址>
nmcli connection modify con-name  ipv4.dns IP
nmcli connection modify ens33     ipv4.dns 223.5.5.5

8. 保存配置
nmcli connection modify ens33 ipv4.method manual

9. 激活会话
nmcli connection up ens33

10. 关闭会话编辑器
nmcli connection down ens33


11. (配置动态IP地址)使用DHCP配置地址
nmcli c modify <连接名称> ipv4.method auto

12. 查看当前的连接配置
nmcli c show

4、AnolisOS8.6网络配置(龙蜥)

1、修改主机名称

临时修改
hostnamectl set-hostname AnolisOS100

永久修改
echo AnolisOS100 > /etc/hostname

2、配置静态IP
方法一:

# 覆盖配置
cat > /etc/sysconfig/network-scripts/ifcfg-ens33 << EOF
NAME=ens33
DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.2.100
NETMASK=255.255.255.0
#PREFIX=24
GATEWAY=192.168.2.1
DNS1=192.168.2.1
DNS2=114.114.114.114
EOF

方法二:

nmcli c add type ethernet \
con-name ss \
ifname ens39 \
ipv4.addresses 192.168.1.3/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns '8.8.8.8,114.114.114.114' \
ipv4.method manual

上面nmcli命令执行成功后会生成配置文件/etc/sysconfig/network-scripts/ifcfg-ss

3、刷新网络

ifdown ens33
ifup ens33

4、配置主机和IP的映射

# 追加配置
cat >> /etc/hosts << EOF
192.168.2.100 AnolisOS100
EOF

5、关闭防火墙

systemctl stop firewalld.service 
systemctl disable firewalld.service
systemctl status firewalld.service

6、关闭图形化界面

systemctl get-default
systemctl set-default multi-user.target

5、Rocky9.2网络配置

5.1、NetworkManager配置文件配置网络

(ens160为我的网卡名)

ip address show
ip a
nmcli con
===========================================
vim /etc/NetworkManager/system-connections/ens160.nmconnection

[connection]
id=ens160
type=ethernet
uuid=de4e3cc2-b920-3d8c-b3a5-b0f85455a5f8
autoconnect-priority=-999
interface-name=ens160
timestamp=1684585203

[ethernet]

[ipv4]
method=manual
may-fail=false
address1=192.168.168.80/24,192.168.168.1
dns=114.114.114.114;223.5.5.5;

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]
# 重新加载配置文件
nmcli connection load /etc/NetworkManager/system-connections/ens160.nmconnection
# 激活配置文件
nmcli connection up /etc/NetworkManager/system-connections/ens160.nmconnection

5.2、修改网卡配置

(ens160为我的网卡名)



6、SysV和systemd服务启动、关闭、重启及查看相关命令

1、使用service脚本来调度网络服务,如:

service network start
service network stop
service network restart

2、直接执行网络服务的管理脚本,如:

/etc/init.d/network start
/etc/init.d/network stop
/etc/init.d/network restart

3、扩展:

1、linux显示所有服务的运行状态命令
service --status-all

2、linux查看单个服务的运行状态命令
service iptables status

3、linux查看服务启动状态,是否开机自动启动命令
chkconfig --list servicename


4、chkconfig --list

chkconfig --list 输出结果只显示SysV服务,并不包含原生 systemd 服务。
                 SysV 配置数据可能被原生 systemd 配置覆盖。 

systemctl list-unit-files 列出systemd服务。
systemctl list-dependencies [target] 查看在具体target启用的服务。

7、停止NetworkManager启用network.service

sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager

sudo systemctl start network
sudo systemctl enable network
# network.service is not a native service, redirecting to /sbin/chkconfig.
# Executing /sbin/chkconfig network on


8、查看Linux中的网卡类型命令

1. 使用 `lspci` 命令以详细格式列出所有 PCI 设备,并通过过滤器查找以太网控制器:
lspci | grep Ethernet

2. 使用 `lshw` 命令以详细格式显示硬件信息,并查找以太网相关的信息:
sudo lshw -C network

3. 使用 `ifconfig` 命令列出所有网络接口,并查找以太网类型的接口:
ifconfig -a

4. 使用 `ip` 命令以详细格式显示网络接口信息,并查找以太网类型的接口:
ip link show

你可能感兴趣的:(Linux,网络配置及服务器状态查询)