# [Solved] root-server mit mehreren ip und einer eth0

## krolik26

hallo,

hab vor kurzem mir ein hetzner DS7000 zugelegt, dazu hab ich jetzt auch 6 ip-adressen bekommen.

diese möchte ich natürlich auch nutzen. auf dem server habe ich leider aber nur EINE netzwerkkarte: eth0.

nach einiger suche, hab ich zwei vernünftige wiki's zum thema gefunden:

http://gentoo-wiki.com/HOWTO_IP_Aliasing

und bei hetzner selbst: http://wiki.hetzner.de/index.php/Zus%C3%A4tzliche_IP-Adressen_Gentoo

hab auch alles genauso gemacht. die haupt-ip (die ich nach dem bestellen grekriegt hab) funktioniert wunderbar, 

und wird auch bei eth0 angezeigt.

wenn ich von zuhause ein ping an die anderen (zusätzlichen) ip-adressen sende, 

dann wird er auch von meinem server beantwortet.

nur leider sehe ich die anderen ip-adressen NICHT in meiner ifconfig.

hier meine /etc/conf.d/net config:

```
m4 / # cat /etc/conf.d/net

# This blank configuration will automatically use DHCP for any net.*

# scripts in /etc/init.d.  To create a more complete configuration,

# please review /etc/conf.d/net.example and save your configuration

# in /etc/conf.d/net (this file :]!).

# h.h.h.187 = Haupt-IP

# h.h.h.161 = gateway für Haupt-IP

#

# z.z.z.232, z.z.z.234 - z.z.z.238 = zusatz-IP

# z.z.z.233 = gateway für zusatz-IP

config_eth0=(

        "h.h.h.187 netmask 255.255.255.224 brd h.h.h.191"

        "z.z.z.232 netmask 255.255.255.248 brd z.z.z.239"

        "z.z.z.234 netmask 255.255.255.248 brd z.z.z.239"

        "z.z.z.235 netmask 255.255.255.248 brd z.z.z.239"

        "z.z.z.236 netmask 255.255.255.248 brd z.z.z.239"

        "z.z.z.237 netmask 255.255.255.248 brd z.z.z.239"

        "z.z.z.238 netmask 255.255.255.248 brd z.z.z.239"

)

routes_eth0=(

        "default via h.h.h.161"

        "z.z.z.232/29 dev eth0 table secondnet"

        "default via z.z.z.233 table secondnet"

)

dns_domain="meine-domain.de"
```

und hier die /etc/conf.d/local.start:

```
m4 / # cat /etc/conf.d/local.start

# /etc/conf.d/local.start

# This is a good place to load any misc programs

# on startup (use &>/dev/null to hide output)

ip rule add from z.z.z.232 table secondnet

ip rule add from z.z.z.234 table secondnet

ip rule add from z.z.z.235 table secondnet

ip rule add from z.z.z.236 table secondnet

ip rule add from z.z.z.237 table secondnet

ip rule add from z.z.z.238 table secondnet

```

und zum schluss die /etc/iproute2/rt_tables:

```
m4 / # cat /etc/iproute2/rt_tables

#

# reserved values

#

255     local

254     main

253     default

0       unspec

#

# local

#

#1      inr.ruhep

1       secondnet
```

ehrlich gesagt, hab ich den sinn von rt_tables nicht ganz verstanden. 

und überhaupt, hab ich zum ersten mal iproute2 bei mir installiert.

also falls mir jemand noch nebenbei die configs erklären könnte wäre nett. 

mein verständnis-problem liegt in dem interface. 

warum zeigt er bei mir kein eth0:0, eth0:1, ...?

und kann ich die adressen auch zu eth1, eth2 zuweisen, 

obwohl ich keine physikalische netzwerkkarte hab?

und die letzte frage zur bestätigung, 

wie greife ich auf die diesen interface (eth0:0) in iptables? genauso?

danke

gruss krolik26Last edited by krolik26 on Thu Jul 19, 2007 9:12 pm; edited 1 time in total

----------

## Anarcho

Die Methode mittels eth0:x ist nicht sonderlich toll.

Die anderen IP-Adressen kannst du mit dem Befehl "ip" rausfinden.

```
ip addr show
```

Dazu muss iproute2 installiert sein.

----------

## krolik26

vielen dank fuer die antwort.

iproute2 hab ich bereits installiert, sonst koennte ich die tutorials (von oben genannten links) nicht nachvollziehen.

