vi /etc/rc.local

vi /etc/rc.local

現在、インターフェースに追加している追加の IP アドレスのインターフェースにラベルを付けようとして行き詰まっています。インターフェースが eth0 ( ) だとすると$IFACE、次のよう$ADDRFAM="inet"にラベル付けされたエイリアスに IPv4 アドレスを追加できます。eth0

ip -f $ADDRFAM addr add 10.0.0.1 dev $IFACE:test label $IFACE:test

これは次のように翻訳される

ip -f inet addr add 10.0.0.1/32 dev eth0:test label eth0:test

ここで-f inet、 、つまり IPv4 は暗黙的に指定されており、省略できます。

ざっとチェックするとifconfig次のようになります:

eth0:test Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF
          inet addr:10.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

IPv6 で同様のことを試してみます ( $ADDRFAM="inet6"):

ip -f $ADDRFAM addr add fdbf:98fc:66a5:de67::1/128 dev $IFACE:test label $IFACE:test

これは次のように展開される

ip -f inet6 addr add fdbf:98fc:66a5:de67::1/128 dev eth0:test label eth0:test

失敗は示されていないが、期待される結果も得られない:

eth0      Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF
          [...]
          inet6 addr: fdbf:98fc:66a5:de67::1/128 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5641 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5483 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:792232 (792.2 KB)  TX bytes:861177 (861.1 KB)

eth0:test Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF
          inet addr:10.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

何が起こっているのでしょうか? ラベル付けによって、アドレスを下にリストするという期待される効果が得られないのはなぜですかeth0:test?


比較すると、それぞれの行はip addr次のようになります。

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    [...]
    inet 10.0.0.1/32 scope global eth0:test
       valid_lft forever preferred_lft forever
    [...]
    inet6 fdbf:98fc:66a5:de67::1/128 scope global
       valid_lft forever preferred_lft forever

答え1

この回答は NIX のさまざまなバージョンに対するものであることは承知していますが、もう一度試してみて、これが役立つかどうか確認してみます。

Q. 仮想ホスティング用に Red Hat / Fedora / RHEL / CentOS Linux の eth0 に複数の IPv6 アドレスを追加するにはどうすればよいですか?

A. Red Hat / CentOS Linux システムでネットワーク エイリアスを追加する方法は 2 つあります。 IPv6 ネットワーク エイリアスを追加するには、次のいずれかのファイルを編集する必要があります。

/etc/rc.local - Use ifconfig command and shell loop.
/etc/sysconfig/network-scripts/ifcfg-eth0 - Set special variable called IPV6ADDR_SECONDARIES for eth0 virtual hosting (network alias).

まず、IPv6メインサーバーのIPアドレスとデフォルトルーターを設定します。基本的なIPv6接続が確立されたら、NICのエイリアスを設定できます。/etc/rc.local構成

2607:f0d0:1002:11::10 から 2607:f0d0:1002:11::50 (合計 40) の仮想エイリアスを追加するには、/etc/rc.local ファイルを開いて、次のように入力します。

vi /etc/rc.local

次のコードを追加します:

IP エイリアス

{10..40}のIPに対して、/sbin/ifconfig eth0 inet6 add 2607:f0d0:1002:11::${ip}/64を実行します。完了

シェル プロンプトで同じコマンドを入力すると、ネットワーク エイリアスをすぐに有効にできます。または、シェル スクリプトを作成して、/etc/rc.local 自体から呼び出すこともできます。

!/bin/bash

INETP="2607:f0d0:1002:11::" PRE="64" START=2 END=200 INT_IF="eth0" IFCONFIG=/sbin/ifconfig echo -n "IPv6 エイリアスを追加しています..." for i in {$START..$END} do $IFCONFIG $INT_IF inet6 add ${INETP}${i}/${PRE} done echo "完了しました!"

sysv スタイルの設定

ネットワーク インターフェイス構成ファイルを開き、次のように入力します。

vi /etc/sysconfig/ネットワークスクリプト/ifcfg-eth0

次のコードにセカンダリ IPv6 アドレスのリストを追加します (5 つのエイリアスを設定します)。

IPV6ADDR_SECONDARIES="2607:f0d0:1002:11::10/64 \ 2607:f0d0:1002:11::11/64 \ 2607:f0d0:1002:11::12/64 \ 2607:f0d0:1002:11::13/64 \ 2607:f0d0:1002:11::14/64"

ファイルを保存して閉じます。ネットワークを再起動します。

/etc/init.d/ネットワークを再起動

つまり、IPV6 アドレス自体がエイリアスであるようです。

ソース:http://www.cyberciti.biz/faq/redhat-c​​entos-rhel-fedora-linux-add-multiple-ip-samenic/

関連情報