V-Smart - Twój partner w biznesie internetowym

Wirtualna Sieć Linuxów – podejście 1

Sytuacja przedstawia się następująco. W większości małych firm z branży ISP mamy serwerownię składającą się zazwyczaj z routera (zwanego dalej R1), który miesza łączem (łączami) w świat, serwer hostingowy (zwany dalej S1) oraz router który udostępnia sieć klientom (zwany dalej R2). Zatem trzy maszyny. Padł pomysł aby wsadzić je wszystkie trzy do jednej, odpalić i przetestować. W obroty poszedł znany już i lubiany Proxmox, na którym powstały 3 wirtualne serwery zarządzane poprzez moduł KVM jądra.

Należało przyjąć pewne założenia:

  • Połączenia między wirtualnymi routerami realizowane są w bridżach (np. przejście z jednego do drugiego)
  • Połączenia "na zewnątrz" (np. ze switchem) realizowane są za pomocą vlan-ów z powodu braku dużej ilości interfejsów fizycznych serwera
  • Vlan-y są podpięte do bridżów, obsługiwanych przez Proxmoxa
  • Posiadamy switcha, który umożliwia uruchomienia łącza trunkowego najlepiej po interfejsie gigabitowym

Utworzono trzy bridże (z poziomu /etc/network/interfaces) opisane poniżej:

vmbr1)

  • vlan1
  • funkcja WAN do ISP

vmbr2)

  • vlan2
  • funkcja "szkieletu serwerów"

vmbr3)

  • vlan3
  • funkcja LAN

Załóżmy że od ISP posiadamy PUBLIC_IP, przez który została przeroutowana PUBLIC_NET/24. Podzieliliśmy PUBLIC_NET/24 na dwie podsieci CORE_NET/25 i PUBLIC_LAN/25. Dodatkowo mamy lokalna podsieć powiedzmy LOCAL_LAN/24. Postawiono trzy wirtualne maszyny "Fully Virtualized (KVM)", których konfiguracja interfejsów wygląda następująco:

R1)

  • eth0: PUBLIC_IP - interfejs WAN czyli do naszego ISP (zapięty do vmbr1)
  • eth1: IP z sieci CORE_NET/25 - interfejs wewnętrznej sieci szkieletowej (zapięty do vmbr2)
  • default route via eth0

R2)

  • eth0: IP z sieci CORE_NET/25 - interfejs WAN routera podłączony do "szkieletu serwerów", na który będzie natowany LAN z eth1 (zapięty do vmbr2)
  • eth1:  IP z sieci PUBLIC_LAN/25 oraz IP z sieci LOCAL_LAN/24 - interfejs LAN routera (zapięty do vmbr3)
  • default route via eth0

S1)

  • eth0: IP z sieci CORE_NET/25 - interfejs serwera hostingowego podłączony do "szkieletu serwerów" (zapięty do vmbr2)
  • default route via eth0

Odpalono to wszystko. Działa w sensie sieć funkcjonuje prawidłowo (pingi, trace i takie tam). Kolejny etap polegać będzie na testach tego w rzeczywistej sieci. Dodatkowo na R2 zamontowano paczki z projektu rabbit (iptables + iproute + jajo). Pierwsze wrażenia opisane poniżej:

  • iptables sypie ostrzeżeniami przy negacji reguł (czyli przy używaniu "!")
  • zauważyliśmy, że wirtualne maszyny lubią czasem przestać odpowiadać - jakby bridże się sypały, pomaga oczywiście nieśmiertelny reboot wirtualek

ToDo:

  • sprawdzić wtf z iptables, ewentualnie cofnąć projekt rabbit do wcześniejszej wersji
  • rozwiązać problem z bridżami - wiemy już, że nie zależy to od wersji Proxa (na 1.1 czyli debian eth i 1.3 czyli debian lenny jest to samo)

Szczegóły wkrótce. BRB

Be Sociable, Share!
Zakres tematyczny: Routery linuxowe   autor: yarzombo Dodaj komentarz