Возник вопрос: как конфигурировать сеть в 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
Задача решена.