Centos7.6配置802.1Q VLAN 标记或网卡子接口
参考地址:http://www.hellokvm.com/?p=311
第一步加载8021q模块
[root@bogon net]# modprobe --first-time 8021q
[root@bogon net]# lsmod | grep 8021
8021q 33208 0
garp 14384 1 8021q
mrp 18542 1 8021q
[root@bogon net]#
第二步创建子接口文件
在 /etc/sysconfig/network-scripts/
目录中配置 VLAN 接口。配置文件名应为上级接口加上 .
字符再加上 VLAN ID 号码。例如:如果 VLAN ID 为 100,上级接口为 ens33,那么配置文件名应为 ifcfg-ens33.100
[root@bogon network-scripts]# vim ifcfg-ens33.100
DEVICE=ens33.100
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
VLAN=yes
最后一步重启网络使其生效。
[root@bogon network-scripts]# systemctl restart network
注:如果需要在同一接口 eth0 中配置第二个 VLAN,比如 VLAN ID 200,请添加名为 ens33.200
的新文件,文件中包含 VLAN 配置详情。
知识补充:
各种模块文件已经存在 /lib/modules/3.10.0-957.el7.x86_64/kernel/ 中,用的时候只需要加载即可
vlan信息文件存在 /proc/net/vlan/ 这里
【Centos7】配置网卡之添加vlan tag(vlan 标签)
参考地址:https://blog.csdn.net/weixin_44353106/article/details/103682208
Vlan的作用我在这里不详细展开说明,有兴趣的同学可以自行了解,很多时候,我们需要将服务器或者客户端或者路由器加入同一个vlan中,因此需要统一的vlan标签,即vlan tag。这里记录一下曾经踩过的小坑,如何给Centos7添加vlan tag。
话不多说,我们的目的是什么?该在哪里实施呢?
答:目的是在Linux上添加vlan tag,因为vlan是计算机网络协议的一部分,所以应当在网卡配置上进行相应的操作。而且如果我们的Linux上有多张网卡,就可以设置多个vlan,建议不熟悉的同学先拿虚拟机创建Linux试试手。
假设我们的目的是给网卡添加vlan tag 为 1
su+root密码进入root权限下
1.ip addr 查看网卡信息,确定要添加vlan tag的网卡,以下图为例,我们以网卡 eno33559296为目标,准备添加vlan tag,这是未添加前的网卡配置。
2.cd /etc/sysconfig/network-scripts/进入网卡配置文件的目录,ls找到对应网卡
3.vi ifcfg-eno33559296进行编辑
改变前:
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno33559296
UUID=23b03b79-90f2-495f-a4b7-ad9d7411e913
DEVICE=eno33559296
ONBOOT=yes
IPADDR=100.0.0.1
NETMASK=255.255.255.0
HWADDR=00:0c:29:a9:34:01
改变后
删除
IPADDR=100.0.0.1
NETMASK=255.255.255.0
增加
PROXY_METHOD=none
BROWSER_ONLY=no
即
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno33559296
UUID=23b03b79-90f2-495f-a4b7-ad9d7411e913
DEVICE=eno33559296
ONBOOT=yes
PROXY_METHOD=none
BROWSER_ONLY=no
HWADDR=00:0c:29:a9:34:01
ESC + : wq 保存信息退出
4.查询是否有802.1Q模块,如下所示是表示有的
[root@localhost network-scripts]# lsmod |grep 8021q
8021q 28808 0
garp 14384 1 8021q
mrp 18542 1 8021q
5.接着需要创建一个新的文件,命名为
[root@localhost network-scripts]# vi ifcfg-eno33559296.1
这个后面的.1是一个命名规范,代表vlan tag,如果vlan tag为40,则命名为
vi ifcfg-eno33559296.40。配置信息
DEVICE=eno33559296.1
BOOTPROTO=none
ONBOOT=yes
IPADDR=150.0.0.40
PREFIX=24
NETWORK=150.0.0.0
VLAN=yes
保存退出
6.执行命令
[root@localhost network-scripts]# service NetworkManager stop
Redirecting to /bin/systemctl stop NetworkManager.service
当多个网卡配置不同的vlan tag时,这个命令可以防止冲突,否则会导致无法网卡无法重启成功!!!
7.执行命令
ip link add link eno33559296 name eno33559296.1 type vlan id 1
8.重启网卡成功
[root@localhost network-scripts]# service network restart
Restarting network (via systemctl):
[ 确定 ]
9.重启输入 ip addr查看网卡配置
代表在某个网卡上添加vlan tag至此添加成功,我们需要实验一下是否真的有效,ping一下同一vlan tag下的其他设备,交换机也好,服务器也好
[root@localhost network-scripts]# ping 150.0.0.15
PING 150.0.0.15 (150.0.0.15) 56(84) bytes of data.
64 bytes from 150.0.0.15: icmp_seq=1 ttl=64 time=2.48 ms
64 bytes from 150.0.0.15: icmp_seq=2 ttl=64 time=2.56 ms
64 bytes from 150.0.0.15: icmp_seq=3 ttl=64 time=2.82 ms
64 bytes from 150.0.0.15: icmp_seq=4 ttl=64 time=2.31 ms
64 bytes from 150.0.0.15: icmp_seq=5 ttl=64 time=2.45 ms
64 bytes from 150.0.0.15: icmp_seq=6 ttl=64 time=1.58 ms
64 bytes from 150.0.0.15: icmp_seq=7 ttl=64 time=3.03 ms
64 bytes from 150.0.0.15: icmp_seq=8 ttl=64 time=2.72 ms
^C
--- 150.0.0.15 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7011ms
rtt min/avg/max/mdev = 1.580/2.498/3.039/0.411 ms
证明vlan tag添加成功。
centos 7 下多网卡绑定+ vlan 网卡配置
参考地址:https://www.cnblogs.com/weijie0717/p/6910600.html
一、前言
CentOS7之前系统提供给用户的是bonding driver来实现链路聚合,实际上bonding适用于大多数应用。Bonding driver的架构是由内核空间完全控制、管理。
Team driver又是什么呢?它是被设计用一整套不同的设计和不同的方法来实现bonding能做到的事,它的这种更灵活、更高效。 具体数据:http://rhelblog.redhat.com/2014/06/23/team-driver/
针对现有的bonding配置,如果想从bonding driver转到team driver,redhat官方还是挺人性化的,提供了一个bond2team的命令行工具。
team工作模式:
roundrobin模式也称为轮询模式,它基于每一个包服务器发出的数据包,就会在两个物理网卡上进行轮询,即第一个数据包走一张网卡,第二个数据包走第二张网卡,依次轮询,相当于 bond 中的 mode 0。在交换机上需要配置链路聚合。
注意:
(1)roundrobin具有容错性,当一张网卡down掉,数据包依然发送成功。
(2)在使用roundrobin模式必须要在交换机上做以太通道,不然会出现网络无法连通。
activebackup模式 主备模式, 相当于 bond 中的 mode 1. 在交换机上不需要做链路聚合配置。
二、基础环境
系统:centos 7 全新安装的系统。
三、配置
1、查看物理网卡信息:#nmcli dev sh
2、查看网卡链接信息。#nmcli con sh
3、创建team接口,根据自己的业务需求,配置工作模式。
#nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name": "roundrobin"}}' (模式:根据业务需求进行配置工作模式)
4、给接口配置IP地址
#nmcli con modify team0 ipv4.address '192.168.1.10/24' ipv4.gateway '192.168.1.1' ipv4.dns '202.106.0.20'
5、设置接口模式为手动模式,取消DHCP
#nmcli con modify team0 ipv4.method manual
6、将物理网卡添加到team中
#nmcli con add type team-slave ifname em1 master team0
#nmcli con add type team-slave ifname em2 master team0
7、重启网卡 #service network restart
8、查看team0 状态 #teamdctl team0 state
9、查看连接状态
10、测试
ok,配置到此完成。
注:如果喜欢使用图形化界面进行配置的可以使用命令
#nmtui (操作界面比较简单就不在着重介绍。)
四、后期维护操作
1、启用team0 接口中的网卡:
#nmcli connection up team-slave-em1
#nmcli connection up team-slave-em2
2、
# teamnl team0 ports
3、
# teamnl team0 options
4、删除网卡连接信息 #nmcli con del team-slave-em2
5、删除team0 #nmcli dev del team0
五、centos 7 下 vlan 配置
1、确认内核 已经载入 802.1Q 模组。
如果没有,使用以下命令将模组载入内核:
# /sbin/modprobe -a 8021q
2、删除team0 中的IP配置
#vi /etc/sysconfig/network-scripts/ifcfg-team0
删除IP 和DNS 配置,并保存配置
3、创建VLAN 网卡配置文件。 (例如:要创建一个vlan 632 网卡)
# vi /etc/sysconfig/network-scripts/ifcfg-team0.632
4、交换机配置为trunk 模式,然后重启服务器。 服务器vlan配置文件保存在:/proc/net/vlan/config
ok 配置完成。