资讯

展开

KVM实现三层网络

作者:快盘下载 人气:

一、背景

二、环境准备

准备1台4vCPU+8G内存虚拟机,用于部署虚拟化,模拟所有的网络环境。

配置

备注

CPU

4核

内存

4GB

磁盘

20GB

网络

4个网口

虚拟机名称

操作系统

网口名称

IP地址

桥接网络

node1

Centos7

ens3

192.168.1.101

br1

ens4

192.168.2.101

br2

node2

Centos7

ens3

192.168.0.102

br0

node3

Centos7

ens3

192.168.3.103

br3

switch1

Centos7

ens3

192.168.0.254

br0

ens4

192.168.1.254

br1

switch2

Centos7

ens3

192.168.2.254

br2

ens4

192.168.3.254

br3

三、环境架构

KVM实现三层网络

注意:网卡配置文件的其它内容可保留,但至少需要保证以上内容与本文保持一致,IP地址和子网掩码除外。按照同样方法配置其它网络桥接。

[root@cloud network-scripts]# cat ifcfg-ens35 
TYPE=Ethernet
BOOTPROTO=none
NAME=ens35
DEVICE=ens35
ONBOOT=yes
BRIDGE=br1
[root@cloud network-scripts]# cat ifcfg-br1
DEVICE=br1
TYPE=Bridge
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.100
PREFIX=24

[root@cloud network-scripts]# cat ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=none
NAME=ens36
DEVICE=ens36
ONBOOT=yes
BRIDGE=br2
[root@cloud network-scripts]# cat ifcfg-br2
DEVICE=br2
TYPE=Bridge
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.2.100
PREFIX=24

[root@cloud network-scripts]# cat ifcfg-ens37 
TYPE=Ethernet
BOOTPROTO=none
NAME=ens37
DEVICE=ens37
ONBOOT=yes
BRIDGE=br3
[root@cloud network-scripts]# cat ifcfg-br3
DEVICE=br3
TYPE=Bridge
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.3.100
PREFIX=24

systemctl restart network

[root@cloud ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c2994f44e no ens34
br1 8000.000c2994f458 no ens35
br2 8000.000c2994f462 no ens36
br3 8000.000c2994f46c no ens37
virbr0 8000.525400c682df yes virbr0-nic

资料获取方法:关注微信公众号“云实战”,回复“VNC”可获取下载链接。

五、创建虚拟机

1.创建虚拟机node1

创建虚拟机node1磁盘镜像

qemu-img create -f qcow2 /data/node1.qcow2 10G

创建虚拟机node1

virt-install --name node1 --vcpus 1  --memory 1024 --disk /data/node1.qcow2 
--network bridge=br1 --network bridge=br2 --graphics vnc,listen=0.0.0.0 --boot hd
--cdrom /media/CentOS-7-x86_64-DVD-1708.iso

注:具体参数解析可通过virt-install --help查看,不再赘述。每次创建不同的虚拟机,需注意更改--name,--disk,--network相关参数。按照架构图或规划表进行配置。

访问虚拟机

注:可将任意1个网口添加网关,但不可同时写2个网关,否则默认路由冲突。

[root@node2 ~]# cat
/etc/sysconfig/network-scripts/ifcfg-ens3
......
DEVICE=ens3
ONBOOT=yes
IPADDR=192.168.0.102
NETMASK=255.255.255.0
GATEWAY=192.168.0.254

注:网关必须指向switch1节点同网段的ip地址192.168.0.254

[root@node3 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens3

......
DEVICE=ens3
ONBOOT=yes
IPADDR=192.168.3.103
NETMASK=255.255.255.0
GATEWAY=192.168.3.254

注:网关必须指向switch2节点同网段的ip地址192.168.3.254

[root@switch1 ~]# cat
/etc/sysconfig/network-scripts/ifcfg-ens3
......
DEVICE=ens3
ONBOOT=yes
IPADDR=192.168.0.254
NETMASK=255.255.255.0
[root@switch1 ~]# cat
/etc/sysconfig/network-scripts/ifcfg-ens4
......
DEVICE=ens4
ONBOOT=yes
IPADDR=192.168.1.254
NETMASK=255.255.255.0

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

sysctl -p

注:必须开启网络流量转发功能,否则虚拟机switch1无法模拟交换机实现三层网络交换功能。

[root@switch2 ~]# cat
/etc/sysconfig/network-scripts/ifcfg-ens3
......
DEVICE=ens3
ONBOOT=yes
IPADDR=192.168.2.254
NETMASK=255.255.255.0
[root@switch2 ~]# cat
/etc/sysconfig/network-scripts/ifcfg-ens4
......
DEVICE=ens4
ONBOOT=yes
IPADDR=192.168.3.254
NETMASK=255.255.255.0

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

sysctl -p

注:必须开启网络流量转发功能,否则虚拟机switch2无法模拟交换机实现三层网络交换功能。

ping 192.168.1.254
ping 192.168.2.254

注:node1未配置网关,所以无法ping通192.168.0.254和192.168.3.254

ping 192.168.0.254
ping 192.168.1.254

ping 192.168.2.254
ping 192.168.3.254

七、配置路由表

若实现node1与node2、node3的互相通信,需将node1配置路由表,实现流量转发功能。

注:所有操作在node1进行

编辑/etc/iproute2/rt_tables文件,创建路由表net1和net2,增加内容

252 net2
251 net1

增加路由规则

ip route add default via 192.168.1.254 table net1
ip rule add from 192.168.1.101 table net1
ip route add default via 192.168.2.254 table net2
ip rule add from 192.168.2.101 table net2

所有指向192.168.1.101的流量都遵循路由表net1的路由规则,所有指向192.168.2.101的流量都遵循路由表net2的路由规则。

注:以上路由表创建完成后,只是临时生效,网络或系统重启会导致配置失效。

添加完毕后,即实现双网卡双网关网络配置。

3.检查确认

查看路由规则

ip route 
ip rule list
ip route list table net1
ip route list table net2

更多问题欢迎扫码咨询

三层网络

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!