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
Bme net

Bme net

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

= BME-NET =

== ARP bevezető ==

man 7 arp <http://www.kernel.org/doc/man-pages/online/pages/man7/arp.7.html>_

ARP áttekintés <http://linux-ip.net/html/ether-arp.html>_

Infrastruktúra

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

Programok

send_arp

Preparált ARP csomagok küldésére alkalmas program.

arp_daemon

A /var/tmp/one/ip_proxy mappába helyezett fájlok neveit folyamatosan frissíti Gratuitous ARP üzenetek segítségével. Az itt elhelyezett fájloknak szabványos pontokkal elválasztott IP címeknek kell lenniük pl: 152.66.243.100.

VNM/ovswitch (Opennebula network hook)

Három állapotot különböztetünk meg:

  • pre - VM indítása elötti inicializáció

  • post - VM inditás utáni élesítés Fájlok létrehozása az arp_daemonnak.

.. TODO: Indent lines, set language: Example .. code-block:: python require 'OpenvARP' ... onevarp = OpenvSwitchARP.from_base64(template64, deploy_id) onevarp.proxy_add

  • clean - VM törlés / migrate stb. után takarítás Fájlok törlése az arp_daemon mappájából

.. TODO: Indent lines, set language: Example .. code-block:: python require 'OpenvARP' ... onevarp = OpenvSwitchARP.from_base64(template64, deploy_id) onevarp.proxy_del

=== OpenvARP.rb ===

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

class OpenvSwitchARP < OpenNebulaNetwork XPATH_FILTER = "TEMPLATE/NIC[BRIDGE='bme-net']"

def initialize(vm, deploy_id = nil, hypervisor = nil)
    super(vm,XPATH_FILTER,deploy_id,hypervisor)
end

def proxy_add
    process do |nic|
        path = "/var/tmp/one/proxy_ip/" + nic`:ip <:ip>`_;
        #puts path;
        File.open(path, 'w')
    end
end
def proxy_del
    process do |nic|
        path = "/var/tmp/one/proxy_ip/" + nic`:ip <:ip>`_;
        if File.exist?(path)
            #puts path
            File.delete(path);
        end
    end
end

end

Módosítások a kernel ARP beállításain

Az ARP cache bejegyzések a base_reachable_time/2 és 3*base_reachable_time/2 időszak között véletlenszerűen évülnek el.

Ha megemeljük 60 000msec-re akkor legrosszabb esetben is 30 másodpercig a táblában marad.

.. TODO: Indent lines, set language: Example .. code-block:: python echo "60000" > /proc/sys/net/ipv4/neigh/vlan0006/base_reachable_time_ms

Ahhoz, hogy a Gratuitous ARP-ot használja az ARP cache engedélyeznünk kell, az adott interfészen.

.. TODO: Indent lines, set language: Example .. code-block:: python echo 1 > /proc/sys/net/ipv4/conf/vlan0006/arp_accept

Ezt követően az arp_daemonnak legalább 30 másodpercenként broadcastolnia kell 1 címet. Az ARP csomagok között "illik" 1 másodperc szünetet hagyni.

= BME-NET v2 =

Infrastruktúra

Ebben az esetben a routolást a mega3 végzi. Ilyenkor kézzel statikus ARP táblát generálunk a 152.66.243.81-152.66.243.94 tartományra.

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

Konfigurálás

A mega3-on egy vlan taggelt interfacet adunk a vm-net bridge-hez.

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

Az interface felkonfigurálása

.. TODO: Indent lines, set language: Example .. code-block:: python sudo ifconfig bme-net 152.66.243.81 netmask 255.255.255.0

A route táblában erre az interface-re továbbítjuk a bme tartományt.

.. TODO: Indent lines, set language: Example .. code-block:: python sudo route add -net 152.66.243.80 netmask 255.255.255.240 dev bme-net

A DHCP servert nekünk kell beállítanunk az interface-re

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

Opennebula

bme-net network felvétele a fenti tartománnyal. Bridge-nek a vm-net-et adjuk. VLAN tag-nek pedig az elöbb beállított VLAN-taget.

  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.