Настройка сети

При первичной установке Solaris 11 Express сетевая карта получает адрес по dhcp. Что делать, если нужно принудительно установить статический IP адрес? Об этом пойдёт ниже.

Тестовый стенд: Solaris 11 Express x64

1) Изменение настройки сетевой карты при автозапуске

В Солярис 11 сетевая служба запускается либо в виде svc:/network/physical:nwam, либо в виде svc:/network/physical:default. Одновременно они запущены быть не могут. NWAM (network auto magic) отвечает за автоматические настройки сетевой службы и используется в настольных компьютерах и ноутбуках. Default — используется для ручной настройки сетевой службы и применяется в серверах. По умолчанию включен nwam и выключен default.

Принципы настроек этих двух служб совершенно разные. В данной статье будем изучать только настройку службы svc:/network/physical:default.
Значит, первое, что нужно сделать — это выключить nwam и включить default:

# svcadm disable svc:/network/physical:nwam
# svcadm enable svc:/network/physical:default

2) Создание сетевых интефейсов.

Смотрим список сетевых карт:

# ipadm show-if
IFNAME STATE CURRENT PERSISTENT
lo0 ok -m-v------46 ---
e1000g0 ok bm---------- ---

Для начала нужно удалить текущую сетевую карту:

# ipadm delete-ip e1000g0

Теперь создадим заново:

# ipadm create-ip e1000g0

и посмотрим состояние:

# ipadm show-if
IFNAME STATE CURRENT PERSISTENT
lo0 ok -m-v------46 ---
e1000g0 ok bm--------46 -46

Как видим у нас есть возможность использовать настройку сетевой карты для ipv4/ipv6.

3) Установка сетевого адреса, шлюза, DNS’ов

— статический IP-адрес:

Что бы присвоить сетевой адрес IPv4 на интерфейс, выполняем такую команду:

# ipadm create-addr -T static -a 10.10.10.10/24 e1000g0/v4

Добавляем шлюз:

# route -p add default 10.10.10.1

— адрес по DHCP

# ipadm create-addr -T DHCP e1000g0/v4

получить адрес

#ifconfig e1000g0 dhcp start

посмотреть статус:

#ifconfig e1000g0 dhcp status

DNS:

В 11 версии нет необходимости править конфиг /etc/resolv.conf. Теперь надо изменять свойства службы dns/client:

# svccfg
svc:> select dns/client
svc:/network/dns/client> setprop config/nameserver = net_address: ( 138.2.202.15 138.2.202.25 )
svc:/network/dns/client> select dns/client:default
svc:/network/dns/client:default> refresh
svc:/network/dns/client:default> validate
svc:/network/dns/client:default> select name-service/switch
svc:/system/name-service/switch> setprop config/host = astring: "files dns"
svc:/system/name-service/switch> select system/name-service/switch:default
svc:/system/name-service/switch:default> refresh
svc:/system/name-service/switch:default> validate
svc:/system/name-service/switch:default> end
# svcadm enable dns/client
# svcadm refresh name-service/switch

Примечание.

Если при загрузке появляется ошибка

Aug 19 19:16:57 svc.startd[7]: svc:/network/physical:default: Method "/lib/svc/method/net-physical" failed with exit status 96.
[ network/physical:default misconfigured (see 'svcs -x' for details) ]

и вы сделали всё как в статье, то скорее всего у вас двойные настройки сетевого интерфейса. Дело в том, что в 11 версии, в отличии от предыдущих НЕТ НАДОБНОСТИ ПРАВИТЬ КОНФИГИ для настройки сетевых параметров. Достаточно использовать команды ipadm/dladm, которые сами генерируют соответствующие конфиги в папках /etc/ipadm, /etc/dladm. В итоге напрашивается вариант решения проблемы:

— удаляем файл /etc/defaultrouter (а так файл /etc/inet/defaultrouter, если он конечно есть)
— удаляем файл /etc/hostname.e1000g0 (а так файл /etc/inet/hostname.e1000g0, если он конечно есть)
— удаляем файл /etc/netmask (а так файл /etc/inet/netmask, если он конечно есть)

После этого уходим в ребут и ошибок больше не должно появляться. Если вдруг не помогло, тогда советую посмотреть сюда

Бонус.

Есть недокументированный параметр в команде ifconfig — configinfo, который показывает, в каком порядке поднимаются сетевые интерфейсы и какие адреса им присваиваются:

$ ifconfig -a configinfo
lo0 inet plumb mtu 8232 index 1 set 127.0.0.1 netmask 0xff000000 up
lo0 inet plumb mtu 8232 index 1 addif 127.0.0.1 netmask 0xff000000 up
lo0 inet plumb mtu 8232 index 1 addif 127.0.0.1 netmask 0xff000000 up
igb0 inet plumb mtu 1500 index 2 set 10.4.4.4 netmask 0xffffffe0 broadcast 10.4.4.31 up
igb0 inet plumb mtu 1500 index 2 addif 10.4.4.98 netmask 0xfffffff0 broadcast 10.4.4.111 up
igb0 inet plumb mtu 1500 index 2 addif 10.4.4.97 netmask 0xfffffff0 broadcast 10.4.4.111 up

Это пример сервера с основным IP=10.4.4.4/28 и остальными IP в зонах.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *