Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

CIRCLE / cloud

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 94
  • Merge Requests 10
  • Pipelines
  • Wiki
  • Snippets
  • Members
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Vm net

Vm net

Last edited by Őry Máté Sep 11, 2013
Page history

= VM-NET =

Infrastruktúra

A jelenlegi topológiában csak a Mega3-Mega4 van közvetlenűl összekötve.

.. TODO: Indent lines, set language: Example .. code-block:: python ________ [Host - 01] [ ] .--------. [Host - 02]--[ Switch / Cross ]---[ Mega3 ]-----[ Router (fw1) ]-----| INTERNET | [Host - ..] ________ <________>_ '--------'

== Működése ==

A hálózat a Head node-ot, (jelenleg) a Mega3-at használja routerként.

Libvirt definíciós file

Egy egyszerű NAT-olt definíció az Opennebula 02:00:$IP MAC címekhez a $IP statikusan hozzárendelve.

A hálózat jelenleg a 10.7.5.2-10.7.5.254 intervallumban működik, de ez kiterjeszthető a teljes IP tartományra.

[https://svn.iit.bme.hu/trac/cloud/browser/libvirt/libvirt-network/vm-net.xml vm-net.xml]

Az így létrejött hídhoz, még hozzá kell adni a megfelelő portot(interfacet) amin a többi node elérei.

TODO: Ezt vhogy automatikusan kellene. Libvirt-ben hookal vagy definícióban!

.. TODO: Indent lines, set language: Example .. code-block:: python sudo ovs-vsctl add-port vm-net eth0

=== Libvirt megkerülése === Bonyolultabb hálózat esetén, mint amilyen nekünk is lesz, érdemesebb a bridget+DHCP servert kézzel megcsinálni. A bridge-hez hozzáadjuk az eth0-t, a route-ba beállítunk minden továbbítani kívánt tartományt, hogy a vm-net bridgbe mutasson.

[https://svn.iit.bme.hu/trac/cloud/browser/libvirt/initscript-nw/vm-nw-init.sh Init-script] az alábbi funkciókhoz.

Bridge:

.. TODO: Indent lines, set language: Example .. code-block:: python sudo ovs-vsctl add-br vm-net

Külső interface hozzáadása

.. TODO: Indent lines, set language: Example .. code-block:: python sudo ovs-vsctl add-port vm-net eth0

Route:

.. TODO: Indent lines, set language: Example .. code-block:: python sudo route add -net 10.7.5.0 netmask 255.255.255.0 dev vm-net

Iptables

.. TODO: Indent lines, set language: Example .. code-block:: python #Checksum fix (libvirt csinalja biztos kell) iptables -t mangle -I POSTROUTING -o vm-net -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill

#DHCP és DNS iptables -t filter -A INPUT -i vm-net -p udp -m udp --dport 53 -j ACCEPT iptables -t filter -A INPUT -i vm-net -p tcp -m tcp --dport 53 -j ACCEPT iptables -t filter -A INPUT -i vm-net -p udp -m udp --dport 67 -j ACCEPT iptables -t filter -A INPUT -i vm-net -p tcp -m tcp --dport 67 -j ACCEPT

#Egymás közti láthatóság + kifele + létrejött kapcsolatok befele agyébként REJECT iptables -t filter -A FORWARD -d 10.7.5.0/24 -o vm-net -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -t filter -A FORWARD -s 10.7.5.0/24 -i vm-net -j ACCEPT iptables -t filter -A FORWARD -i vm-net -o vm-net -j ACCEPT iptables -t filter -A FORWARD -o vm-net -j REJECT --reject-with icmp-port-unreachable iptables -t filter -A FORWARD -i vm-net -j REJECT --reject-with icmp-port-unreachable

#Nat fordítás kifele iptables -t nat -A POSTROUTING -s 10.7.5.0/24 ! -d 10.7.5.0/24 -j MASQUERADE

DHCP:

.. TODO: Indent lines, set language: Example .. code-block:: python TODO

VLAN Taggelt hálózati csatoló hozzáadása, ezzel lehet ugyanazon a fizikai eszközön több hálózatot kezelni. VLAN=0 ssh+belső, VLAN=1 bme-net

.. TODO: Indent lines, set language: Example .. code-block:: python sudo ovs-vsctl add-br bme-test vm-net 1

=== Node-ok beállítása ===

TODO: Statikus bridge beállítása, hogy reboot után is működjön.

Mivel a routolást és DHCP szervert is a a fejgép kezeli, a további node-okon elég egy egyszerű bridget létrehozni és a megfelelő interface-hez kötni. És a routolást beállítani. Bridge:

.. TODO: Indent lines, set language: Example .. code-block:: python sudo ovs-vsctl add-br vm-net sudo ovs-vsctl add-port vm-net eth0

Route:

.. TODO: Indent lines, set language: Example .. code-block:: python sudo route add -net 10.7.5.0 netmask 255.255.255.0 dev vm-net

Portforward

A mega3 22000 és 23000-es tartományát használja fel.

22<$IP> --> $IP:22 (SSH)

23<$IP> --> $IP:3389 (RDP)

A tűzfalszabályok dinamikusan létrejönnek/törlődnek. Ehhez módosítani kell az oned.conf-ot

.. TODO: Indent lines, set language: Example .. code-block:: python #*******************************************************************************

Dynamic iptables rules for administrative network

#******************************************************************************* VM_HOOK = [ name = "portfw_add", on = "RUNNING", command = "portforward.rb", arguments = "add $TEMPLATE" ]

VM_HOOK = [ name = "portfw_del", on = "DONE", command = "portforward.rb", arguments = "del $TEMPLATE" ]

Valamint el kell helyezni a var/remotes/hooks mappába a Portforward hook script <https://svn.iit.bme.hu/trac/cloud/browser/opennebula/vnm_hook_pf/portforward.rb>_-et.

Statikus forward-hoz scriptek:

Generáló script <https://svn.iit.bme.hu/trac/cloud/browser/libvirt/libvirt-network/generate_iptables.pl>_

iptables szabályok <https://svn.iit.bme.hu/trac/cloud/browser/libvirt/libvirt-network/iptables.sh>_

  Clone repository
  • Bme net
  • Beegf
  • Buildbot
  • Circledevelopment
  • Codingstyle
  • Csomagforrasbol
  • Delopmentstyle
  • Devenv
  • Ervekamienkmellett
  • Felhasznaloifeltetelek
  • Guestlinux
  • Guesttelepites
  • Guestwindows7
  • Iptartomanyok
  • Kvota
More Pages
×

New Wiki Page

Tip: You can specify the full path for the new file. We will automatically create any missing directories.