07_Linux网络配置与管理:命令与工具指南
本系列文章导航:01_Linux基础操作CentOS7学习笔记-CSDN博客
文章目录
- 网络配置与管理:命令与工具指南
- 1. `ping`命令
- 2. `ifconfig`命令
- 3. `ip`命令
- 4. `route`命令
- 5. `ip route`命令
- 6. `nslookup`命令
- 7. `nmcli`命令
- 8. `nmtui`命令
- 9. RHEL7修改网卡名
- 1. 修改网络(会话)配置文件中device 网卡名
- 2. 接下来禁用网卡命名规则。
- 3. 执行grub2-mkconfig -o /boot/grub2/grub.cfg命令生成更新grub配置参数
- 4. 添加udev网卡自定义命名规则
- 5. 重启系统验证成功
- 10. 主机路由持久化
在Linux系统中,网络配置和管理是一项基本而重要的任务。本文将详细介绍几种常用的网络配置命令和工具,包括ping、ifconfig、ip、route、ip route、nslookup、nmcli和nmtui,以及如何在RHEL7中修改网卡名和实现路由的持久化。
网络配置与管理:命令与工具指南
在Linux系统中,网络配置和管理是一项基本而重要的任务。本文将详细介绍几种常用的网络配置命令和工具,包括ping
、ifconfig
、ip
、route
、ip route
、nslookup
、nmcli
和nmtui
,以及如何在RHEL7中修改网卡名和实现路由的持久化。
1. ping
命令
ping
命令用于检测与另一个主机之间的网络连接。它使用ICMP协议发送请求回应信息,以测试网络连通性。
语法:
ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
参数说明:
-d
使用Socket的SO_DEBUG功能。-c <完成次数>
设置完成要求回应的次数。-f
极限检测。-i<间隔秒数>
指定收发信息的间隔时间。-I<网络界面>
使用指定的网络接口送出数据包。-l<前置载入>
设置在送出要求信息之前,先行发出的数据包。-n
只输出数值。-p<范本样式>
设置填满数据包的范本样式。-q
不显示指令执行过程,开头和结尾的相关信息除外。-r
忽略普通的Routing Table,直接将数据包送到远端主机上。-R
记录路由过程。-s<数据包大小>
设置数据包的大小。-t<存活数值>
设置存活数值TTL的大小。-v
详细显示指令的执行过程。-w <deadline>
在 deadline 毫秒后退出。-W <timeout>
在等待 timeout 毫秒后开始执行。
示例:
[root@lianghui ~]# ping -c 3 -i 0.1 -s10 www.baidu.com
PING www.a.shifen.com (14.119.104.189) 10(38) bytes of data.
18 bytes from 14.119.104.189 (14.119.104.189): icmp_seq=1 ttl=128
18 bytes from 14.119.104.189 (14.119.104.189): icmp_seq=2 ttl=128
18 bytes from 14.119.104.189 (14.119.104.189): icmp_seq=3 ttl=128--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 205ms -c 指定ping的次数
-i 指定ping间隔时间
-s 指定数据包的大小
-w 指定无法ping通时的wait时间长
2. ifconfig
命令
ifconfig
命令用于显示或设置网络设备。它可以设置网络设备的状态,或是显示目前的设置。
语法:
ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
参数说明:
add<地址>
设置网络设备IPv6的IP地址。del<地址>
删除网络设备IPv6的IP地址。down
关闭指定的网络设备。<hw<网络设备类型><硬件地址>
设置网络设备的类型与硬件地址。io_addr<I/O地址>
设置网络设备的I/O地址。irq<IRQ地址>
设置网络设备的IRQ。media<网络媒介类型>
设置网络设备的媒介类型。mem_start<内存地址>
设置网络设备在主内存所占用的起始地址。metric<数目>
指定在计算数据包的转送次数时,所要加上的数目。mtu<字节>
设置网络设备的MTU。netmask<子网掩码>
设置网络设备的子网掩码。tunnel<地址>
建立IPv4与IPv6之间的隧道通信地址。up
启动指定的网络设备。-broadcast<地址>
将要送往指定地址的数据包当成广播数据包来处理。-pointopoint<地址>
与指定地址的网络设备建立直接连线,此模式具有保密功能。-promisc
关闭或启动指定网络设备的promiscuous模式。[IP地址]
指定网络设备的IP地址。[网络设备]
指定网络设备的名称。
示例:
显示网络设备信息
[root@lianghui ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.100.133 netmask 255.255.255.0 broadcast 192.168.100.255inet6 fe80::20c:29ff:fece:3926 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:ce:39:26 txqueuelen 1000 (Ethernet)RX packets 5006 bytes 343174 (335.1 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 7122 bytes 13125107 (12.5 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1 (Local Loopback)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
启动关闭指定网卡
# ifconfig eth0 down
# ifconfig eth0 up
为网卡配置和删除IPv6地址
# ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //为网卡设置IPv6地址# ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //为网卡删除IPv6地址
用ifconfig修改MAC地址
# ifconfig eth0 down //关闭网卡
# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
# ifconfig eth0 up //启动网卡
# ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址
# ifconfig eth1 up //启动网卡
配置IP地址
# ifconfig eth0 192.168.1.56
//给eth0网卡配置IP地址
# ifconfig eth0 192.168.1.56 netmask 255.255.255.0
// 给eth0网卡配置IP地址,并加上子掩码
# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
启用和关闭ARP协议
# ifconfig eth0 arp //开启
# ifconfig eth0 -arp //关闭
设置最大传输单元
# ifconfig eth0 mtu 1500
//设置能通过的最大数据包大小为 1500 bytes
3. ip
命令
ip
命令用于显示和操作路由、网络设备、接口等网络配置。
语法格式:
ip [参数]
常用参数:
-4
基于IPv4网络协议。-6
基于IPv6网络协议。-f
强制使用指定协议族而不询问。-o
将每条信息用一行输出,不换行。-r
不使用IP地址,而是用域名。-s
显示执行过程详细信息。-V
显示版本信息。
示例:
显示当前的网络设备运行状态:
[root@lianghui ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000link/ether 00:0c:29:ce:39:26 brd ff:ff:ff:ff:ff:ff
显示当前的网络设备的详细运行状态:
[root@lianghui ~]# ip -s link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00RX: bytes packets errors dropped overrun mcast 0 0 0 0 0 0 TX: bytes packets errors dropped carrier collsns 0 0 0 0 0 0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000link/ether 00:0c:29:ce:39:26 brd ff:ff:ff:ff:ff:ffRX: bytes packets errors dropped overrun mcast 352098 5123 0 0 0 0 TX: bytes packets errors dropped carrier collsns 13133403 7198 0 0 0 0
显示当前核心路由表信息:
[root@lianghui ~]# ip route list
default via 192.168.100.2 dev eth0
169.254.0.0/16 dev eth0 scope link metric 1002
192.168.100.0/24 dev eth0 proto kernel scope link src 192.168.100.133
查看当前linux网络节点名:
# ip addr --- 完整命令 ip address show
[root@lianghui ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:ce:39:26 brd ff:ff:ff:ff:ff:ffinet 192.168.100.128/24 brd 192.168.100.255 scope global dynamic ens33valid_lft 1099sec preferred_lft 1099secinet6 fe80::20c:29ff:fece:3926/64 scope link valid_lft forever preferred_lft forever
4. route
命令
route
命令用于显示与设置路由信息。
语法格式:
route [参数] [域名或IP地址]
常用参数:
-A
设置网络地址类型。-C
显示内核路由缓存信息。-e
设置路由表显示格式。-F
设置内核FIB路由表参数。-n
显示数字形式的IP地址。-v
显示执行过程详细信息。-host
一个主机的路由表。-net
一个网络的路由表。
常用动作:
Add
增加指定的路由记录。Del
删除指定的路由记录。Target
目的网络或目的主机。gw
设置默认网关。mss
设置TCP的最大区块长度(MB)。window
指定通过路由表的TCP连接的窗口大小。dev
路由记录所表示的网络接口。
示例:
显示当前路由表信息:
[root@lianghui ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.100.2 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
添加一条指定的路由信息:
# route add -net 192.168.100.0 netmask 255.255.255.0 dev ens160
# route add default gw 192.168.50.2 默认(缺省)网关
# route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.100.2 --添加192.168.100.0网段的路由
# route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.100.2
等价
# route add default gw 192.168.100.2
删除一条指定的路由信息:
# route del -net 192.168.100.0 netmask 255.255.255.0 dev ens160
# route del -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.100.2 ---删除指定的一条路由规则
# route del -net 192.168.100.0 netmask 255.255.255.0 ----存在多条路由时,删除目标网段的第一条路由
添加和删除默认网关:
[root@linuxcool ~]# route add default gw 192.168.100.2
或者 # route add default gw 192.168.50.2 默认(缺省)网关
[root@linuxcool ~]# route del default gw 192.168.100.2
或者 # route del default 删除默认路由
5. ip route
命令
ip route
命令用于显示和操作Linux系统的路由表。它可以显示当前系统的路由信息,包括网络目标、下一跳网关、出口接口等。
以下是ip route
命令的常见用法和示例:
-
显示当前系统的路由表:
ip route show
-
添加一条路由规则:
ip route add <network>/<prefix> via <gateway> dev <interface>
示例:
ip route add 192.168.0.0/24 via 192.168.1.1 dev eth0
-
删除一条路由规则:
ip route del <network>/<prefix> via <gateway> dev <interface>
示例:
ip route del 192.168.0.0/24 via 192.168.1.1 dev eth0
-
修改一条路由规则:
ip route change <network>/<prefix> via <gateway> dev <interface>
示例:
ip route change 192.168.0.0/24 via 192.168.1.2 dev eth0
-
设置默认路由:
ip route add default via <gateway> dev <interface>
示例:
ip route add default via 192.168.1.1 dev eth0
-
清空路由表:
ip route flush
请注意,以上命令中的<network>/<prefix>
表示目标网络和子网掩码,<gateway>
表示下一跳网关的IP地址,<interface>
表示出口接口的名称。
更多关于ip route
命令的详细用法和选项,请参考相关文档或使用man ip-route
命令查看帮助信息。
6. nslookup
命令
nslookup
命令来自英文词组“Nameserver lookup”的缩写,其功能是用于查询域名服务器信息。nslookup命令能够用于查询指定域名所对应的DNS服务器信息(正向解析),亦可查询到指定DNS服务器上所绑定的域名信息(反向解析)。该命令有两种工作方式,其一是交互式,在命令行中执行nslookup命令后即可进入,一问一答的查询模式;其二是非交互式,直接在命令后追加域名或IP地址信息即可直接进行查询操作。
语法格式:
nslookup [参数] 域名或IP地址
常用参数:
exit
退出命令。help
显示帮助信息。ls
显示DNS域信息。root
设置默认服务器为DNS域名空间的根目录服务器。server
设置解析域名的服务器地址。set
设置查找运行方式的配置信息。set all
显示当前配置信息。set class
设置查询类。set debug
设置调试模式。set domain
设置默认DNS域名为指定名称。set port
设置默认TCP/UDP DNS域名服务器端口号。set retry
设置重试次数。set root
设置用于查询根服务器的名称。set srchlist
设置默认DNS域名或搜索列表。set timeout
设置等待请求答复的初始秒数。set type
设置查询的资源记录类型。set type=a
设置查询域名A记录。set type=mx
设置查询域名邮件交换记录。set type=soa
设置查询域名授权起始信息。
示例:
查看或测试当前DNS服务器地址:
PS:DNS服务用于查询 域名
方法一:<既能查询当前DNS服务,又能测试是否可用>
nslookup 命令如果没有需要安装包 # yum install -y bind-utils
[root@lianghui ~]# nslookup
> server --查看DNS服务器是谁
Default server: 192.168.100.2
Address: 192.168.100.2#53
> www.baidu.com ----测试当前DNS是否可以正常解析
Server: 192.168.100.2
Address: 192.168.100.2#53Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 120.232.145.144
Name: www.a.shifen.com
Address: 120.232.145.185
> exit ---退出
查询指定域名所对应的DNS服务器信息(非交互式):
[[root@lianghui ~]# nslookup www.baidu.com
方法二:<只能查你机器当前配置的DNS服务时谁?>
# cat /etc/resolv.conf - ----也可以通过查看DNS配置文件获知当前DNSsearch example.comnameserver 192.168.0.254,192.168.1.254
注意:
centos7上默认由 network 和 NetworkManager 2个服务共同管理,为了避免网络管理冲突导致故障,因此选择其中一个中服务即可,关闭、禁用另一个服务。
network : 推荐使用 配置文件 设置网络
NetworkManager : 推荐使用nmcli 命令去管理网络
固定永久配置:
1.NetworkManager图形界面
nmtui-connect 禁用或启用网卡
nmtui-edit 配置网卡
2.network修改配置文件的方法
修改IP配置需要执行的操作:
1.设置Ip获取的方式 BOOTPROTO=dhcp/static/none
none:不指定任何一种方式,如何有指定IPADDR则静态IP,否则自动获取
dhcp 自动获取
static 手动设置(静态)
如果设置为static 手动设置IP ,则需要设置以下选项
2.IP地址 IPADDR=
3.子网掩码 PREFIX= (5、6系统用 NETMASK= 新系统推荐使用 PREFIX 指定掩码位数)
4.网关 <连接外网需要> GATEWAY=
5.DNS服务器地址 <通过域名访问需要> DNS1= DNS2= DNS3=
DNS1=
network服务管理网络的配置文件,
网络配置文件: /etc/sysconfig/network-scripts/ifcfg-ens33 网卡配置文件名后缀建议与网卡名一致
以下是nmcli命令中常用参数与ifcfg文件中对应参数的表格:
nmcli参数 | ifcfg文件参数 | 描述 |
---|---|---|
connection.autoconnect | ONBOOT | 是否在系统启动时自动连接 |
connection.id | NAME | 连接名称 |
connection.type | TYPE | 连接类型 |
connection.interface | DEVICE | 网卡接口名称 |
ipv4.method | BOOTPROTO | IPv4配置方式 |
ipv4.addresses | IPADDR | IPv4地址 |
ipv4.gateway | GATEWAY | 默认网关 |
ipv4.dns | DNS1, DNS2 | DNS服务器地址 |
ipv4.dns-search | DOMAIN | DNS搜索域 |
ipv4.dns-options | OPTIONS | DNS选项 |
ipv6.method | IPV6_AUTOCONF, DHCPv6 | IPv6配置方式 |
ipv6.addresses | IPV6ADDR | IPv6地址 |
ipv6.gateway | IPV6_DEFAULTGW | IPv6默认网关 |
ipv6.dns | IPV6_AUTOCONF_DNS, DHCPv6 | IPv6 DNS服务器地址 |
ipv6.dns-search | IPV6_AUTOCONF_DNS_SEARCH | IPv6 DNS搜索域 |
ipv6.dns-options | IPV6_AUTOCONF_DNS_OPTIONS | IPv6 DNS选项 |
ipv6.dhcp-duid | DHCPV6_CLIENT_DUID | DHCPv6客户端DUID |
connection.autoconnect-priority | AUTOCONNECT_PRIORITY | 自动连接优先级 |
connection.autoconnect-retries | AUTOCONNECT_RETRIES | 自动连接重试次数 |
请注意,不同版本的Linux发行版和NetworkManager版本可能会有一些差异,因此某些参数可能会有所不同。需根据具体情况参考相关文档或使用man nm-settings
命令查看详细信息。
7. nmcli
命令
nmcli
命令来自英文词组“NetworkManager command-line”的缩写,其功能是用于基于命令行配置网卡参数。nmcli与nmtui命令工具配置过的参数会直接写入到网卡服务配置文件中,永久生效。
语法格式:
nmcli [参数] [网卡名]
常用参数:
-f
设置要显示的字段名。-h
显示帮助信息。-p
美观输出信息。-t
简洁输出信息。-v
显示版本信息。
示例:
显示所有网络连接的列表:
[root@linuxcool ~]# nmcli con show
NAME UUID TYPE DEVICE
ens160 1136e9fc-4549-4737-b9e5-86e8250f2b5d ethernet ens160
virbr0 8065a10b-356e-439a-a55f-ccb965059640 bridge virbr0
显示所有网络连接的详细信息:
[root@linuxcool ~]# nmcli device show
GENERAL.DEVICE: ens160
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 00:0C:29:22:31:9C
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ens160
………………省略部分输出信息………………
对指定网卡创建一个网络会话连接,网卡参数由DHCP服务获取:
[root@linuxcool ~]# nmcli connection add con-name house type ethernet ifname ens160
Connection 'house' (d848242a-4bdf-4446-9079-6e12ab5d1f15) successfully added.
对指定网卡创建一个网络会话连接,网卡参数由手动指定配置:
[root@linuxcool ~]# nmcli connection add con-name company ifname ens160 autoconnect no type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1
Connection 'company' (6ac8f3ad-0846-42f4-819a-e1ae84f4da86) successfully added.
对一个指定的网络会话连接添加DNS地址参数:
[root@linuxcool ~]# nmcli connection modify company ipv4.dns 8.8.8.8
实例
- 创建会话"default",使用DHCP获取IP,并自动连接网络,网卡名为ens33:
nmcli connection add con-name default type ethernet ifname ens33 autoconnect yes
- 创建会话"static",指定IP和网关,但不自动连接网络:
nmcli connection add con-name static type ethernet ifname ens33 autoconnect no ipv4.addresses 192.168.100.111/24 ipv4.gateway 192.168.100.254
- 切换到静态IP的会话"static":
nmcli connection up static
- 切换回使用DHCP获取IP的会话"default":
nmcli connection up default
- 查看当前存在的会话:
nmcli connection show
- 查看会话"static"的详细配置信息:
nmcli connection show "static"
- 查看当前活动的会话:
nmcli connection show --active
修改现有会话的步骤如下:
- 关闭会话"static"的自动连接:
nmcli con modify static connection.autoconnect no
- 修改会话"static"的DNS服务器地址:
nmcli con modify static ipv4.dns "8.8.8.8"
- 添加第二个DNS服务器地址:
nmcli con modify static +ipv4.dns "8.8.4.4"
- 更换静态IP地址和默认网关:
nmcli con modify static ipv4.addresses "192.168.0.120/24" ipv4.gateway "192.168.0.1"
- 添加第二个IP地址:
nmcli con modify static +ipv4.addresses "192.168.0.130/24"
注意:对于修改的配置,nmcli会自动保存为配置文件,并在重启后仍然有效。但如果更改了配置,需要重新激活会话以使新配置生效:
nmcli con up "static"
8. nmtui
命令
nmtui
命令来自英文词组“NetworkManager TUI”的缩写,其功能是用于管理网卡配置参数。用户可以使用nmtui命令在终端下调出类图形界面,使用方向和回车键即可进行控制,对于不会使用nmcli命令的新手管理员来讲十分友好。
语法格式:
nmtui
常用选项:
Activate a connection
激活网卡。Edit a connection
编辑网卡。Quit
退出工具。Set system hostname
设置主机名。
示例:
进入网卡参数配置界面:
[root@linuxcool ~]# nmtui
9. RHEL7修改网卡名
注意:新手在修改网卡时可能存在误操作,建议vmware建立快照再进行相关改动
工作中可能涉及修改网卡的需求:
1.在RHEL/centos7中接口名称自动基于固件、拓扑结构和位置信息来确定,因此新的接口名称难以阅读,在系统安装完成后网卡使用起来较为不便,因此我们将当前的网卡名ens33称改为熟悉的eth0
2.当前管理多台服务器时,而多台服务器的网卡命名各不相同,造成批量管理的麻烦,因此修改为某个统一的名称
[root@lianghui ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.100.128 netmask 255.255.255.0 broadcast 192.168.100.255inet6 fe80::20c:29ff:fece:3926 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:ce:39:26 txqueuelen 1000 (Ethernet)RX packets 21359 bytes 28047624 (26.7 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 3374 bytes 282920 (276.2 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
1. 修改网络(会话)配置文件中device 网卡名
[root@lianghui ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
DEVICE=eth0
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=67fd3dfb-b036-48e2-b1a2-1ad2723188e3
ONBOOT=yes
HWADDR=00:0c:29:ce:39:26 如果改名启动失败报链接错误 指定正确MAC地址
2. 接下来禁用网卡命名规则。
此功能通过/etc/default/grub文件来控制,要禁用此次功能,在文件中加入"net.ifnames=0 biosdevname=0"即可
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0 "
GRUB_DISABLE_RECOVERY="true"
3. 执行grub2-mkconfig -o /boot/grub2/grub.cfg命令生成更新grub配置参数
[root@lianghui ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-9aa4bea4400741d596c5b60c2e947f0e
Found initrd image: /boot/initramfs-0-rescue-9aa4bea4400741d596c5b60c2e947f0e.img
done
4. 添加udev网卡自定义命名规则
在/etc/udev/rules.d目录中创建一个网卡规则70-persistent-net.rules文件。在文件中写入以下参数:
SUBSYSTEM==“net”,ACTION==“add”,DRIVERS==“?",ATTR{address}“需要修改名称的网卡MAC地址”,ATTR{type}“1” ,KERNEL=="eth”,NAME=“eth0”
[root@lianghui ~]# vim /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:0c:29:ce:39:26",ATTR{type}=="1" ,KERNEL=="eth*",NAME="eth0"
5. 重启系统验证成功
[root@lianghui ~]# reboot
[root@lianghui ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.100.128 netmask 255.255.255.0 broadcast 192.168.100.255inet6 fe80::20c:29ff:fece:3926 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:ce:39:26 txqueuelen 1000 (Ethernet)RX packets 53 bytes 7451 (7.2 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 55 bytes 7663 (7.4 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1 (Local Loopback)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
10. 主机路由持久化
按照以下步骤创建对应网卡的路由配置文件并添加路由规则:
- 打开路由配置文件:
[root@lianghui ~]# vim /etc/sysconfig/network-scripts/route-eth0
- 在文件中添加路由规则,使用与
ip route add
命令相同的语法。例如:
14.0.0.0/8 via 192.168.100.2 dev eth0
183.3.0.0/16 via 192.168.100.2 dev eth0
113.0.0.0/8 via 192.168.100.2 dev eth0
-
保存并关闭文件。
-
重启网络服务以使配置文件生效:
[root@lianghui ~]# systemctl restart network
- 使用
route -n
命令验证路由规则是否成功添加。您应该能够看到添加的路由规则以及默认路由等信息。
[root@lianghui ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.100.2 0.0.0.0 UG 0 0 0 eth0
14.0.0.0 192.168.100.2 255.0.0.0 UG 0 0 0 eth0
113.0.0.0 192.168.100.2 255.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
183.3.0.0 192.168.100.2 255.255.0.0 UG 0 0 0 eth0
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
相关文章:

07_Linux网络配置与管理:命令与工具指南
本系列文章导航:01_Linux基础操作CentOS7学习笔记-CSDN博客 文章目录 网络配置与管理:命令与工具指南1. ping命令2. ifconfig命令3. ip命令4. route命令5. ip route命令6. nslookup命令7. nmcli命令8. nmtui命令9. RHEL7修改网卡名1. 修改网络(会话)配置…...

首个统一生成和判别任务的条件生成模型框架BiGR:专注于增强生成和表示能力,可执行视觉生成、辨别、编辑等任务
BiGR是一种新型的图像生成模型,它可以生成高质量的图像,同时还能有效地提取图像特征。该方法是通过将图像转换为一系列的二进制代码来工作,这些代码就像是图像的“压缩版”。在训练时会遮住一些代码,然后让模型学习如何根据剩下的…...

【Java知识】Java进阶-服务发现机制SPI
文章目录 SPI概述SPI 工作原理 ServiceLoader代码展示简化的 ServiceLoader 类关键点解释使用示例1. 定义服务接口2. 实现服务提供者3. 配置文件4. 加载服务提供者 总结 SPI使用场景1. 数据库驱动2. 日志框架3. 图像处理4. 加密算法5. 插件系统6. 缓存机制示例代码1. 定义服务接…...

多模态技术的协同表现:从文本生成、语音合成到口型同步综合测评
本文是针对多模态对话系统核心技术栈的使用效果和网络测评整理。 测评内容基于用户体验,侧重于从使用者角度出发,讨论实际操作中的体验感受,如技术的易用性、输出效果如文本的连贯性、语音的自然度、口型同步的准确性等。不涉及具体算法架构…...

Java最全面试题->Java主流框架->Srping面试题
Spring面试题 下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图 哪里不会点哪里 谈谈你对 Spring 的理解? Spring 是一个开源框架,为简化企业级应用开发而生。Spring 可以是使简单的 JavaBean 实现以前只有 EJB 才能实现的功能。…...

参编国家标准需要注意的事项有哪些?
1. 项目相关性: • 选择与自身企业产品、业务或专业领域紧密相关的国家标准进行参编。这样不仅能确保企业在标准制定过程中发挥自身的优势和专长,使参编工作更有实际意义和价值,也有利于企业将标准更好地应用于自身的生产经营活动,…...

【Dash】feffery_antd_components 按钮组件的应用
一、feffery_antd_componenet 中的 AntdFloatButton 和 AntdFloatButtonGroup AntdFloatButton 和 AntdFloatButtonGroup 是两个用于创建悬浮按钮和悬浮按钮组的组件。 AntdFloatButton 是单个悬浮按钮组件,它提供了多种属性来定义按钮的外观及行为。AntdFloatBut…...

01 springboot-整合日志(logback-config.xml)
logback-config.xml 是一个用于配置 Logback 日志框架的 XML 文件,通常位于项目的 classpath 下的根目录或者 src/main/resources 目录下。 Logback 提供了丰富的配置选项,可以满足各种不同的日志需求。需要根据具体情况进行配置。 项目创建࿰…...

Java最全面试题->计算机基础面试题->计算机网络面试题
计算机网络 下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图 哪里不会点哪里 1.说一下TCP/IP四层模型 TCP/IP协议是美国国防部高级计划研究局为实现ARPANET互联网而开发的。 网络接口层ÿ…...

VSCode编译器改为中文
1. 通过快捷键设置中文 打开命令面板:按住键盘上的CtrlShiftP组合键,打开命令面板。 输入并设置语言:在命令面板中输入Configure Display Language。 点击Configure Display Language选项。 在弹出的语言选择列表中,选择zh-cn…...

前端开发设计模式——状态模式
目录 一、状态模式的定义和特点 二、状态模式的结构与原理 1.结构: 2.原理: 三、状态模式的实现方式 四、状态模式的使用场景 1.按钮的不同状态: 2.页面加载状态: 3.用户登录状态: 五、状态模式的优点 1.提…...

特种作业操作烟花爆竹试题分享
1.(单选题)职业卫生研究的是人类从事各种职业劳动过程中的( )。 A.健康问题 B.环境问题 C.卫生问题 答案:C 2.(单选题)安全生产事关人民群众的( )安全,事关改革发展和…...

实现prometheus+grafana的监控部署
直接贴部署用的文件信息了 kubectl label node xxx monitoringtrue 创建命名空间 kubectl create ns monitoring 部署operator kubectl apply -f operator-rbac.yml kubectl apply -f operator-dp.yml kubectl apply -f operator-crd.yml # 定义node-export kubectl app…...

确保Spring Boot定时任务只执行一次方案
在Spring Boot项目中,确保定时任务只执行一次是一个常见的需求。这种需求可以通过多种方式来实现,以下是一些常见的方法,它们各具特点,可以根据项目的实际需求来选择最合适的方法。 1. 使用Scheduled注解并设置极大延迟 一种简单…...

【Python数据可视化】利用Matplotlib绘制美丽图表!
【Python数据可视化】利用Matplotlib绘制美丽图表! 数据可视化是数据分析过程中的重要步骤,它能直观地展示数据的趋势、分布和相关性,帮助我们做出明智的决策。在 Python 中,Matplotlib 是最常用的可视化库之一,它功能…...

【最新通知】2024年Cisco思科认证CCNA详解
CCNA现在涵盖安全性、自动化和可编程性。该计划拥有一项涵盖IT职业基础知识的认证,包括一门考试和一门培训课程,助您做好准备。 CCNA培训课程和考试最近面向最新技术和工作岗位进行了重新调整,为您提供了向任何方向发展事业所需的基础。CCNA认…...

监控内容、监控指标、监控工具大科普
在现代信息技术领域,监控技术扮演着至关重要的角色。它帮助我们实时了解系统、网络、应用以及环境的状态,确保它们的安全、稳定和高效运行。以下是对监控内容、监控指标和监控工具的详细科普。 一、监控内容 监控内容是指监控系统所关注和记录的具体信…...

生成文件夹 - python 实现
生成文件夹保存图片和文本等信息。 代码具体实现如下: #-*-coding:utf-8-*- # date:2021-04-13 # Author: DataBall - XIAN # Function: 生成文件夹import os if __name__ "__main__":path "./dataset"if not os.path.exists(path): # 如果…...

快速了解学会python基础语言及IDLE 提供的常用快捷键
😀前言 本篇博文是关于python的基础语言介绍及IDLE 提供的常用快捷键,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的…...

【python】OpenCV—Sort the Point Set from Top Left to Bottom Right
文章目录 1、功能描述2、代码实现3、效果展示4、更多例子5、参考 1、功能描述 给出一张图片,里面含有各种图形,取各种图形的中心点,从左到右从上到下排序 例如 2、代码实现 import cv2 import numpy as npdef process_img(img):img_gray c…...

LeetCode 1493.删掉一个元素以后全为1的最长子数组
题目: 给你一个二进制数组 nums ,你需要从中删掉一个元素。 请你在删掉元素的结果数组中,返回最长的且只包含 1 的非空子数组的长度。 如果不存在这样的子数组,请返回 0 。 思路:不定长滑动窗口,将问题…...

php常用设计模式之工厂模式
引言 在日常开发中,我们一些业务场景需要用到发送短信通知。然而实际情况考虑到不同厂商之间的价格、实效性、可能会出现的情况等 我们的业务场景往往会接入多个短信厂商来保证我们业务的正常运行,而不同的短信厂商(如阿里云短信、腾讯云短信…...

通用软件版本标识
软件版本标识:了解不同的版本类型 在软件开发和发布过程中,版本号和标识扮演着重要的角色。它们不仅帮助开发者追踪软件的演变,还让用户了解软件的稳定性和功能。以下是一些常见的软件版本标识,以及它们的含义和用途。 Alpha&am…...

(计算机毕设)基于SpringBoot的就业平台开题报告
一、立题依据(国内外研究进展或选题背景、研究意义等) 国内外研究进展或选题背景 在全球化的大背景下,就业问题一直是各国政府和社会各界关注的焦点。随着互联网技术的普及和发展,网络招聘已成为求职者和企业招聘的主要渠道。据相关数据显示࿰…...

STM32G4系列MCU的ADC模块标定方法和采样时间
目录 概述 1 ADC模块标定 1.1 功能介绍 1.2 软件程序校准ADC 1.2.1 标定步骤 1.2.2 标定时序框图 1.3 软件程序重新注入校准因子到ADC 1.3.1 标定步骤 1.3.2 更新ADC校准因子 1.4 用单个ADC转换单端和差分模拟输入 1.4.1 标定流程 1.4.2 混合单端和差分通道 2 通道…...

NVIDIA Jetson支持的神经网络加速的量化平台
NVIDIA Jetson支持的神经网络加速的量化工具、技术 NVIDIA Jetson 是专为边缘计算和嵌入式系统设计的高性能计算平台,它支持多种深度学习模型的部署和推理。对于神经网络加速的量化平台,Jetson 支持以下技术和工具: TensorRT:Ten…...

MySQL 免密登录的几种配置方式
文章目录 MySQL 免密登录的几种配置方式使用操作系统用户实现免密登录具体步骤:Step 1: 修改 MySQL 配置文件Step 2: 重启 MySQL 服务Step 3: 使用系统用户登录 MySQL优点:缺点: 使用 mysql_config_editor 配置免密文件具体步骤:S…...

html全局属性、框架标签
常用的全局属性: 属性名含义id 给标签指定唯一标识,注意:id是不能重复的。 作用:可以让label标签与表单控件相关联;也可以与css、JavaScript配合使用。 注意:不能再以下HTML元素中使用:<hea…...

ARL 灯塔 | CentOS7 — ARL 灯塔搭建流程(Docker)
关注这个工具的其它相关内容:自动化信息收集工具 —— ARL 灯塔使用手册 - CSDN 博客 灯塔,全称:ARL 资产侦察灯塔系统,有着域名资产发现和整理、IP/IP 段资产整理、端口扫描和服务识别、WEB 站点指纹识别、资产分组管理和搜索等等…...

抖音列表页采集-前言
准备工作: 1.关于selenium介绍: python自动化入门的话,selenium绝对是最方便的选择,基本逻辑即为:程序模拟人的行为操作浏览器,这样的操作需要借用浏览器驱动,我选用的是chrome浏览器ÿ…...