
Я пытаюсь настроить два сетевых профиля в Centos. Один для дома, один для работы. Домашний профиль имеет фиксированный IP-адрес, фиксированный шлюз и адреса DNS-сервера. Рабочий профиль зависит от DHCP.
Я создал каталоги 'home' и 'work' в /etc/sysconfig/networking/profiles. Каждый из них имеет следующие файлы, содержащие правильную конфигурацию:
> -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
.
Достаточно странно, что файлы, похоже, перезаписываются текущими настройками, когда я запускаю system-config-network-cmd
. Другие файлы также затрагиваются, но их содержимое остается нетронутым.
Система — Centos 5.7, запущенная на виртуальном ПК на машине с Windows 7. Вот вывод 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'sдокументацияв сетевых профилях не следует использовать базовое имя интерфейса ( eth0
) для интерфейсов профиля, а иметь один, называемый как 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
Перезагрузите, чтобы увидеть изменения.