С чего начать настройку сети в Oracle Solaris 11
Перевод статьи How to Get Started Configuring Your Network in Oracle Solaris 11
Новые возможности Oracle Solaris 11
Настройка сети в ручном и автоматическом режимах
Ручная настройка сети
Автоматическое конфигурирование сети с использованием профилей
Заключение
В этой статье описаны некоторые новые возможности для базового конфигурирования сети в Oracle Solaris 11 и показано, как включить новую систему в корпоративную сеть.
В Oracle Solaris 11 сетевая архитектура существенно отличается от предыдущих версий Oracle Solaris. Изменилась не только реализация сети, но произошло множество изменений в наименовании сетевых интерфейсов, методах управления и конфигурирования.
Эти изменения были введены, чтобы принести более последовательной и комплексной опыт сетевого администрирования, в частности, в качестве администраторов добавить более сложные конфигурации, включая агрегирования каналов, мостов, балансировка нагрузки, или виртуальных сетей. В дополнение к традиционной фиксированной конфигурации сети, Oracle Solaris 11 введена автоматическая настройка сети с помощью сетевых профилей.
Новые возможности настройки сети в Oracle Solaris 11
Oracle Solaris 11 представила две новые команды для ручного управления сетью dladm и ipadm , которые заменить ifconfig. В отличие от ifconfig , изменения, внесенные dladm и ipadm сохраняются при перезагрузке. Они имеют общий, единый формат команд и, в отличие от ifconfig, у них есть возможность включения специального вывода для последующего использования в скриптах.
Команда dladm предназначена для управления каналами (уровень 2) для настройки физических каналов, агрегатов, виртуальных сетей VLAN, IP-туннелей и InfiniBand-разделов. Она также управляет свойствами канала.
Команда ipadm служит для настройки IP-интерфейсов, IP-адресов и свойств протокола TCP/IP. Онf также заменяет ndd при тонкой настройке сети и транспортного уровня.
Имена каналов (data-link) больше не совпадают с именами физических интерфейсов, которые могут быть вируальными устройствами. Вместо этого они имеют свое собственное имя, например net0 или net1, кроме того администратор может назначить им любое другое значимое имя. Это позволяет менять сетевое оборудования без повреждения сетевой конфигурации.
Кроме того, в Oracle Solaris 11 добавлена автоматическая настройка сети с помощью сетевых профилей. Управление профилями выполняется с помощью двух административных команд netadm и netcfg.
Управление профилями позволяет управлять конфигурацией сетевых интерфейсов, сервисами имен, маршрутизацией,IP-фильтрами и политиками IPsec как единым целым.
Настройка сети в ручном и автоматическом режимах
Oracle Solaris 11 использует основанное на профилях управление сетевой конфигурацией, которая включает в себя два возможных режима управления - ручной и автоматический.
В зависимости от того, какой режим управления был выбран во время установки системы, в системе активизируется либо ручной DefaultFixed, либо автоматический профиль управления сетевой конфигурацией (NCP - Network Configuration Profile).
Автоматическая NCP использует DHCP для получения базовой конфигурации сети (IP-адрес, маршрутизатор и DNS-сервер) от любого из подключенных интерфейсов Ethernet. Если это не удается, он будет пытаться подключиться к лучшей беспроводной сети из списка известных сетей.
Активизация профиля DefaultFixed отключает автоматическую конфигурацию сети и требует, чтобы сетевые интерфейсы вручную настроить с помощью dladm и ipadm, а сервисы имен должны будут настроены с помощью Oracle Solaris Service Management Facility (SMF).
Легче всего управлять конфигурацией сети путем создания своего собственного профиля, а не использовать профиль DefaultFixed для ручной настройки.
Профиль DefaultFixed должен использоваться на системах, которые будут переконфигурироваться с помощью
Oracle Solaris Dynamic Reconfiguration, или там, где будут использоваться сетевые интерфейсы с возможностью горячей замены. Этот профиль также должен использоваться при мультипасинга, который не поддерживается при использовании автоматического профиля.
Вы можете использовать netadm чтобы выяснить, какие сетевые профили активны в системе:
root@solaris:~# netadm list
TYPE PROFILE STATE
ncp Automatic online
ncu:phys net0 online
ncu:ip net0 online
loc Automatic online
loc NoNet offline
loc User online
Не углубляясь в детали (мы обсудим их ниже), вывод команды показывает, что используется автоматический профиль.
Чтобы переключиться в ручной режим управления необходимо активизировать (разрешить) профиль DefaultFixed. Для этого выполним следующую команду:
root@solaris:~# netadm enable -p ncp DefaultFixed
root@solaris:~# netadm list
netadm: DefaultFixed NCP is enabled; automatic network management is not available.
'netadm list' is only supported when automatic network management is active.
Чтобы вновь переключиться к автоматическому профилю конфигурирования:
root@solaris:~# netadm enable -p ncp Automatic
root@solaris:~# netadm list
TYPE PROFILE STATE
ncp Automatic uninitialized
ncu:phys net0 uninitialized
ncu:ip net0 uninitialized
loc Automatic uninitialized
Спустя некоторое время после того как система начнет обновлять сетевую конфигурацию и получит сетевые адреса от DHCP сервера, мы увидим следующую картину: сетевые адреса вновь в работоспособносм состоянии.
root@solaris:~# netadm list
TYPE PROFILE STATE
ncp Automatic online
ncu:phys net0 online
ncu:ip net0 online
loc Automatic online
loc NoNet offline
loc User online
Ручная настройка сети
В следующем примере мы сконфигурируем наш сервер так, чтобы он имел статический IP-адрес 10.163.198.20.
Прежде всего мы переключим режим конфигурирования в DefaultFixed (если не сделали этого ранее).
root@solaris:~# netadm enable -p ncp DefaultFixed
На машине с несколькими сетевыми адаптерами вы можете использовать команду dladm чтобы узнать как отображены имена сетевых интерфейсов на физические интерфейсы.
root@solaris:~# dladm show-phys
LINK MEDIA STATE SPEED DUPLEX DEVICE
net0 Ethernet up 1000 full e1000g0
net1 Ethernet unknown 0 unknown pcn0
Создание статического IP-адреса состоит из двух шагов и включает в себя создание IP-интерфейса и создание IP-адреса. Может быть несколько IP-адресов, ассоциированных с одним IP-интерфейсом. IP-адрес - это объект, который имеет имя в формате "интерфейс/описание"
В примере в качестве описания мы будем использовать слово "acme".
root@solaris:~# ipadm create-ip net0
root@solaris:~# ipadm show-if
IFNAME CLASS STATE ACTIVE OVER
lo0 loopback ok yes ---
net0 ip down no ---
root@solaris:~# ipadm create-addr -T static -a 10.163.198.20/24 net0/acme
root@solaris:~# ipadm show-if
IFNAME CLASS STATE ACTIVE OVER
lo0 loopback ok yes ---
net0 ip ok yes ---
root@solaris:~# ipadm show-addr
ADDROBJ TYPE STATIC ADDR
lo0/v4 static ok 127.0.0.1/8
net0/acme static ok 10.163.198.20/24
lo0/v6 static ok ::1/128
Листинг 1. Конфигурирование статического IP-адреса
Теперь мы можем добавить постоянный маршрут по умолчанию.
root@solaris:~# route -p add default 10.163.198.1
add net default: gateway 10.163.198.1
add persistent net default: gateway 10.163.198.1
Конфигурирование сервиса имен с использованием SMF
Конфигурирование сервиса имен теперь осуществляется посредством SMF, а не через ручную правку конфигурационных файлов в /etc.
Это изменение - часть большого множества изменений в способах конфигурирования Oracle Solaris 11,
которые обеспечивают более высокую степень административного контроля над системой, особенно во время
ее обновления.
SMF сервис имен svc:/network/dns/client теперь управляет той информацией, которая раньше
хранилась в файле /etc/resolv.conf
SMF сервис имен svc:/system/name-service/switch теперь управляет той информацией, которая раньше
хранилась в файле /etc/nsswitch.conf
В обоих случаях, информация о конфигурации хранится также и старых файлах (/etc/resolv.conf и /etc/nsswitch.conf). Это сделано для совместимости, чтобы устаревшие приложения смогли прочесть
их при необходимости. Вы не должны редактировать эти устревшие файлы вручную. Изменения свойств указанных служб не отразятся в устаревших файлах до тех пор, пока служба не будет обновлена, перезапущена или разрешена.
Замечание:Про определении списков или строк как свойств SMF требутся заключать их в круглые скобки и в кавычки, чтобы избежать интерпретивания командной оболочкой.
Пример: Конфигурирование DNS-клиента с использованием SMF
В следующем примере мы будем конфигурировать службу доменных имен DNS svc:/network/dns/client используя команду svccfg. Служба позволяет переводить IP-адреса в имена хостов и наоборот - имена хостов в IP-адреса.
root@solaris:~# svccfg -s svc:/network/dns/client setprop \
config/search='("uk.acme.com" "us.acme.com" "acme.com")'
root@solaris:~# svccfg -s svc:/network/dns/client listprop config/search
config/search astring "uk.acme.com" "us.acme.com" "acme.com"
root@solaris:~# svccfg -s svc:/network/dns/client setprop \
config/nameserver=net_address: '(10.167.162.20 10.167.162.36)'
root@solaris:~# svccfg -s svc:/network/dns/client listprop config/nameserver
config/nameserver net_address 10.167.162.20 10.167.162.36
После выполнения конфигурационных изменений мы должны обновить сервис:
root@solaris:~# svcadm refresh svc:/network/dns/client
Нет необходимости устанавливать свойства для каждой базы данных сервиса имен. Вы можете использовать свойство config/default чтобы назначить значение по умолчанию. Вы можете индивидуально изменить записи, которые не могут использовать значения по умолчанию.
Пример: Конфигурирование /etc/switch.conf с использованием SMF
В следующем примере мы используем механизм переключения службы имен чтобы разрешить нашей
системе искать информацию об именах в таких источниках как DNS, LDAP, NIS или локальных файлах. Службу SMF svc:/system/name-service/switch мы снова будем конфигурировать с помощью команды svccfg.
root@solaris:~# svccfg -s svc:/system/name-service/switch setprop config/default = "files nis"
root@solaris:~# svccfg -s svc:/system/name-service/switch setprop config/host = "files dns nis"
root@solaris:~# svccfg -s svc:/system/name-service/switch setprop config/password = "files nis"
root@solaris:~# svcadm refresh svc:/system/name-service/switch
Замечание: Свойство config/host определяет записи hosts и ipnodes
в файле /etc/nsswitch.conf, а свойство config/password определяет запись passwd.
Остальные свойства имеют те же имена что и записи в /etc/nsswitch.conf.
Установка имени хоста
В Oracle Solaris 11 файл /etc/nodename был удален и заменен свойством config/nodename
сервиса svc:/system/identity:node
Чтобы установить имя хоста мы снова используем команду svccfg:
root@solaris:~# svccfg -s svc:/system/identity:node setprop config/nodename = astring: hostname
root@solaris:~# svcadm refresh svc:/system/identity:node
root@solaris:~# svcadm restart identity:node
Установка имени хоста таким способом таким путем работает и для ручного и для автоматического режима конфигурирования.
Изменения в /etc/hosts
In Oracle Solaris 11, the host's own entry in /etc/hosts is now the same as that of localhost. In previous versions of Oracle Solaris, this entry was associated with the first network interface.
В Oracle Solaris 11 в /etc/hosts собственная запись для хоста такая же как для localhost, т.е. имя хоста можно узнать из записи для IP-адреса 127.0.0.1. В предыдущих версиях Oracle Solaris запись с сетевым именем хоста была связана с первым сетевым интерфейсом.
root@solaris:~# cat /etc/hosts
#
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# Internet host table
#
::1 solaris localhost
127.0.0.1 solaris localhost loghost
Замечание: Некоторые установщики приложений могут неправильно отработать из-за изменений в
/etc/hosts. Если есть подозрения, что ошибка произошла из-за этого, то можно поправить файл вручную.
Автоматическое конфигурирование сети с использованием профилей
В Oracle Solaris 11 сетевые профили помогают собрать воедино сетевую конфигурацию, которая в предыдущих версиях системы была разбросана по множеству конфигурационных файлов.
Переключение между профилями позволяет производить множество изменений в сетевой конфигурации всего за одну операцию.
Традиционные конфигурационные файлы все еще существуют в целях совместимости, но вы не должны вручную редактировать эти файлы, так как любые модификации будут переписаны после активизации профиля или перезагрузки системы.
Сетевые профили
Сетевой профиль содержит как минимум информацию о Network Configuration Profile (NCP) и Location Profile, а опционально может содержать информацию External Network Modifiers (ENMs) (Внешние Сетевые Модификаторы) и Known Wireless Networks (WLANs) (Известные Беспроводные Сети)
NCP определяет набор каналов и IP-интерфейсов как Network Configuration Units
(NCUs)(Единицы Сетевой конфигурации).
Location Profile определяет дополнительную конфигурацию, такую как сервисы имен,
правила IP-фильтров, политики IPsec, которые могут сконфигурированы только после базовой конфигурации сети.
ENM (внешние сетевые модификаторы) - это приложения или сервисы, которые напрямую изменяют сетевую конфигурацию, когда профиль активизируется или деактивизируется.
Внешние сетевые модификаторы могут быть нужны, например, для конфигурирования виртуальной частной сети (VPN).
В данной статье внешние сетевые модификаторы или настройка беспроводной сети
затрагиваться не будет.
Профили имеют режим активации, который может быть либо ручным, либо автоматическим.
Когда автоматический профиль активен, внешние сетевые события заставляют систему
переоценить, какой из автоматических профилей "лучше" и активизировать его.
К внешним событиям можно отнести, например, включение или отключение сетевого кабеля,
потеря или восстановление контакта с сервером DHCP, обнаружение беспрводной сети.
В системе всегда есть активный профиль сетевой конфигурации и Location Profile. Невозможно запретить работу в сети путем запрещения текущего профиля.
Создание профиля сетевой конфигурации
Без модификации автоматический профиль в основном не подходит для большинства корпоративных сетей, в которых могут задаваться статические IP-адреса или нужно больше информации от сервером DHCP, чем та, которую использует автоматический профиль.
Если в вашей сети используется статическая адресация, вам понадобится
создать профиль сетевой конфигурации и Location Profile.
В следующем примере мы будем рассматривать типичную корпоративную сеть
фиктивной компании Acme. Эта сеть со статической адресацией, используется комбинация
NIS и DNS, IPv6 не используется.
Чтобы сконфигурировать систему для сети компании Acme, мы должны будем созадть профиль сетевой конфигурации и Location Profile.
Пример: Создание профиля сетевой конфигурации
Чтобы создать профиль сетевой конфигурации и его компонент NCU (единицы сетевой
конфигурации) мы используем команду netcfg.
Для физического канала мы принимаем параметры по умолчанию, назначенные командой netcfg
Также мы будем использовать протокол IPv4 и статическую адресацию.
root@solaris:~# netcfg
netcfg> create ncp acme.corp.ncp
netcfg:ncp:acme.corp.ncp> create ncu phys net0
Created ncu 'net0'. Walking properties ...
activation-mode (manual) [manual|prioritized]>
link-mac-addr>
link-autopush>
link-mtu>
netcfg:ncp:acme.corp.ncp:ncu:net0> list
ncu:net0
type link
class phys
parent "acme.corp.ncp"
activation-mode manual
enabled true
netcfg:ncp:acme.corp.ncp:ncu:net0> end
Committed changes
netcfg:ncp:acme.corp.ncp> create ncu ip net0
Created ncu 'net0'. Walking properties ...
ip-version (ipv4,ipv6) [ipv4|ipv6]> ipv4
ipv4-addrsrc (dhcp) [dhcp|static]> static
ipv4-addr> 10.163.198.20/24
ipv4-default-route> 10.163.198.1
netcfg:ncp:acme.corp.ncp:ncu:net0> list
ncu:net0
type interface
class ip
parent "acme.corp.ncp"
enabled true
ip-version ipv4
ipv4-addrsrc static
ipv4-addr "10.163.198.20/24"
ipv4-default-route "10.163.198.1"
ipv6-addrsrc dhcp,autoconf
netcfg:ncp:acme.corp.ncp:ncu:net0> end
Committed changes
netcfg:ncp:acme.corp.ncp> end
netcfg> end
Листинг 2. Создание профиля сетевой конфигурации
А теперь нам нужен Location Profile. Мы свяжем Location Profile с профилем сетевой конфигурации через режим его активизации. Location Profile будет автоматически активироваться при активации профиля.
Так как Acme использует комбинацию NIS и DNS, мы должны создать свой собственный файл
/etc/nsswitch.conf, который мы назовем /etc/nsswitch.acme.
root@solaris:~# netcfg
netcfg> create loc acme.corp.loc
Created loc 'acme.corp.loc'. Walking properties ...
activation-mode (manual) [manual|conditional-any|conditional-all]> conditional-all
conditions> ncp acme.corp.ncp is active
nameservices (dns) [dns|files|nis|ldap]> dns,nis
nameservices-config-file ("/etc/nsswitch.dns")> /etc/nsswitch.acme
dns-nameservice-configsrc (dhcp) [manual|dhcp]> manual
dns-nameservice-domain>
dns-nameservice-servers> 10.167.162.20,10.167.162.36
dns-nameservice-search> acme.com,uk.acme.com,us.acme.com
dns-nameservice-sortlist>
dns-nameservice-options>
nis-nameservice-configsrc [manual|dhcp]> manual
nis-nameservice-servers> 10.167.162.21
default-domain> acme.com
nfsv4-domain>
ipfilter-config-file>
ipfilter-v6-config-file>
ipnat-config-file>
ippool-config-file>
ike-config-file>
ipsecpolicy-config-file>
netcfg:loc:acme.corp.loc> list
loc:acme.corp.loc
activation-mode conditional-all
conditions "ncp acme.corp.ncp is active"
enabled false
nameservices dns,nis
nameservices-config-file "/etc/nsswitch.acme"
dns-nameservice-configsrc manual
dns-nameservice-servers "10.167.162.20","10.167.162.36"
dns-nameservice-search "acme.com","uk.acme.com","us.acme.com"
nis-nameservice-configsrc manual
nis-nameservice-servers "10.167.162.21"
default-domain "acme.com"
netcfg:loc:acme.corp.loc> end
Committed changes
netcfg> end
Kbcnbyu 3. Создание Location Profile
Сейчас мы можем активизировать профиль, причем Location Profile также будет автоматически активизирован.
root@solaris:~# netadm enable acme.corp.ncp
Enabling ncp 'acme.corp.ncp'
root@solaris:~# netadm list
TYPE PROFILE STATE
ncp acme.corp.ncp online
ncu:phys net0 online
ncu:ip net0 online
ncp Automatic disabled
loc acme.corp.loc online
loc Automatic offline
loc NoNet offline
loc User disabled
Листинг 4. Активизация профиля
Редактирование профиля
Есть два способа изменения профиля сетевой конфигурации с помощью команды netcfg.
Команда set позволяет установить значение отдельного свойства, а команда
walkprop проведет вас через список всех свойств.
netcfg при вызове автоматически выполняет команду walkprop.
В следующем примере мы добавляем третий сервер DNS к существующему Location Profile acme.corp.loc
root@solaris:~# netcfg
netcfg> select loc acme.corp.loc
netcfg:loc:acme.corp.loc> list
loc:acme.corp.loc
activation-mode conditional-all
conditions "ncp acme.corp.ncp is active"
enabled false
nameservices dns,nis
nameservices-config-file "/etc/nsswitch.acme"
dns-nameservice-configsrc manual
dns-nameservice-servers "10.167.162.20","10.167.162.36"
dns-nameservice-search "acme.com", "uk.acme.com","us.acme.com"
nis-nameservice-configsrc manual
nis-nameservice-servers "10.167.162.21"
default-domain "acme.com"
netcfg:loc:acme.corp.loc>
Листинг 5. Добавление сервера DNS
Команда list показывает только те свойства, которые были изменены. Команда
list -a показывает все свойства профиля.
netcfg:loc:acme.corp.loc> list -a
loc:acme.corp.loc
activation-mode conditional-all
conditions "ncp acme.corp.ncp is active"
enabled false
nameservices dns,nis
nameservices-config-file "/etc/nsswitch.acme"
dns-nameservice-configsrc manual
dns-nameservice-domain
dns-nameservice-servers "10.167.162.20","10.167.162.36"
dns-nameservice-search "acme.com", uk.acme.com","us.acme.com"
dns-nameservice-sortlist
dns-nameservice-options
nis-nameservice-configsrc manual
nis-nameservice-servers "10.167.162.21"
ldap-nameservice-configsrc
ldap-nameservice-servers
default-domain "acme.com"
nfsv4-domain
ipfilter-config-file
ipfilter-v6-config-file
ipnat-config-file
ippool-config-file
ike-config-file
ipsecpolicy-config-file
netcfg:loc:acme.corp.loc>
netcfg:loc:acme.corp.loc> set dns-nameservice-servers = "10.167.162.20","10.167.162.36","192.135.82.44"
netcfg:loc:acme.corp.loc> list
loc:acme.corp.loc
activation-mode conditional-all
conditions "ncp acme.corp.ncp is active"
enabled false
nameservices dns,nis
nameservices-config-file "/etc/nsswitch.dns"
dns-nameservice-configsrc manual
dns-nameservice-servers "10.167.162.20","10.167.162.36","192.135.82.44"
dns-nameservice-search "acme.com", uk.acme.com","us.acme.com"
nis-nameservice-configsrc manual
nis-nameservice-servers "10.167.162.21"
netcfg:loc:acme.corp.loc> verify
All properties verified
netcfg:loc:acme.corp.loc> commit
Committed changes
netcfg:loc:acme.corp.loc> end
netcfg> end
root@solaris:~#
Листинг 6. Показ всех свойств профиля
Заключение
Сетевое конфигурирование в Oracle Solaris 11 существенно изменилось. Были введены
профили сетевой конфигурации и объединенное администрирование различных аспектов
сетевой деятельности центров данных.
С помощью использования профилей сетевой конфигурации администраторы могут упростить
создание сложных конфигурации и применять их как одно целое изменение.
|