
我正在嘗試在 Centos 中設定兩個網路設定檔。一種用於家裡,一種用於工作。家庭設定檔具有固定的 IP 位址、固定的網關和 DNS 伺服器位址。工作設定檔取決於 DHCP。
我在 /etc/sysconfig/networking/profiles 中建立了一個「home」和一個「work」目錄。每個都有以下包含正確配置的檔案:
> -rw-r--r-- 2 root root 422 Apr 17 20:17 hosts
> -rw-r--r-- 5 root root 223 Apr 17 20:18 ifcfg-eth0
> -rw-r--r-- 1 root root 101 Apr 17 20:17 network
> -rw-r--r-- 2 root root 73 Apr 17 20:18 resolv.conf
已經有一個“預設”配置文件,其中包含相同的文件。
然後我發出了這些命令:
system-config-network-cmd --profile work --activate
service network restart
我期望這些文件從目錄複製profiles/work
到/etc/sysconfig/
和/etc/sysconfig/networking-scripts
。大多數文件都會被複製,除了ifcfg-eth0
.
奇怪的是,當我發出 .txt 檔案時,檔案似乎被當前設定覆蓋system-config-network-cmd
。其他文件也被觸及,但內容不變。
系統是 Centos 5.7,運行在 Windows 7 機器內的虛擬 PC 上。這是 ifconfig 的輸出:
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:03:FF:6F:2E:AB
inet addr:192.168.1.200 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::203:ffff:fe6f:2eab/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4199761 errors:7 dropped:0 overruns:0 frame:0
TX packets:1733750 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2316624688 (2.1 GiB) TX bytes:415533386 (396.2 MiB)
Interrupt:9
有人能告訴我這裡缺少什麼嗎?
答案1
正如 RedHat 的文件在網路設定檔上,您不應使用eth0
設定檔介面的基本介面名稱 ( ),而應使用名為 as 的名稱,依此eth0_work
類推。順便說一句,您不需要重新啟動網路配置,因為設定檔切換會自行處理。一個例子:
# system-config-network-cmd --profile foobar --activate
Network device deactivating...
Deactivating network device eth0, please wait...
Network device activating...
Activating network device eth0_foobar, please wait...
答案2
為什麼在這裡使用設定檔?
假設 eth0 是家庭線路,靜態 IP,編輯:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
IPADDR=192.168.57.200
NETMASK=255.255.255.0
STATIC=yes
ONBOOT=yes
對於其他工作線,使用 DHCP,編輯:
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
並確保network
服務在啟動時啟動。
例如,如果您在等級 2 、 3 執行服務,您可以執行以下操作:
chkconfig --level 23 network on
重新啟動以查看變更。