
現在、インターフェースに追加している追加の 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-centos-rhel-fedora-linux-add-multiple-ip-samenic/