Centos7单网卡带VLAN多IP配置

时间:2023-12-18 13:52:08

1.需要使用到vconfig软件,首先yum安装vconfig;

使用指令yum install vconfig;(若是本机找不到vconfig安装包,可以通过其他centos7安装yum-utils:yum -y install yum-utils后,直接通过指令 yum downloader vconfig下载vconfig安装包再传输到本机上进行安装;)

2.查看核心是否提供VLAN 功能,通过指令dmesg | grep -i 802查看:

Centos7单网卡带VLAN多IP配置

3.查看[/proc/net/vlan]目录是否存在:

ls /proc/net/vlan

如果没有设置提供VLAN功能,[/proc/net/vlan]目录是不存在的;

如果存在如图所示:

Centos7单网卡带VLAN多IP配置

4.使用modprobe 模命令进入802.1q.o模,且使用lsmod命令模是否已入核心:

Centos7单网卡带VLAN多IP配置

5.使用vconfig命令增加子接口,增加vlan为 100的子接口:

命令vconfig add ens32 100(ens32可以是你主机上一张可用的网卡如:eth0,eth1)

Centos7单网卡带VLAN多IP配置

6.然后ifconfig查看网卡信息会发现多出一张虚拟网卡,利用ls /proc/net/vlan查看:

Centos7单网卡带VLAN多IP配置

7.增加好之后进入/etc/sysconfig/network-scripts利用cp命令复制接口的IP地址配置;

cp ifcfg-ens32 ifcfg-ens32.100

再用vi修改ifcfg-ens32.100文件,设置Ip等信息。需要特别注意是需要DEVICE=ens32.100

与VLAN=yes配置项:

DEVICE=ens32.100

BOOTPROTO=static

IPADDR=192.168.5.198

GATEWAY=192.168.5.1

NETMASK=255.255.255.0

DNS1=114.114.114.114

DNS2=8.8.8.8

VLAN=yes

ONBOOT=yes

8.最后重启网络服务:使用命令systemctl restart network.service令配置生效

Centos7单网卡带VLAN多IP配置

9.为了使得如下图所示,网络连接描述能正常选择所需要的vlan局域网,例如下图客户机为 5网段的主机,接管主机的存储器网络能选择5网段的网络连接;

Centos7单网卡带VLAN多IP配置

设置方法:

只要你在配置好VLAN以后,将VLAN配置文件里面的MAC地址改成与原网卡不一样的MAC地址,例如我们配置100段的VALN子网;

如图所示默认的配置是两者的mac地址是一样的,与上图上实行的MAC地址与网卡一一对应有所冲突;

Centos7单网卡带VLAN多IP配置

Centos7单网卡带VLAN多IP配置

所以我们需要修改enp4s0f0.100的MAC地址:

1)cd /etc/sysconfig/network-scripts进入网卡配置文件夹,

打开 ifcfg-enp4s0f0.100配置文件,如图所示:

Centos7单网卡带VLAN多IP配置

2)在配置文件中插入 MACADDR=0c:c4:7a:50:d3:16这一行设置与原网卡不同的mac地址;

Centos7单网卡带VLAN多IP配置

3)重启网络设置,使用命令systemctl restart network.service令配置生效

发现enp4s0f0.100的MAC地址如图所示修改为0c:c4:7a:50:d3:16

Centos7单网卡带VLAN多IP配置

4)登入CDAP平台,验证是否能正常选择网络VLAN100:

只要存储网段这一列选择VLAN100网卡所对应的mac地址,存储器网络就会自动选着vlan100;

Centos7单网卡带VLAN多IP配置

以上设置可以适用于多个VLAN配置,每一个vlan网卡配置的mac地址都要设置成不同的MAC;

9.解决方法:对各网卡设置策略路由

测试环境:

为避免干扰,我关闭了Network_Manager

网卡enp4s0f0       IP  192.168.0.168     GATEWAY   192.168.0.1

网卡enp4s0f1       IP  192.168.5.191     GATEWAY   192.168.5.1

方案:

首先编辑网卡配置文件ifcfg-ethxx,注释GATEWAY段,只留下一个网卡不注释,作为默认路由

在rt_tables中增加路由表

echo "110 net0 " >> /etc/iproute2/rt_tables

echo "115 net5 " >> /etc/iproute2/rt_tables

创建如下netmork.sh脚本并执行

#!/bin/bash
ip route flush table net0 #清空net0路由表
ip route add default via 192.168.0.1 dev enp4s0f0 src 192.168.0.168 table net0 #添加路由规则,路由表net0中数据包默认使用源192.168.0.168通过网卡enp4s0f0走网关192.168.0.1
ip rule add from 192.168.0.168 table net0
#来自192.168.0.168的数据包使用net0路由表
ip route flush table net5
ip route add default via 192.168.5.1 dev enp4s0f1 src 192.168.5.191 table net5
ip rule add from 192.168.5.191 table net5

然后重启网络network service restart