首先说明下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
:如果上述的名称都不适用,就回到原本的默认网卡编号
ls /sys/class/net/
ls /sys/devices/virtual/net/
ls /sys/class/net/ | grep -v "`ls /sys/devices/virtual/net/`"
===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
对网卡的配置,network的制御网络接口配置信息改动后,网络服务必须重新新启动,来激活网络新配置的使得配置生效,这部分操作和从新启动系统时时一样的作用。制御(控制)是/etc/init.d/network这个文件,可以用这个文件后面加上下面的参数来操作网络服务。
是检测网络、自动连接网络的程序。无论是无线还是有线连接,它都可以令您轻松管理。对于无线网络,网络管理器可以自动切换到最可靠的无线网络。利用网络管理器的程序可以自由切换在线和离线模式。网络管理器可以优先选择有线网络,支持 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托管工具
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
nmcli c down ens32
nmcli c up ens32
nmcli c up ss
nmcli c down ss
连接重载配置文件
nmcli c reload
重启NetworkManager
nmcli networking off && nmcli networking on
============
nmcli c reload && nmcli networking off && nmcli networking on
nmcli c delete 连接名称
nmcli device
表示设备,可以理解为我们的网卡,网卡需要被NM管理,然后才可以为设备配置一个或多个连接,同一个时刻,一个设备只能有一个连接与之对应。
查看所有设备列表
nmcli device
nmcli d
设备名称(网卡名),连接类型,连接状态,连接名称(连接标识)
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
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
(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
(ens160为我的网卡名)
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启用的服务。
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
1. 使用 `lspci` 命令以详细格式列出所有 PCI 设备,并通过过滤器查找以太网控制器:
lspci | grep Ethernet
2. 使用 `lshw` 命令以详细格式显示硬件信息,并查找以太网相关的信息:
sudo lshw -C network
3. 使用 `ifconfig` 命令列出所有网络接口,并查找以太网类型的接口:
ifconfig -a
4. 使用 `ip` 命令以详细格式显示网络接口信息,并查找以太网类型的接口:
ip link show