kb:linux:kvm:routing_on_multiple_nic

Razdvajanje ruta kod linux hipervizora sa više mrežnih kartica

Centos 6.5, Centos 7

Ovo je moguće zahvaljujući alatima iproute2 projekta.

Tabele ruta se definišu u fajlu

/etc/iproute2/rt_tables

dodavanjem zapisa u skeciju # local (mada ovo nije važno)

#
# reserved values
#
255     local
254     main
253     default
0    unspec
#
# local
#
#1    inr.ruhep
#
# dodajem dve nove rute, jednu za default, lokalnu, mrežu (T0) drugu za dodatnu, javnu, mrežu (T1)
#
252     T0
251     T1

Nakon dodavanja ruting tabela, sledi registrovanje zapisa u njima, i vezivanje ruting tabela za odgovarajuće mrežne adaptere.
Napomena: Kako se radi o hipervizoru, fizički adapteri su zamenjeni “mostovima” (bridge), koji se ponašaju kao mini ruteri između hipervizora i gostujućih sistema.

Da bi se ove komande izvršavale pri podizanju hipervizora ubačene su u rc.local skriptu.

/etc/rc.d/rc.local

U konkretnom slučaju :

  • T0 rutira br0 most, na lokalnoj mreži 192.168.0.0/24, izlazi kroz GW 192.168.0.254
  • T1 rutira br1 most, na javnoj mreži 178.254.155.0/29 (imamo 8 javnih IP adresa), izlazi kroz GW 178.154.155.57
# Registrovanje T0/T1 ruta

ip route add 192.168.0.0/24 dev br0 src 192.168.0.2 table T0
ip route add default via 192.168.0.254 dev br0 table T0

ip route add 178.254.155.0/29 dev br1 src 178.254.155.59 table T1
ip route add default via 178.254.155.57 dev br1 table T1

# Vezivanje interfejsa za ruting tabele

ip rule add from 192.168.0.2/32 table T0
ip rule add to 192.168.0.2/32 table T0

ip rule add from 178.254.155.59/32 table T1
ip rula add to 178.254.155.59/32 table T1
  • kb/linux/kvm/routing_on_multiple_nic.txt
  • Last modified: 2017/06/12 15:05
  • by milano