Skip to main content

Очень кратко: настройка сети в Oracle Solaris 11 в несколько простых шагов.

Возник вопрос: как конфигурировать сеть в Solaris 11? Файлов, привычно разложенных в /etc – нет. Хорошо хоть ifconfig работает – и даже позволяет создать интерфейс новый. Но – что делать, если конфигурацию нужно зафиксировать?

Смотрю на новую систему – и понимаю – админы теперь могут “закошмарить” систему до безобразия – как это получается с зонами 🙁 Если раньше Solaris не хватало гибкости в сетевом стеке – то теперь ее – в избытке. В хитросплетениях сетевых настроек теперь можно нагородить очень тяжелую конфигурацию, избыточную с точки зрения администрирования – и сделать это слишком легко.

Более того – уже столкнулся с ситуацией, когда админы в упор не желают читать банальную документацию на сайте Oracle. Там все очень детально описано!

Для начала надо тщательно читать вот это – http://download.oracle.com/docs/cd/E19963-01/html/821-1458/docinfo.html.

Дано: утилиты dladm, ipadm, свободный сетевой интерфейс (только что установленный в систему).
Надо: настроить ipv4 на нем.

По шагам:

dladm show-link # выбираем интерфейс
dladm rename-link net1 InternalNetwork0 # использую гибкую систему именования, даем осмысленное название
ipadm create-ip InternalNetwork0 # создаем IP-интерфейс
ipadm create-addr -T static -a local=192.168.128.1/24 InternalNetwork0/net128 # назначаем ipv4 адрес

Задача решена. Ниже по тексту – чуть больше деталей.

Искомый вид на конфигурацию системы:

root@vSola-1:~# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
net0: flags=1000843 mtu 1500 index 2
inet 192.168.56.1 netmask ffffff00 broadcast 192.168.56.255
ether 8:0:27:7d:7e:d7
lo0: flags=2002000849 mtu 8252 index 1
inet6 ::1/128
net0: flags=20002004841 mtu 1500 index 2
inet6 fe80::a00:27ff:fe7d:7ed7/10
ether 8:0:27:7d:7e:d7
root@vSola-1:~#
root@vSola-1:~# ipadm show-addr
ADDROBJ TYPE STATE ADDR
lo0/v4 static ok 127.0.0.1/8
net0/v4 static ok 192.168.56.1/24
lo0/v6 static ok ::1/128
net0/v6 addrconf ok fe80::a00:27ff:fe7d:7ed7/10

Делаем:

root@vSola-1:~# dladm show-link
LINK CLASS MTU STATE OVER
net0 phys 1500 up --
net1 phys 1500 unknown -- # искомый интерфейс
root@vSola-1:~#
root@vSola-1:~# dladm show-ether
LINK PTYPE STATE AUTO SPEED-DUPLEX PAUSE
net0 current up yes 1G-f bi
net1 current unknown yes 0M bi
root@vSola-1:~#

Будем жить красиво, используя все возможности на полную катушку – обзовем логично и читаемо:

root@vSola-1:~# dladm rename-link net1 InternalNetwork0
root@vSola-1:~#
root@vSola-1:~# dladm show-link
LINK CLASS MTU STATE OVER
net0 phys 1500 up --
InternalNetwork0 phys 1500 unknown --

Создадим ipv4 интерфейс, через слэш – осмысленное название нашего адреса в сети:

root@vSola-1:~# ipadm create-ip InternalNetwork0
root@vSola-1:~# ipadm create-addr -T static -a local=192.168.128.1/24 InternalNetwork0/net128
root@vSola-1:~#
root@vSola-1:~# ipadm show-addr
ADDROBJ TYPE STATE ADDR
lo0/v4 static ok 127.0.0.1/8
net0/v4 static ok 192.168.56.1/24
InternalNetwork0/net128 static ok 192.168.128.1/24
lo0/v6 static ok ::1/128
net0/v6 addrconf ok fe80::a00:27ff:fe7d:7ed7/10
root@vSola-1:~#
root@vSola-1:~# ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
net0: flags=1000843 mtu 1500 index 2
inet 192.168.56.1 netmask ffffff00 broadcast 192.168.56.255
ether 8:0:27:7d:7e:d7
InternalNetwork0: flags=1000843 mtu 1500 index 5
inet 192.168.128.1 netmask ffffff00 broadcast 192.168.128.255
ether 8:0:27:60:7c:3c
lo0: flags=2002000849 mtu 8252 index 1
inet6 ::1/128
net0: flags=20002004841 mtu 1500 index 2
inet6 fe80::a00:27ff:fe7d:7ed7/10
ether 8:0:27:7d:7e:d7
InternalNetwork0: flags=20002000840 mtu 1500 index 5
inet6 ::/0
ether 8:0:27:60:7c:3c

Задача решена.