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

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

一、实践环境检查

1.检查系统版本

[root@jeven ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
AI 代码解读

2.检查系统内核版本

[root@jeven ~]# uname -r 
3.10.0-957.el7.x86_64
AI 代码解读

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
AI 代码解读

二、网卡子接口介绍

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
AI 代码解读

2.加载802.1q 模块

modprobe 8021q           ### 加载模块
AI 代码解读

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

[root@jeven ~]#  lsmod | grep 8021q    
8021q                  33208  0 
garp                   14384  1 8021q
mrp                    18542  1 8021q
AI 代码解读

四、配置网卡子接口

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
AI 代码解读
  • 修改物理网卡配置文件
[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
AI 代码解读
  • 重启网卡
    ```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]#
AI 代码解读

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
AI 代码解读

4.重启网卡

[root@jeven network-scripts]# service network restart 
Restarting network (via systemctl):                        [  OK  ]
AI 代码解读

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]#
AI 代码解读

五、测试网卡子接口

在其他服务器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
AI 代码解读
相关实践学习
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
目录
打赏
0
1
0
0
1263
分享
相关文章
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
94 24
|
9天前
|
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
65 19
Linux系统之su命令的基本使用
Linux系统之su命令的基本使用
71 2
Linux系统之su命令的基本使用
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
73 17
如何在Linux中更改主机名?修改主机名最新方法
本期教程将指导您如何在Linux系统中更改主机名。主机名是Linux系统的常用功能,用于识别服务器,帮助区分不同服务器,并与网络进程和其他应用程序协同工作。教程涵盖显示当前主机名的方法(通过`hostname`命令),以及在CentOS 7、Debian 9和Ubuntu 16.04及以上版本中更改主机名的步骤(使用`hostnamectl set-hostname`命令)。对于其他Linux版本,可编辑`/etc/hostname`文件实现更改。记得重启相关服务或服务器以使更改生效!
128 12
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
55 10

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等