der befehl 

```
ip addr show
```

 zeigt mir folgendes:

```
m4 / # ip addr show

1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo

2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000

    link/ether 00:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

    inet h.h.h.187/27 brd h.h.h.191 scope global eth0

    inet z.z.z.232/29 brd z.z.z.239 scope global eth0

    inet z.z.z.234/29 brd z.z.z.239 scope global secondary eth0

    inet z.z.z.235/29 brd z.z.z.239 scope global secondary eth0

    inet z.z.z.236/29 brd z.z.z.239 scope global secondary eth0

    inet z.z.z.237/29 brd z.z.z.239 scope global secondary eth0

    inet z.z.z.238/29 brd z.z.z.239 scope global secondary eth0
```

und ifconfig zeigt mir nur folgendes:

```
m4 / # ifconfig

eth0    Protokoll:Ethernet  Hardware Adresse 00:xx:xx:xx:xx:xx

          inet Adresse:h.h.h.187  Bcast:h.h.h.191  Maske:255.255.255.224

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:7443 errors:0 dropped:0 overruns:0 frame:0

          TX packets:3175 errors:0 dropped:0 overruns:0 carrier:0

          Kollisionen:0 Sendewarteschlangenlänge:1000

          RX bytes:537461 (524.8 Kb)  TX bytes:1086633 (1.0 Mb)

          Interrupt:10 Basisadresse:0x2000

lo        Protokoll:Lokale Schleife

          inet Adresse:127.0.0.1  Maske:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:5434 errors:0 dropped:0 overruns:0 frame:0

          TX packets:5434 errors:0 dropped:0 overruns:0 carrier:0

          Kollisionen:0 Sendewarteschlangenlänge:0

          RX bytes:506016 (494.1 Kb)  TX bytes:506016 (494.1 Kb)
```

eth0:0 usw... zeigt er mir wie gesagt nicht an, und dass ist mein problem, 

bzw. bin ich jetzt verunsichert, ob ich wirklich auch alles richtig eingerichtet hab.

 *Anarcho wrote:*   

> Die Methode mittels eth0:x ist nicht sonderlich toll. 

 

warum ist die methode mit eth0:0 nicht sonderlich toll? was gibts denn fuer alternativen?

was macht man den, wenn man mehrere ip-adressen hat, aber nur eine physikalische netzwerkkarte?

----------

## misterjack

Ich habe auch einen Rootserver bei Hetzner, ich hab lediglich:

```
modules=( "iproute2" )

config_eth0=(

        "85.10.198.*** netmask 255.255.255.224"

        "88.198.208.*** netmask 255.255.255.248"

        "88.198.208.*** netmask 255.255.255.248"

        [...]

)

routes_eth0=( "default via 85.10.198.***" )
```

ip addr show:

```
2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000

    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff

    inet 85.10.198.***/27 brd 85.10.198.*** scope global eth0

    inet 88.198.208.***/29 brd 88.198.208.*** scope global eth0

    inet 88.198.208.***/29 brd 88.198.208.*** scope global secondary eth0

    [...]
```

Die Angabe aller Adressen braucht man in ifconfig nicht wirklich, wenn es ip addr show gibt, oder?  :Smile: 

----------

## b3cks

Wichtig ist zu anfang der /etc/conf.d/net das

```
modules=( "iproute2" )
```

zu setzen. Ansonsten geht das nicht! Des Weiteren kann auch die kürzere Maskenschreibweise (IP/CIDR) verwendet werden. Beispiel:

```
# Kommentar Gedöns

modules=( "iproute2" )

config_eth0=(

"88.198.x.x/27" # Die Haupt-IP des Servers

"88.198.y.y/29" # Die nutzbaren IPs des Subnet

"88.198.y.y/29"

"88.198.y.y/29"

"88.198.y.y/29"

"88.198.y.y/29"

)

routes_eth0=(

"default via 88.198.r.r" # IP des zuständigen Netz-Routers

"88.198.y.y/29 via 88.198.y.y" # IP des Subnet über das entsprechende Gateway

)
```

//edit: Hetzner hat die Wiki nach Info aktualisiert: http://wiki.hetzner.de/index.php/Zus%C3%A4tzliche_IP-Adressen_Gentoo

----------

## Anarcho

 *krolik26 wrote:*   

