it-swarm.com.de

So definieren Sie eine sekundäre IP-Adresse, die standardmäßig inaktiv ist

Ich kann eine sekundäre IP-Adresse definieren auf derselben Netzwerkkarte, indem ich die Zeilen hinzufüge

auto eth0:1
iface eth0:1 inet static
        address 192.168.9.101
        ...

zu /etc/network/interfaces.

Dies gibt mir eine IP-Adresse, die ich mit ifup und ifdown aktivieren oder deaktivieren kann. Standardmäßig ist es jedoch aktiviert. Nach dem Lesen der Manpage muss ich nur die Zeile auto eth0:1 entfernen, um sie standardmäßig zu deaktivieren. Dies führt jedoch dazu, dass ifup/down überhaupt nicht funktioniert.

Gibt es eine Möglichkeit, dies zu tun?

UPDATE: OK, das Problem war also viel einfacher als ich dachte. Folgendes habe ich ursprünglich getan:

[email protected]:~# cat /etc/network/interfaces 
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 192.168.2.101
    netmask 255.255.0.0
    network 192.168.0.0
    broadcast 192.168.255.255
    gateway 192.168.1.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 192.168.1.1

auto eth0:1
iface eth0:1 inet static
    address 192.168.9.101
    netmask 255.255.0.0
    network 192.168.0.0
    broadcast 192.168.255.255
    gateway 192.168.1.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 192.168.1.1

[email protected]:~# /etc/init.d/networking restart
 * Reconfiguring network interfaces...                                                                                                                       ssh stop/waiting
ssh start/running, process 3339
ssh stop/waiting
ssh start/running, process 3373
                                                                                                                                                      [ OK ]
[email protected]:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:03:43:82  
          inet addr:192.168.2.101  Bcast:192.168.255.255  Mask:255.255.0.0
          inet6 addr: fe80::a00:27ff:fe03:4382/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2836310 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2806585 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:220309837 (220.3 MB)  TX bytes:187167315 (187.1 MB)

eth0:1    Link encap:Ethernet  HWaddr 08:00:27:03:43:82  
          inet addr:192.168.9.101  Bcast:192.168.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1909267 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1909267 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:160262241 (160.2 MB)  TX bytes:160262241 (160.2 MB)

[email protected]:~# sed -i 's/auto eth0:1/#auto eth0:1/' /etc/network/interfaces 
[email protected]:~# /etc/init.d/networking restart
 * Reconfiguring network interfaces...                                                                                                                       SIOCDELRT: No such process
ssh stop/waiting
ssh start/running, process 3787
                                                                                                                                                      [ OK ]
[email protected]:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:03:43:82  
          inet addr:192.168.2.101  Bcast:192.168.255.255  Mask:255.255.0.0
          inet6 addr: fe80::a00:27ff:fe03:4382/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2840372 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2810267 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:220637496 (220.6 MB)  TX bytes:187451978 (187.4 MB)

eth0:1    Link encap:Ethernet  HWaddr 08:00:27:03:43:82  
          inet addr:192.168.9.101  Bcast:192.168.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1911328 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1911328 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:160435069 (160.4 MB)  TX bytes:160435069 (160.4 MB)

[email protected]:~# ifdown eth0:1
ifdown: interface eth0:1 not configured

Dies ist der Punkt, an dem ich feststeckte und dachte, dass etwas mit der Verwendung von ifup/down in einer solchen Konfiguration nicht stimmt. Wie sich herausstellt, ist die Lösung ganz einfach:

[email protected]:~# ifup eth0:1
ssh stop/waiting
ssh start/running, process 3829
[email protected]:~# ifdown eth0:1
[email protected]:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:03:43:82  
          inet addr:192.168.2.101  Bcast:192.168.255.255  Mask:255.255.0.0
          inet6 addr: fe80::a00:27ff:fe03:4382/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2840609 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2810473 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:220656625 (220.6 MB)  TX bytes:187469288 (187.4 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1911447 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1911447 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:160445053 (160.4 MB)  TX bytes:160445053 (160.4 MB)

Danke @Gilles, dass Sie mich angerufen haben, und danke @Marius für die alternative Lösung.

3
itsadok

Ich weiß nicht, ob Sie dies mit ifup/ifdown erreichen können, aber Sie können auf diese Weise zur Laufzeit eine IP-Adresse zu einer Schnittstelle hinzufügen oder daraus entfernen

ip addr add 192.168.9.101/32 dev eth0

und

ip addr del 192.168.9.101/32 dev eth0

stattdessen.

Sie müssen dafür keine virtuellen 'eth0: 1'-Schnittstellen definieren (obwohl Sie wenn Sie möchten können, indem Sie label eth0:1 vor dev eth0, I einfügen denke, ich habe den Punkt nie gesehen.).

Wenn Sie es sich irgendwann anders überlegen und diese sekundäre IP-Adresse als standardmäßig verfügbar festlegen, können Sie dies in/etc/network/interfaces tun:

auto eth0
iface eth0 inet ...
    ... whatever you have there already for eth0 ...
    up ip addr add 192.168.9.101/32 dev eth0 
8
Marius Gedminas