Linux系统之网卡子接口配置方法

简介: Linux系统之网卡子接口配置方法

一、实践环境检查

1.检查系统版本

[root@jeven ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)

2.检查系统内核版本

[root@jeven ~]# uname -r 
3.10.0-957.el7.x86_64

3.检查本地IP地址

[root@jeven ~]# ifconfig |grep -C 5 ens33
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.166  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::8a83:7297:7cb8:9934  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4f:3c:68  txqueuelen 1000  (Ethernet)
        RX packets 1859420  bytes 2414510963 (2.2 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0

二、网卡子接口介绍

1.网卡子接口简介

在日常的运维工作当中,我们有时候需要在一块物理网卡上配置多个IP地址,这就是网卡子接口的概念。

2.网卡子接口的优点

打破物理网卡接口数量的限制,可以在一个接口中实现多个VLAN间的路由和通信。

3.网卡子接口的缺点

由于是多个子接口共用主接口,会让子接口性能比单个物理接口差,在网络流量过大,网络繁忙,会造成通信及网络流量瓶颈。

三 加载802.1q 模块

1.查看系统802.1q 模块信息

查看系统802.1q 模块信息

[root@jeven ~]# modinfo 8021q
filename:       /lib/modules/3.10.0-957.el7.x86_64/kernel/net/8021q/8021q.ko.xz
version:        1.8
license:        GPL
alias:          rtnl-link-vlan
retpoline:      Y
rhelversion:    7.6
srcversion:     931E6349BAB0ACE4D4A3A50
depends:        mrp,garp
intree:         Y
vermagic:       3.10.0-957.el7.x86_64 SMP mod_unload modversions 
signer:         CentOS Linux kernel signing key
sig_key:        B7:0D:CF:0D:F2:D9:B7:F2:91:59:24:82:49:FD:6F:E8:7B:78:14:27
sig_hashalgo:   sha256

2.加载802.1q 模块

modprobe 8021q           ### 加载模块

3.检查802.1q 模块加载状态

[root@jeven ~]#  lsmod | grep 8021q    
8021q                  33208  0 
garp                   14384  1 8021q
mrp                    18542  1 8021q

四、配置网卡子接口

1.设置静态IP地址

将物理网卡地址由DHCP获取,设置为静态IP地址。

  • 进入网卡配置文件目录
[root@jeven ~]# cd /etc/sysconfig/network-scripts/
[root@jeven network-scripts]# ls
ifcfg-ens33      ifdown-bnep  ifdown-ipv6  ifdown-routes    ifdown-tunnel  ifup-eth   ifup-isdn   ifup-ppp     ifup-TeamPort     network-functions
ifcfg-ens33.bak  ifdown-eth   ifdown-isdn  ifdown-sit       ifup           ifup-ib    ifup-plip   ifup-routes  ifup-tunnel       network-functions-ipv6
ifcfg-lo         ifdown-ib    ifdown-post  ifdown-Team      ifup-aliases   ifup-ippp  ifup-plusb  ifup-sit     ifup-wireless
ifdown           ifdown-ippp  ifdown-ppp   ifdown-TeamPort  ifup-bnep      ifup-ipv6  ifup-post   ifup-Team    init.ipv6-global
  • 修改物理网卡配置文件
[root@jeven network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPADDR=192.168.3.166
NETMASK=255.255.255.0
GATEWAY=192.168.3.254
DNS1=192.168.3.254
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ba415981-963e-4130-984a-8dd764f4bb70
DEVICE=ens33
ONBOOT=yes
ZONE=public
  • 重启网卡
    ```bash
    [root@jeven network-scripts]# service network restart
    Restarting network (via systemctl): [ OK ]
    [root@jeven network-scripts]#


## 2.创建ens33:0配置文件

>将ifcfg-ens33配置文件拷贝并改名为ifcfg-ens33:0文件



```bash
[root@jeven network-scripts]# ls
ifcfg-ens33      ifdown-bnep  ifdown-ipv6  ifdown-routes    ifdown-tunnel  ifup-eth   ifup-isdn   ifup-ppp     ifup-TeamPort     network-functions
ifcfg-ens33.bak  ifdown-eth   ifdown-isdn  ifdown-sit       ifup           ifup-ib    ifup-plip   ifup-routes  ifup-tunnel       network-functions-ipv6
ifcfg-lo         ifdown-ib    ifdown-post  ifdown-Team      ifup-aliases   ifup-ippp  ifup-plusb  ifup-sit     ifup-wireless
ifdown           ifdown-ippp  ifdown-ppp   ifdown-TeamPort  ifup-bnep      ifup-ipv6  ifup-post   ifup-Team    init.ipv6-global
[root@jeven network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@jeven network-scripts]# ls
ifcfg-ens33      ifdown       ifdown-ippp  ifdown-ppp     ifdown-TeamPort  ifup-bnep  ifup-ipv6   ifup-post    ifup-Team      init.ipv6-global
ifcfg-ens33:0    ifdown-bnep  ifdown-ipv6  ifdown-routes  ifdown-tunnel    ifup-eth   ifup-isdn   ifup-ppp     ifup-TeamPort  network-functions
ifcfg-ens33.bak  ifdown-eth   ifdown-isdn  ifdown-sit     ifup             ifup-ib    ifup-plip   ifup-routes  ifup-tunnel    network-functions-ipv6
ifcfg-lo         ifdown-ib    ifdown-post  ifdown-Team    ifup-aliases     ifup-ippp  ifup-plusb  ifup-sit     ifup-wireless
[root@jeven network-scripts]#

3.修改ens33:0文件

修改ifcfg-ens33:0文件,内容如下:

[root@jeven network-scripts]# cat ifcfg-ens33:0
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.3.33
NETMASK=255.255.255.0
GATEWAY=192.168.3.254
DNS1=192.168.3.254
DEVICE=ens33:0
ONBOOT=yes
ZONE=public

4.重启网卡

[root@jeven network-scripts]# service network restart 
Restarting network (via systemctl):                        [  OK  ]

5.查看子接口IP地址

查看子接口IP地址,可以看到网卡子接口配置已生效。

[root@jeven network-scripts]# ifconfig |grep ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
[root@jeven network-scripts]# ifconfig |grep -C 5 ens33
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.166  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::8a83:7297:7cb8:9934  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4f:3c:68  txqueuelen 1000  (Ethernet)
        RX packets 1862362  bytes 2414734860 (2.2 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 850234  bytes 175051446 (166.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.33  netmask 255.255.255.0  broadcast 192.168.3.255
        ether 00:0c:29:4f:3c:68  txqueuelen 1000  (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
[root@jeven network-scripts]#

五、测试网卡子接口

在其他服务器ping网卡子接口的IP地址进行测试连通性。

[root@server001 ~]# ifconfig  |grep ens33
[root@server001 ~]# ifconfig  |grep eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
[root@server001 ~]# ifconfig  |grep -C 5eth0
grep: 5eth0: invalid context length argument
[root@server001 ~]# ifconfig  |grep -C5 eth0
        RX packets 294460  bytes 34353514 (32.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 252317  bytes 47136565 (44.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.158  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fd58:bc95:d4fb:0:38ab:86a1:2ba0:f65d  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::7b2d:77fb:1708:7edb  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:a7:02:31  txqueuelen 1000  (Ethernet)
        RX packets 3760871  bytes 600897760 (573.0 MiB)
[root@server001 ~]# ping 192.168.3.33 -c 12
PING 192.168.3.33 (192.168.3.33) 56(84) bytes of data.
64 bytes from 192.168.3.33: icmp_seq=1 ttl=64 time=108 ms
64 bytes from 192.168.3.33: icmp_seq=2 ttl=64 time=2.91 ms
64 bytes from 192.168.3.33: icmp_seq=3 ttl=64 time=2.64 ms
64 bytes from 192.168.3.33: icmp_seq=4 ttl=64 time=2.72 ms
64 bytes from 192.168.3.33: icmp_seq=5 ttl=64 time=2.94 ms
64 bytes from 192.168.3.33: icmp_seq=6 ttl=64 time=2.93 ms
64 bytes from 192.168.3.33: icmp_seq=7 ttl=64 time=2.85 ms
64 bytes from 192.168.3.33: icmp_seq=8 ttl=64 time=2.91 ms
64 bytes from 192.168.3.33: icmp_seq=9 ttl=64 time=2.86 ms
64 bytes from 192.168.3.33: icmp_seq=10 ttl=64 time=3.20 ms
64 bytes from 192.168.3.33: icmp_seq=11 ttl=64 time=3.12 ms
64 bytes from 192.168.3.33: icmp_seq=12 ttl=64 time=3.15 ms

--- 192.168.3.33 ping statistics ---
12 packets transmitted, 12 received, 0% packet loss, time 11016ms
rtt min/avg/max/mdev = 2.647/11.756/108.788/29.256 ms
相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
16天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
57 3
|
16天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
48 2
|
10天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
15 3
|
18天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
48 9
|
16天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
53 3
|
19天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
36 6
|
19天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
55 6
|
20天前
|
机器学习/深度学习 自然语言处理 Linux
Linux 中的机器学习:Whisper——自动语音识别系统
本文介绍了先进的自动语音识别系统 Whisper 在 Linux 环境中的应用。Whisper 基于深度学习和神经网络技术,支持多语言识别,具有高准确性和实时处理能力。文章详细讲解了在 Linux 中安装、配置和使用 Whisper 的步骤,以及其在语音助手、语音识别软件等领域的应用场景。
52 5
|
20天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
34 5
|
20天前
|
监控 网络协议 算法
Linux内核优化:提升系统性能与稳定性的策略####
本文深入探讨了Linux操作系统内核的优化策略,旨在通过一系列技术手段和最佳实践,显著提升系统的性能、响应速度及稳定性。文章首先概述了Linux内核的核心组件及其在系统中的作用,随后详细阐述了内存管理、进程调度、文件系统优化、网络栈调整及并发控制等关键领域的优化方法。通过实际案例分析,展示了这些优化措施如何有效减少延迟、提高吞吐量,并增强系统的整体健壮性。最终,文章强调了持续监控、定期更新及合理配置对于维持Linux系统长期高效运行的重要性。 ####