> vielen dank fuer die antwort.
> 
> iproute2 hab ich bereits installiert, sonst koennte ich die tutorials (von oben genannten links) nicht nachvollziehen.
> 
> der befehl 
> ...

 

Du hast alles richtig gemacht da ip addr show ja alle anzeigt. ifconfig zeigt immer nur die erste Ip-Adresse an.

Der Vorteil ist ein einfachere Konfiguration und ich meine das irgendetwas mit den aliases nicht ging, kann mich aber nicht mehr dran erinnern.

----------

## misterjack

 *b3cks wrote:*   

> //edit: Hetzner hat die Wiki nach Info aktualisiert: http://wiki.hetzner.de/index.php/Zus%C3%A4tzliche_IP-Adressen_Gentoo

 

Habe jetzt mal imho nützliche Informationen aus diesem Thread dort eingebracht   :Wink: 

----------

## b3cks

 *misterjack wrote:*   

>  *b3cks wrote:*   //edit: Hetzner hat die Wiki nach Info aktualisiert: http://wiki.hetzner.de/index.php/Zus%C3%A4tzliche_IP-Adressen_Gentoo 
> 
> Habe jetzt mal imho nützliche Informationen aus diesem Thread dort eingebracht  

 

Coole Sache!  :Very Happy: 

----------

## krolik26

vielen dank für euere ausführlichen antworten, ihr habt mir sehr geholfen.

jetzt bin ich auch beruhigt, dass ich kein eth0:0 etc.. sehe.

übrigens, die erste ip: z.z.z.232 ist eigentlich keine nutzbare ip, 

sondern nur die netz-nr. (wurde mir beim hetzner-tel. support erklärt).

vielen dank.

----------

## misterjack

 *krolik26 wrote:*   

> übrigens, die erste ip: z.z.z.232 ist eigentlich keine nutzbare ip, 
> 
> sondern nur die netz-nr. (wurde mir beim hetzner-tel. support erklärt).

 

bist du im hetzner-forum angemeldet? da gibts nen thread dazu: http://forum.hetzner.de/wbb2/thread.php?threadid=7361

theoretisch sind bei einem 29-Subnetz bis zu 7 IPs nutzbar, während bei Hetzner nur 5 nutzbar sind.

----------

## think4urs11

 *misterjack wrote:*   

> theoretisch sind bei einem 29-Subnetz bis zu 7 IPs nutzbar, während bei Hetzner nur 5 nutzbar sind.

 

Ist zwar OT, aber man sollte das wenigstens erklären

/29 == 255.255.255.248 == 8 Adressen

-1 Broadcastadresse (i.d.R. die höchste im Block)

-1 Gateway (irgendwie will man i.d.R. aus dem Netz ja auch nach außen kommen)

-1 Netzadresse (i.d.R. die niedrigste im Block); im Prinzip ist diese auch als Hostadresse nutzbar, klappen wird dies aber nur sehr selten reibungslos

5 nutzbare Adressen ist also schon richtig und durchaus 'marktüblich' - abgesehen von Spezialfällen in denen ein GW nicht nötig ist und Fällen in denen die Netzadresse für den Host nutzbar ist, dann 6 bzw. 7 nutzbare.

Sofern das OS es unterstützt ist auch Netz=höchste und Broadcast=niedrigste möglich, ist aber ziemlich exotisch, noch nie in einem produktiven Umfeld gesehen.

----------

## misterjack

Als Argument brachte einer:

 *Quote:*   

> Bei den weiteren IP-Adressen ruhig weiter ein Subnetz verwenden. Dieses aber via die Haupt-IP routen, so daß der Hetzner-Router nicht mehr in dem Subnetz eine IP belegt. Fürs Routing aus dem Server heraus ist das eh nicht nötig, wie selbst das Wiki-Beispiel für die Einrichtung zusätzlicher IPs belegt. Dann wären 6, bei Verwendung der Netzwerk-Adresse (normal unproblematisch) 7 Adressen des Subnetzes (und zusätzlich die Haupt-IP) für den Kunden nutzbar.

 

Will mich da aber nicht zuweit rauslehnen, da ich da nicht sooo bewandert bin  :Smile: 

----------

## papahuhn

Mich würden da mal konkrete Routingtabellen sehr interessieren. Besonders klar drückt sich der Zitierte nicht aus. Was soll "via Haupt-IP routen" bedeuten? Wie sieht die default-route aus.

Fragen über Fragen...

----------

