Настройка сетевых служб и создание зон в Solaris Express 11

Поводом для написания этой статьи (за исключением настойчивой просьбы) послужило довольно-таки большое отличие этой версии от всех предыдущих Солярисов, а так же полное отсутствие какой-либо документации на русском языке. Надеюсь, временное.

Настройка сетевых интерфейсов

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

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

Значит, первое, что нужно сделать, — это выключить nwam и включить default.

root@chayka:~# svcs physical

STATE STIME FMRI

disabled 7:54:46 svc:/network/physical:default

online 7:54:55 svc:/network/physical:nwam

root@chayka:~# svcadm disable nwam

root@chayka:~# svcadm enable physical:default

Теперь, в Солярис 11, вместо одной команды ifconfig мы используем две: dladm и ipadm. Стало больше настроек, и их решили разбить на две команды. Хотя, как и раньше, может использоваться команда ndd, функции которой перешли к ipadm.

Обратите внимание — команда dladm используется для работы с сетевыми карточками для настройки параметров уровня 1 и 2 (физического и транспортного) модели ОСИ OSI (семиуровневая модель стека протоколов по стандарту OSI ). Команда dladm применяется только к ethernet адаптерам.

И потому в дальнейшем будем различать физические интерфейсы (порты) и логические интерфейсы. Порт в данном случае — это физическое устройство, которое имеет разъем, в который можно воткнуть вилку RJ-45 кабеля локальной сети. Беспроводные сети мы здесь не рассматриваем.

Посмотрим, какие сетевые порты имеются на нашем компьютере.

root@chayka:~# dladm show-phys

LINK MEDIA STATE SPEED DUPLEX DEVICE

rge0 Ethernet up 100 full rge0

В Солярис 11 мы можем переименовать порт (сетевую карту). Этой возможности раньше не было. Новое имя порта может быть относительно любым, но на конце должна стоять цифра.

Переименовывать порты желательно для того, чтобы остальная часть настройки не зависела от его имени. Например, назовём порт global0 и будем дальше использовать это название, даже если в будущем заменим сетевую карту на карту с другим стандартным именем порта.

Переименовывают его так:

root@chayka:~# dladm rename-link rge0 global0

И посмотрим результат

root@chayka:~# dladm show-phys

LINK MEDIA STATE SPEED DUPLEX DEVICE

global0 Ethernet up 100 full rge0

Теперь можно посмотреть интерфейсы, которые уже есть в системе

root@chayka:~# ipadm show-if

IFNAME STATE CURRENT PERSISTENT

lo0 ok -m-v——46 —

Только петлевой интерфейс и ничего больше.

Нашего интерфейса нет — его еще нужно создать вот таким образом:

root@chayka:~# ipadm create-if global0

Теперь видим — интерфейс создался

root@chayka:~# ipadm show-if

IFNAME STATE CURRENT PERSISTENT

lo0 ok -m-v——46 —

global0 down bm———46 -46

Задаем основные параметры интерфейса: статический адрес, маску и метку интерфейса.

root@chayka:~# ipadm create-addr -T static -a 192.168.0.44/24 global0/v4

Для чего используется метка (у нас — v4) говорить не буду, на данном этапе это не существенно. Главное, чтобы она была и её длина составляла не более 32 алфавитноцифровых символов.

Далее — как обычно — прописать необходимые строчки в файлах настройки сети.
/etc/hosts

# Internet host table

#

::1 Apollo Apollo.local localhost loghost

127.0.0.1 localhost loghost

192.168.0.125 Apollo

/etc/resolv.conf

domain local

nameserver 192.168.0.180

search local

default router может не прописываться, поэтому его можно прописать вручную командой route add default.

router add default 192.168.0.1

Следующий файл нужен для nfs v4, но можно и его создать за компанию.

/etc/defaultdomain

local

Далее выбираем сервис имен. В файле /etc есть шаблоны для всех сервисов имен, используемых в Солярисе. Я использую только DNS сервис, потому копирую соответствующий файл-шаблон в конфиг файла сервиса имен.

Нужно выполнить вот эту команду, это значит, что нужно использовать DNS для поиска имен хостов. По умолчанию поиск в DNS не производится.

root@chayka:~# cp /etc/nsswitch.dns /etc/nsswitch.conf

root@chayka:~# ping ya.ru

ya.ru is alive

