Ergebnis 1 bis 2 von 2
  1. #1
    Defender of Freedom Avatar von Metal_Warrior
    Registriert seit
    Jun 2009
    Beiträge
    2.439

    Standard VLAN-Routing Problem (Debian Squeeze lokal)

    Hallo Leute!

    Ich habe einen Debian-Server (Squeeze), der ein paar Webdienste hostet, und das in einer größeren Netzwerkinfrastruktur. Derzeit ist er so eingestellt, dass er von überall erreichbar ist (intern & extern) und das externe Gateway als einziges Gateway in einem VLAN konfiguriert hat.
    Zitat Zitat von /etc/network/interfaces
    # The primary network interface
    allow-hotplug eth0
    iface eth0 inet static
    address 10.1.2.227
    netmask 255.255.255.0
    network 10.1.2.0
    broadcast 10.1.2.255
    # gateway is provided by VLAN interface
    # gateway 10.1.2.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 10.1.3.2
    dns-search webadresse
    # VLAN for primary network interface - external address
    auto eth0.5
    iface eth0.5 inet static
    address 4.5.6.227
    netmask 255.255.255.248
    gateway 4.5.6.225
    Egal wohin ich nun surfe, es wird immer das einzige Gateway verwendet, das mein "trautes Heim" verlässt, was mir aber jeden Zugriff auf rein-lokale Daten sperrt. Gibt es eine (einfache) Möglichkeit, alle angesurften Adressen, die im Klasse-A-Netz liegen, über das derzeit auskommentierte lokale Gateway anzusteuern, während alle anderen Anfragen über das öffentliche (VLAN-) Gateway abgehandelt werden? Wichtig ist mir, dass die derzeitigen Dienste (Apache, memcached, MySQL & Minecraft-Server) davon nicht beeinträchtigt werden, also die derzeitige Konfiguration weiterhin so verwenden. Wenn nötig, installiere ich gerne noch eine weitere Netzwerkkarte, wenn eth0 vom VLAN vollständig vereinnahmt wird, IP-Adressen hab ich genug...

    Grüße
    Metal_Warrior

  2. #2
    Layer 8 Avatar von kiwi404
    Registriert seit
    Apr 2010
    Ort
    Hamburg
    Beiträge
    181

    Standard Re: VLAN-Routing Problem (Debian Squeeze lokal)

    Heyho ,

    ja, das geht. Das ganze nennt sich "Policy Routing" - du kannst also mit Policies die Routingentscheidungen beeinflussen.

    Das kannst du mit dem Tool "ip" steuern.
    1) Eine zweite Routingtabelle erstellen
    2) Der Routingtabelle einen Default-Gateway zuweisen
    3) Eine Regel erstellen, die Pakete, die ins 10.0.0.0/8 Netz gehen sollen, in die zweite Routingtabelle schmeißt.
    4) fertig

    Was jetzt kommt, schreib ich ungetestet ausm Kopf:

    Code:
    echo "1 internes-netz" > /etc/iproute2/rt_tables # tabelle mit ID 1 und namen internes-netz zur config adden (bleibt dann persistent)
    ip route add default via 10.1.2.1 dev eth0 table internes-netz # defaultgateway zur tabelle adden
    ip rule add to 10.0.0.0/8 table internes-netz # pakete, die an 10.0.0.0/8 gerichtet sind in die tabelle schicken
    ("ip route add" und "ip rule add" musst du nach jedem Reboot erneut ausführen. Kannst du aber als pre-up-Script in deine /etc/network/interfaces eintragen)

    Das müsste es gewesen sein. Nochmal kurz zur Erklärung: du erstellst hiermit eine zweite Routingtabelle (und gibst dieser Routingtabelle einen Defaultgateway). Mit "ip rule add" fügst du die Regel hinzu, welche Pakete in diese Routingtabelle reinrutschen sollen.

    Es könnte aber noch ein Problem geben, welches du beheben musst. Wenn dein OS ein IP-Paket an die 10.13.37.5 generiert und dafür die IP-Adresse "4.5.6.227" als Sourceaddress reinschreibt, so wirst du deine Antwortpakete wohl wieder auf dem Interface eth0.5 erhalten. Du musst dich also nun darum kümmern, dass deine Programme immer mit der richtigen 10-er IP-Adresse senden, oooooder du richtest auf eth0 ein NAT ein, damit die Pakete immer die richtige IP-Adresse erhalten. Ist allerdings speicherintensiver, obgleich auch nur minimal.
    Das könntest du mit iptables erreichen.

    Code:
    iptables -t nat -A POSTROUTING ! -s 10.0.0.0/8 -d 10.0.0.0/8 -o eth0 -j MASQUERADE
    Im Klartext: alle Pakete, die ans 10er Netz gerichtet sind und über eth0 rausgeschickt werden sollen aber eine nicht-10er Adresse als Absenderadresse eingetragen haben, werden genattet. Das müsstet du auch bei jedem Reboot bzw. bei pre-up eintragen.

    Soweit alles klar?

    -k

  3.  
     
     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •