【linux】Centos7单网卡多VLAN配置

Centos7单网卡多VLAN配置

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

使用命令yum install vconfig

2.使用modprobe 命令加载8021q模块;

modprobe 8021q

另外可以使用lsmod命令模是否已入核心:

 lsmod |grep 8021q

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

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

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

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

 cp ifcfg-ens32 ifcfg-ens32.100

 再用vi修改ifcfg-ens32.100文件,参考以下参数进行修改:

TYPE=Ethernet

DEVICE=ens32.100

BOOTPROTO=static

NAME="ens32.100"

ONBOOT=yes

VLAN=yes

MACADDR=0C:C4:7A:50:D3:16   (虚拟网卡最好不要使用HWADDR)

IPADDR=192.168.100.193

NETMASK=255.255.255.0

GATEWAY=192.168.100.1        ------若存在多网关的话,则写静态路由,参考后文

NM_CONTROLLED=no          (该配置可以有效解决重启网络服务失败的问题)

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

可发现ens32.100的网卡已生成,且MAC地址已修改为0C:C4:7A:50:D3:16。

7.这样即可选择所需要的VLAN局域网。

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

 常见问题

1、添加某网段vlan网卡后,对应网段的客户机无法ping通server端IP。

①  关闭反向路由检查(根据自己的情况替换第二第三行的网卡名):
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter 
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter 
echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter

②  关闭后请使用命令查看参数是否为0

③  由于除了all这条,其他项重启机器后都会失效,因此2,3条命令都需要写入启动项,路径文件为/etc/rc.local。

2、存在需要配置多网关的情况下,其他网关使用静态路由代替,且需要配置后使重启网络或服务器也可以生效。

①  静态路由参考命令:

route add –net 192.168.0.0/24 gw 192.168.100.1

route add –net 192.168.0.0 netmask 255.255.255.0 gw 192.168.100.1

②  设置永久路由的建议方法:

在/etc/sysconfig/static-routes文件(没有的话手动创建)中添加如下参数:

any net 192.168.0.0/24 gw 192.168.100.1

any net 192.168.0.0. netmask 255.255.255.0 gw 192.168.100.1

开机自动加载8021q模块

要想在CentOS中自动加载内核模块,需要在/etc/sysconfig/modules/目录中增加一个脚本,在此脚本中加载所需的模块。

下面是一个名为8021q.modules的脚本,用来在系统启动中自动加载802.1Q模块:

 #! /bin/sh

 /sbin/modinfo -F filename 8021q > /dev/null 2>&1

if [ $? -eq 0 ]; then

    /sbin/modprobe 8021q

fi

posted on 2019-07-28 18:01  暴躁的大河马  阅读(3208)  评论(0编辑  收藏  举报

导航