Linux: Mehrere IP-Adressen an ein Netzwerkinterface binden

Manchmal ist es erforderlich mehrere IP-Adressen an ein Netzwerkinterface zu binden. Nur so lassen sich beispielsweise auf einem angemieteten Rootserver mit nur einer Netzwerkkarte Websites unter verschiedenen IP-Adressen hosten – Voraussetzung dabei ist selbstverständlich, dass der Hoster zusätzliche IP-Adressen zur Verfügung stellt.

Linux bietet mit dem Konzept der virtuellen Netzwerkinterfaces eine elegante Lösung, um an einen Netzwerkadapter viele IP-Adressen zu binden. Jede physikalisch Netzwerkkarte trägt einen eindeutigen Namen, etwa eth0 für die erste Karte oder eth1 für die zweite Netzwerkkarte. Für jede physikalische Netzwerkarte lassen sich mehrere virtuelle Interfaces mit einer eigenen IP-Adresse konfigurieren. Dazu ist das physikalische Interface (eth0, eth1, eth2 usw.) gefolgt von einem Doppelpunkt und der Nummer des zu erstellenden virtuellen Interface anzugeben. So bezeichnet eth0:1 das erste virtuelle Interface an der physikalischen Netzwerkkarte eth0 und eth1:5 das fünfte virtuelle Interface an der zweiten Netzwerkkarte eth1.

Die virtuellen Netzwerkschnittstellen lassen sich mit den gleichen Werkzeugen konfigurieren, wie ihre physikalischen Pendants.

Um beispielsweise manuell die IP-Adresse 192.168.35.100 an die Netzwerkkarte eth0 zu binden, genügt es folgenden Befehl mit root-Rechten auszuführen.

ifconfig eth0:1 192.168.35.200 netmask 255.255.255.0 broadcast 192.168.35.255 up

Möchte man die manuell vorgenommene Konfiguration dauerhaft hinterlegen, wäre unter Debian die /etc/network/interfaces wie folgt zu editieren:

auto eth0:1
iface eth0:1 inet static
address 192.168.35.200
netmask 255.255.255.0
broadcast 192.163.35.255

  • Share/Bookmark
5 Comments Posted in Admin, Linux
Tagged , , , , , ,

5 Comments

  1. genau das was ich suchte.
    danke.

  2. Hi, was versteht man unter Netzwerkinterfacce, etwa die Netzwerkkarte?

  3. hallo,

    ich habe eine frage dazu. ich habe das bei mir genauso konfiguriert. jetzt moechte ich auf eth0:1 per iptables aber nur zugriffe von extern nur auf port 80 zulassen. hast du dazu eine loesung? ich selber komme nicht weiter.

    danke und gruss. :)

  4. Hallo Benny,

    ich denke, dein Problem besteht darin, dass iptables die alte Alias Notation in Form von eth0:1 nicht versteht. Um zu spezifizieren, welches Interface du auf Port 80 beschränken möchtest, kannst du das Interface mithilfe des Destination-Parameters genauer beschreiben.
    Also so etwa:

    iptables -A INPUT -p TCP -d --dport 80 -s 0/0 --sport 1024:65535 -j ACCEPT
    iptables -A OUTPUT -p TCP -s --sport 80 -d 0/0 --dport 1024:65535 -J ACCEPT

    Ich hoffe dir damit geholfen zu haben.

    Viele Grüße
    Tom

  5. Um die IP-Adresse 192.168.35.100 an die Netzwerkkarte eth0 zu binden geht man normalerweise so vor:

    ifconfig eth0 192.168.35.100 netmask 255.255.255.0 broadcast 192.168.35.255 up

    Wenn ich zwei Adressen an eth0 binden will so:

    ip addr add 192.168.35.101/24 dev eth0 brd +

    Vielleicht vorher Korrekturlesen. Daher auch das Missverständis zwischen Interface und Netzwerkkarte

Leave a Reply

Using Gravatars in the comments - get your own and be recognized!

XHTML: These are some of the tags you can use: <a href=""> <b> <blockquote> <code> <em> <i> <strike> <strong>