Обратите внимание, что здесь не упоминается файле /etc/hostname.interface. В Солярис 11 он не требуется.

Теперь проблемы с зонами и сетью. В Солярисе каждый интерфейс должен иметь своё уникальное имя, чтобы можно было присвоить ему уникальный адрес. До Соляриса 11 эту проблему было не решить полностью, частично она решалась путем настройки интерфейсов в зонах в разные виртуальные сети или выделением каждой зоне отдельной сетевой карты.
В солярисе 11 мы теперь создаём виртуальные линки, называем их, как нам нравится, и проблема решена очень красиво.

Cоздание виртуального линка inet0 на интерфейс global0 и его запуск

Англоязычный термин link отличается по значению от термина interface. Интерфейс связан с tcp/ip и его параметрами — адрес, маска, шлюз и т. д.

А link — это железка, которая в данном случае может быть виртуальной — это то, куда включается rj45 коннектор. Но идеологически более правильно называть эту железку портом. Впрочем, на истину в последней инстанции я не претендую.

Команда dladm работает с железками, а команда ipadm работает с интерфейсом — программной надстройкой над этим железом, что-то вроде драйвера tcp/ip.

Например, создать виртуальный порт можно командой

dladm create-vlink -l физический_портN виртуальный_портN

N означает, что имя порта должно оканчиваться на цифру.

В Солярисе 11 эти две вещи — порт и интерфейс — весьма изолированны друг от друга, в то время как в других Солярисах и Юниксах они составляют одно целое.

А также надо понимать, что эта железка, порт, существует только в глобальной зоне (для упрощения). Поэтому железку мы настраиваем и создаём её копии или виртуальные порты, мосты, виртуальные сети только в глобальной зоне, а интерфейсы — во всех зонах.

Значит, для того чтобы были интерфейсы в локальных зонах, для них в глобальной зоне мы создаем виртуальные порты. А уже в самой локальной зоне поверх этих виртуальных портов, приписанных конкретной зоне в её конфигурации, мы настраиваем привычные нам интерфейсы с привычными нам параметрами: ip адрес, маска и т.д.

Это была как бы теория, а теперь практика.

Здесь мы удаляем интерфейс, созданный нами в предыдущей части. Там мы с виртуальными портами не заморачивались, а строили интерфейс поверх физического порта.

root@chayka:~# ipadm delete-if global0

Теперь создаем виртуальный порт поверх физического. Таких портов можно создать весьма много и соединить их в виртуальную сеть внутри нашего хоста
Это очень удобно делать для отладки всяких сетевых приложений.

root@chayka:~# dladm create-vnic -l global0 inet0

Теперь мы создаём интерфейс поверх виртуального порта

root@chayka:~# ipadm create-if inet0

и присваиваем ему все необходимые параметры.

root@chayka:~# ipadm create-addr -T static -a 192.168.0.44/24 inet0/v4

В результате у нас получился тот же самый интерфейс, что и в первой части статьи, но уже построенный поверх виртуального порта, а не физического. Но для программ и для сети его поведение совершенно не отличается от физического порта.

Заодно можно создать порты и для будущих зон. Делается это так же просто.

root@chayka:/# dladm create-vnic -l global0 saanzone0

И смотрим, что получилось

root@chayka:/# dladm show-vnic

LINK OVER SPEED MACADDRESS MACADDRTYPE VID

inet0 global0 100 2:8:20:19:bb:a5 random 0

saanzone0 global0 100 2:8:20:a2:d9:26 random 0

Здесь видим два виртуальных порта, построенных поверх физического порта.

Cоздание файловой системы для будущих зон

Здесь и далее мы используем файловую систему ZFS.

Сначала нужно выбрать место в файловой системе, где будет располагаться зона. Например, /zfspool/zones — это место, где все зоны и /zfspool/zones/saan, /zfspool/zones/zone2 — конкретные каталоги зон.

Пул можно создать на новом чистом диске. Однако, если у вас один диск, системный, то пул на нем уже создан, следовательно, файловую систему для зон мы создаем в этом единственном пуле.

Выведем список пулов в системе.

root@chayka:~# zpool list

NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT

rpool 74G 5,32G 68,7G 7% 1.00x ONLINE

Посмотреть состояние пулов можно командой zpool status.

root@chayka:~# zpool status

pool: rpool

