我正在尝试在 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
重新启动以查看更改。