web-dev-qa-db-ja.com

既存のIPv4インターフェースにIPv6アドレスを追加しても機能しない

おそらく単純な答えですが、私はそれを見つけることができないようです。マルチホームのDebian Stable(最新)を実行していて、インターフェースeth1でIPv4とIPv6の両方のアドレスが必要です。/etc/network/interfacesは次のようになります。

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1
        up ip -6 address add 2001:470:28:5b2::1/64 dev $IFACE

問題は、インターフェイスにIPv6アドレスではなくIPv4アドレスのみが割り当てられることです。何が欠けていますか?

ifup -avを実行する場合:

g00nz@debie:~$ Sudo ifup -av
[Sudo] password for g00nz:
run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
Configuring interface eth1=eth1 (inet)
run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
ip addr add 192.168.1.2/255.255.255.0 broadcast 192.168.1.255     dev eth1 label eth1
RTNETLINK answers: File exists
Failed to bring up eth1.
run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/avahi-daemon
run-parts: executing /etc/network/if-up.d/mountnfs
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/upstart
run-parts: executing /etc/network/if-up.d/wpasupplicant

Eth1はすでに構成されており、IPv6アドレスを追加できないようですが、bashpromptから追加すると機能します。

Sudo ip -6 addr add 2001:470:28:5b2::1/64 dev eth1

ifconfig eth1で確認します。

g00nz@debie:~$ Sudo ip -6 addr add 2001:470:28:5b2::1/64 dev eth1
g00nz@debie:~$ Sudo ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:24:9b:08:4b:aa
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 2001:470:28:5b2::1/64 Scope:Global
          inet6 addr: fe80::224:9bff:fe08:4baa/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4254 errors:0 dropped:2080 overruns:0 frame:0
          TX packets:305 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:469773 (458.7 KiB)  TX bytes:45395 (44.3 KiB)

誰でも? :(

/ roger


OK、これを試して、私の/ etc/network/interfacesにこれを入れました:

auto eth1
iface eth1 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1

iface eth1 inet6 static
        address 2001:470:28:5b2::1
        netmask 64

しかし、ip aで確認すると、次のようになります。

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:24:9b:08:4b:aa brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::224:9bff:fe08:4baa/64 scope link
       valid_lft forever preferred_lft forever

私は固執しません:(

それでもifupでエラーが発生する:

g00nz@debie:~$ Sudo ifup -av
[Sudo] password for g00nz:
run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
Configuring interface eth1=eth1 (inet)
run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
ip addr add 192.168.1.2/255.255.255.0 broadcast 192.168.1.255     dev eth1     label eth1
RTNETLINK answers: File exists
Failed to bring up eth1.
run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/avahi-daemon
run-parts: executing /etc/network/if-up.d/mountnfs
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/upstart
run-parts: executing /etc/network/if-up.d/wpasupplicant
g00nz@debie:~$
2
Roger Nordqvist

ifupはおそらく実行されません。これは、インターフェースにすでにIPv4アドレスがあり、2回追加できないためです。 IPv6回線にも到達しません。可能であれば、インターフェイスを停止してすべてのアドレスを削除してから、再度起動する必要があります。

ただし、IPv6の構成は別の方法で行う必要があります。

auto eth1
iface eth1 inet static
    address 192.168.1.2
    netmask 255.255.255.0
    gateway 192.168.1.1

iface eth1 inet6 static
    address 2001:470:28:5b2::1
    netmask 64

必要に応じて、ゲートウェイを追加することもできます。

PS:多くの人は知らないようですが、netmask 24 for IPv4。スペルアウトする必要はありませんnetmask 255.255.255.0

10
Sander Steffann