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 下如何為虛擬主機新增多個 IPv6 位址到 eth0?

A. Red hat/CentOS Linux系統下新增網路別名有兩種方法。您需要編輯下列任一檔案才能新增 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 新增 2607:f0d0:1002:11::${ip}/64;完畢

您可以在 shell 提示字元下鍵入相同的命令來立即啟動網路別名。或建立一個 shell 腳本並從 /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/network-scripts/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::12/64 \ 2607:002 :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/

相關內容