state: ONLINE

scan: none requested

config:

NAME STATE READ WRITE CKSUM

rpool ONLINE 0 0 0

c7d0s0 ONLINE 0 0 0

errors: No known data errors

Например, есть пул rpool, тогда создаёте файловую систему. И этого достаточно.

root@chayka:~# zfs create rpool/zones

root@chayka:~# zfs list

NAME USED AVAIL REFER MOUNTPOINT

rpool 6,21G 66,6G 93,5K /rpool

rpool/ROOT 4,20G 66,6G 31K legacy

rpool/ROOT/solaris 4,20G 66,6G 4,18G /

rpool/dump 506M 66,6G 506M —

rpool/export 504M 66,6G 32K /export

rpool/export/home 504M 66,6G 32K /export/home

rpool/export/home/daionari 504M 66,6G 504M /export/home/daionari

rpool/swap 1,02G 67,5G 143M —

rpool/zones 31K 66,6G 31K /rpool/zones

Мы создаем корневую файловую систему для зон. Под каждую зону команда zonecfg сама создает файловую систему. После создания файловой системы путь к ней прописываете в конфиге зоны.

Создание зон

Не забываем, что виртуальный порт для зоны мы уже создали ранее, теперь нужно его прописать в конфиге зоны.

Создаем конфигурационный файл зоны.

root@chayka:/# vi saanzone.conf

create -b

set zonepath=/rpool/zones/saanzone

set brand=ipkg

set autoboot=true

set bootargs=»-m verbose»

set scheduling-class=FSS

set ip-type=exclusive

add fs

set dir=/export/home

set special=/export/home

set type=lofs

end

add net

set physical=saanzone0

end

add device

set match=/dev/saanzone

end

add attr

set name=comment

set type=string

set value=»ApachE»

end

Обратите внимание, у нас set ip-type=exclusive, именно поэтому мы возились с виртуальными портами и наименованиями. Если бы мы решили использовать зону типа shared, то ip адреса всех зон привязывались к единственному интерфейсу. Иногда такой вариант можно использовать в силу его простоты. Но и тут есть свои недостатки, например, вы не сможете  разместить эти разные ip адреса в одной сети.

Кроме того, в конфиге мы прописали файловую систему /export/home. Это сделано исключительно для удобства, чтобы во всех зонах каждый пользователь имел только один домашний каталог, который физически находится в глобальной зоне.

Далее зону нужно сконфигурировать, исправить все ошибки и посмотреть окончательную информацию о ней.

root@chayka:/# zonecfg -z saanzone -f saanzone.conf

root@chayka:/# zonecfg -z saanzone info

Следующая команда инсталлирует зону.

root@chayka:/# zoneadm -z saanzone install

Завершается создание зоны сообщением:

Next Steps: Boot the zone, then log into the zone console (zlogin -C) to complete the configuration process.

Посмотрим состояние зоны после установки командой zoneadm list -iv

Если зона в состоянии installed, то всё хорошо.

Далее, нужно выполнить следующий трюк — скопировать каталог /usr/lib/locale из глобальной зоны в локальную. Делать это нужно обязательно перед первой загрузкой зоны. Дело в том, что в интеловской версии Соляриса (х86), в отличие от СПАРКа, где всё хорошо и правильно, локали не копируются в зону. Если посмотреть сейчас содержимое каталогов /usr/lib/locale глобальной зоны и локальной, то увидите существенную разницу.

В глобальной зоне вывод команды locale будет таким:

root@chayka:~# locale

LANG=ru_RU.UTF-8

LC_CTYPE=»ru_RU.UTF-8″

LC_NUMERIC=»ru_RU.UTF-8″

LC_TIME=»ru_RU.UTF-8″

LC_COLLATE=»ru_RU.UTF-8″

LC_MONETARY=»ru_RU.UTF-8″

LC_MESSAGES=»ru_RU.UTF-8″

LC_ALL=

В локальной же зоне таким:

root@saanzone:~# locale

LANG=

LC_CTYPE=»C»

LC_NUMERIC=»C»

LC_TIME=»C»

LC_COLLATE=»C»

LC_MONETARY=»C»

LC_MESSAGES=»C»

LC_ALL=

Поэтому, чтобы зона нормально воспринимала русский язык, нужно скопировать либо конкретную локаль, либо весь каталог из глобальной зоны в локальную. Есть много способов, как это можно сделать. Мы предлагаем следующий:

root@chayka:~# cd /usr/lib

root@chayka:/usr/lib# tar -cvf — locale | (cd /rpool/zones/saanzone/root/usr/lib ; tar xfBp -)

Вот теперь всё готово к первой загрузке зоны. Запускаем ее следующей командой.

root@chayka:/# zoneadm -z saanzone boot

Опять смотрим состояние зоны

root@chayka:/# zoneadm list -iv

ID NAME STATUS PATH BRAND IP

0 global running / ipkg shared

2 saanzone running /rpool/zones/saanzone ipkg excl

Если зона в состоянии running, т.е. выполняется, то можно зайти в консоль зоны

root@chayka:/# zlogin -C saanzone

Настройка зоны ничем не отличается от обычного настройщика сети, как, допустим при установке системы, поэтому подробно описывать ее здесь я не вижу смысла. Единственная особенность, которая может поставить в тупик — это выбор терминала в начале процесса настройки. Нужно ввести 2.

What type of terminal are you using?

2) DEC VT100

Надеюсь, вышеописанное кому-то поможет, а если нет, то не повредит точно, если дочиталИ :)

LiN, bvictor

HostLife - лучший платный хостинг


Systemintegra

Comments

  1. Do you have a spam issue on this website; I also am a blogger, and I was wanting to know your situation; we have developed some nice practices and we are looking to trade techniques with others, be sure to shoot me an e-mail if interested. Carmita Reg Fawn

  2. Everything is very open with a really clear description of the issues. It was definitely informative. Your website is useful. Thank you for sharing! Alfreda Wolfgang Bramwell

  3. I just wished to take a moment to let you know that I enjoy I found this blog post on your blog. You have exceeded and beyond in your research. I want to find out more articles about this subject on your blog site in the future. Thank you so much for guaranteeing I do not need to look the web for this topic any much longer. Leanor Ced Lauro

  4. Yes! Finally someone writes about Comprar Diploma. Miof Mela Bard Schick Andriette Whittaker Trici

  5. Good replies in return of this query with firm arguments and telling all on the topic of that. Arluene Casper Cuthbert

  6. This paragraph is in fact a nice one it helps new net viewers, who are wishing for blogging. Bobbie Pieter Alameda

  7. I am always interested in learning about new books that I might want to read. Konstance Gregorio Harhay

  8. Admiring the constancy you put into your blog and detailed information you provide. Carlen Phillipp Hutchison

  9. You made some good points there. I looked on the internet for additional information about the issue and found most people will go along with your views on this web site.| Kamilah Fran Kuska

  10. Yes, we add more questions and update the current event questions every year Marthena Donny Schlicher

  11. I go to see everyday some web sites and websites to read articles, except this web site presents quality based posts. Abigail Shamus Cole

  12. i need your complete reviewer with answers and solutions. how can i pay in PHP much better please email me asap. thanks. Celle Kelly Kalindi

  13. I just could not go away your site before suggesting that I actually enjoyed the usual info a person supply for your guests? Is gonna be back regularly in order to inspect new posts. Margalit Malcolm Berners

  14. Can you please cast spell for me! I want my boyfriend back, I miss and love him so much. Lian Edan Kaz

  15. Pretty! This has been an extremely wonderful post. Thanks for providing this info. Ginny Harland Urissa

  16. Mas saya masih dilema, jika ingin lebih serius untuk jangka panjang lebih baik pakai Blogger atau WordPress self-host ya? Karen Edwin Beatty

  17. Everything is very open with a very clear description of the issues. It was really informative. Your website is very helpful. Many thanks for sharing! Dora Broddie Nations

  18. Very nice article. I certainly love this site. Stick with it! Flss Olav Calv

  19. Hello there. I found your blog by way of Google at the same time as looking for a related topic, your website got here up. It appears good. I have bookmarked it in my google bookmarks to visit then. Christine Salem Retha

  20. Aute mi ut suspendisse velit leo, vel risus ac. Amet dui dignissim fermentum malesuada auctor volutpat, vestibulum ipsum nulla. Ursuline Currey Vastah

  21. After I originally left a comment I appear to have clicked on the -Notify me when new comments are added- checkbox and now whenever a comment is added I recieve 4 emails with the exact same comment. Is there a means you are able to remove me from that service? Thanks! Lita Bruno Tyne

  22. I agree with your opinion. From now on I will always support you. Latia Gardiner Hendrick

  23. As soon as I observed this internet site I went on reddit to share some of the love with them. Mary Keefe Garlan

  24. Tempat ini cocok banget kayaknya buat malam keakraban mahasiswa baru, Mas. Semoga bumi perkemahannya awet setelah diluncurkan nanti. Alex Johnathon Combes

  25. Greetings! Very helpful advice in this particular post! Noellyn Kylie Josephina

  26. Happy to have shared the love Naomi, love your voice! Corie Keen Ama

  27. Please send me also the review will take the exam this sunday Cassey Sandro Merc

  28. What a sobering and beautifully written first-hand account, Jeff. Thank you so much for being there and for taking us with you. Frances Chrissy Sholeen Elyn Alberik Alten

  29. Wah saya malah kagum Kribo cilik bisa memilih SD pilihannya sendiri ya. Tapi saya malah lebih kagum dengan cara Mas Anton dan pasangan dalam mendidik anak, termasuk membiarkan Kribo menanggung konsekuensi karena kesalahan yang ia buat sendiri. Violetta Correy Dena

  30. Did Icarito get his stallion from the Peoria biker gang? Starlene Collin Dressel

  31. I am not really fantastic with English but I line up this rattling easygoing to read. Heddi Nikolas Karlow

  32. Give me the MacBook Air any day when it comes to travelling light. I have tried many laptops over the years and I know that many of the others are too heavy or not as reliable as a good MacBook. Malva Husein Emelita

  33. Some truly terrific work on behalf of the owner of this web site , utterly great content material . Lorelei Auberon Fiorenze

  34. It is truly a great and useful piece of info. I am glad that you simply shared this helpful info with us. Please keep us informed like this. Thanks for sharing. Sydel Roscoe Siegler

  35. Simply desire to say your article is as astonishing. Alika Davidson Blount

  36. How do those of us in the beta group get the iOS update? How about for MacOS? Nicholle Chaddie Streeter

  37. Hi there! This blog post could not be written much better! Looking at this post reminds me of my previous roommate! He always kept preaching about this. I most certainly will send this post to him. Fairly certain he will have a good read. I appreciate you for sharing! Pamella Haily Johnathan

  38. Very nice write-up. I absolutely love this website. Thanks! Addie Elihu Wong

  39. I am always interested in learning about new books that I might want to read. Loleta Meredith Ede

  40. Magnificent beat ! I wish to apprentice while you amend your website, how could i subscribe for a blog site? The account aided me a acceptable deal. I had been a little bit acquainted of this your broadcast offered bright clear concept| Juliana Dion Aurelio

  41. She signed to a major label? Amusing. You’d think she’d prefer to do something more modern and relevant, like self-release. The label system is deader than dead. Idaline Fair Adallard

  42. Cheap admission paper ghostwriter service for school . Irita Pauly Michaeline

  43. Excellent write-up. I definitely love this site. Keep it up! Evangeline Gaven Handel

  44. Hi! Thanks for this very flexiable PlugIn! I have two questions: Kristine Cobbie Domash

  45. Hey there, thanks for your feedback! Do go and have a listen and tell us what you think. Karoline Gaby Deirdra

  46. I would like to point out my respect for your generosity in support of those who need assistance with your subject matter. Your very own dedication to passing the message along appears to be remarkably interesting and has constantly made those like me to realize their dreams. Your entire helpful key points means a great deal a person like me and still more to my mates. Thanks a ton; from each one of us. Cynthea Ivor Fording

  47. Pretty! This was a really wonderful article. Thank you for supplying this information. Ericka Frederich Boff

  48. This reminds me of the pumpkin breakfast cake I used to grab on my walk to walk down the Upper East Side from Two Little Red Hens bakery back before they streamlined their production and stopped making such deliciousness. We are going to be experimenting nostalgically with this! Lauralee Huntlee Archer

  49. Go Big Randy, I’m rooting for you! TC lookin’ like the Canadian flag out there Gertie Rudy Fondea

  50. Cheap Replica Handbags You guide me by sharing this toolbox i face problem whenever i exploit this promotion reading your blog i am able to easily use. Deedee Connie Cibis

Speak Your Mind

*

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Пожертвование