此處我們只討論虛擬網絡
背景:公司架構為kvm+ceph+(linux bridge+frr) vxlan架構,我們分為計算節點、網絡節點和存儲節點
目地:最近對公司內部應用根據部門和應用類型進行網絡隔離,形成類似于云計算多租戶隔離。
配置:
1、在各機上配置各虛擬網絡的虛擬交換機和vxlan大二層網絡,一個網橋和一個vlxan接口對應一個虛擬網絡,如:other虛擬網絡——br-other虛擬交換機——vxlan30
kvm物理機1(計算節點):
添加other虛擬網絡交換機和vxlan接口
ip link add br-other type bridge
ip link set dev br-other up
ip link add vxlan30 type vxlan id 30 dstport 5789 nolearning dev enp88s0f3 #vxlan id 為30,nolearning 不學習mac地址,通過frr 來學習mac,消除東西流量瓶頸,減少BUM包,
ip link set dev vxlan30 up
ip link set dev vxlan30 master br-other
把各虛擬機網絡接口配置到br-other 虛擬交換機即可以添加到other虛擬網絡
2、配置frr為各虛擬機提供vxlan網絡的MAC地址學習功能,并使vxlan自動連接,消除東西流量瓶頸和單節點故障;frr 我分為spine和leaf節點,spine我設置了2臺用于高可用(虛擬機搭建),所有的計算節點都是leaf節點
1)spine配置:
router bgp 6000
bgp router-id 10.112.112.254
bgp bestpath as-path multipath-relax
neighbor fabric peer-group
neighbor fabric remote-as external
neighbor 10.112.112.2 peer-group fabric #leaf1 ,把所有的計算節點都添加進來了。 ip 計算節點的ip 同時也時各虛擬機之間vxlan通訊ip
neighbor 10.112.112.3 peer-group fabric #leaf2
!
address-family l2vpn evpn
neighbor fabric activate
exit-address-family
!
2)leaf節點即計算節點1配置:
router bgp 6002
bgp router-id 10.112.112.3
bgp bestpath as-path multipath-relax
neighbor fabric peer-group
neighbor fabric remote-as external
neighbor 10.112.112.252 peer-group fabric #spine 1
neighbor 10.112.112.254 peer-group fabric #spine 2
!
address-family l2vpn evpn
neighbor fabric activate
advertise-all-vni
exit-address-family
!
3、網絡節點配置,虛擬機南北流量即外網流量全部集中在網絡節點。可以用keepalived做高用
在網絡節點上創建多個namespace,每個虛擬網絡一個namespace,起到網絡隔離作用
ip netns add other #添加other虛擬網絡,同時提供此網絡的網關路由和防火墻功能。
ip link add br-other type bridge
ip link set dev br-other up
#虛擬機內部接口
ip link add vxlan30 type vxlan id 30 dstport 5789 nolearning dev enp88s0f3
ip link set dev vxlan30 up
ip link set dev vxlan30 master br-other
ip link add n2o type veth peer name o2n netns other
ip link set dev n2o up
ip link set dev n2o master br-other
ip link exec other ip link set lo up
ip link exec other ip link set o2n up
ip link exec other ip addr add 192.168.30.1/24 dev o2n #為other虛擬網絡的網關
#虛擬機外網訪問接口
ip link add br-ex type bridge #添加一個外網訪問虛擬交換機,
ip link set dev xxxx master br-ex #把連接外網物理接口接入到此交換機
ip link set dev br-ex up
ip link add w2o type veth peer name o2w netns other
ip link set dev w2o up
ip link set dev w2o master br-ex
ip netns exec other ip link set dev o2w up
ip netns exec other ip addr add 123.123.123.123/26 dev o2w #添加外網訪問公網IP
ip netns exec other ip route add default via 123.123.123.1 dev o2w #添加默認路由
4、配置iptables ,提供防火墻和SNAT,DNAT功功能,簡單配置:
ip netns exec other iptables -A FORWARD -s 192.168.30.0/24 -j ACCEPT
ip netns exec other iptables -t nat -A POSTROUTING -s 192.168.30.0/24 -o o2w -j MASQUERADE
結束,以上針對other虛擬網絡,從計算節點到網絡節點配置完成。