Строим бюджетный сервер для малых или средних компаний::Журнал СА 9.2007
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
20.12.2019г.
Просмотров: 5101
Комментарии: 0
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 6343
Комментарии: 0
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 7599
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 7922
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 6978
Комментарии: 0
Django 2 в примерах

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Строим бюджетный сервер для малых или средних компаний

Архив номеров / 2007 / Выпуск №9 (58) / Строим бюджетный сервер для малых или средних компаний

Рубрика: Администрирование /  Продукты и решения

Павел Семенец

Строим бюджетный сервер для малых или средних компаний

Часть 1

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

В сети ведется очень много разговоров на тему Windows vs. Samba. Возможно, единственный останавливающий фактор для тех, кто не решается использовать Samba, – это отсутствие стоящей документации по настройке Samba как части информационного комплекса в целом.

В статье я покажу вам, как исключить Windows из сети в качестве доменного контроллера «как класс», заменив его предлагаемым комплексом программного обеспечения. Для того чтобы понять, почему это нужно делать, расскажу маленькую историю.

В одно прекрасное утро, придя на работу, я обнаружил, что «повис» основной доменный контроллер на Windows 2003 Enterprise Server (доставшийся в наследство от предыдущих администраторов). После перезагрузки Windows оказалось, что операционная система отказалась инициализировать один из интерфейсов. Попытки поднять интерфейс не увенчались успехом. А переустановка операционной системы была не возможна из-за угрозы потерять большое количество информации, которая ко всему прочему находилась на программном Raid10. Вот тогда-то и появилась идея реализовать все на Samba. Покопавшись некоторое время в Интернете, я понял, что большинство документации по настройке Samba либо составлена из фрагментов, работоспособность в целом которых не была проверена, либо представляют собой некую частную ситуацию, соответствующую исключительным особенностям авторской установки. Кроме того, многие статьи по данной теме противоречивы или даже не соответствуют действительности. Чтобы исправить эту досадную ситуацию, я решил описать процесс настройки комплекса «с нуля».

Итак, в наличии имеем:

  • Установочный диск FreeBSD 6.2 RELEASE.
  • Cервер следующей конфигурации (допускаются варианты):
    • CPU – AMD Opteron 265.
    • RAM – 512 Мб.
    • HDD – 2x400 Гб Hitachi DeskStar7.
    • MB – Tyan Tomcat K8SD.

    Стоимость оборудования такой конфигурации легко укладывается в 30-35 тысяч рублей.

  • Подключение к Интернету.
  • Зарегистрированное доменное имя (предположим, example.com).
  • Берем произвольное имя сервера (предположим, srv.example.com).
  • Определяемся с внутренней подсетью (предположим, 172.16.0.0/24).

Используемое программное обеспечение

  • Samba3 – CIFS-сервер, обеспечивающий функции доменного контроллера Windows NT 4.0.
  • Exim – один из самых гибких в настройке MTA-агентов.
  • DSPAM – быстрый и надежный антиспам-фильтр.
  • Courier-IMAP – один из лучших POP3/IMAP-сервер.
  • SquirrelMail – красивый веб-интерфейс для любителей Mail.ru и т. д.
  • Squid – мощный прокси-сервер с большим количеством настроек.
  • PowerDNS – маленький и удобный в настройке сервер имен DNS.
  • OpenLDAP – сетевой каталог для хранения учетной информации.
  • LigHTTPD – маленький и быстрый http-сервер с поддержкой cgi-скриптов.
  • SNMP – сервер для получения статистической информации.

Приступаем к настройке комплекса

Для начала надо установить операционную систему на сервер. Как это делать, очень хорошо описано в официальной документации на сайте www.freebsd.org, установить коллекцию портов и запастись терпением.

Собираем OpenLDAP

Собирать OpenLDAP мы будем с некоторыми дополнительными ключами:

# cd /usr/ports/net/openldap23-server

# make all install clean

Выбираем опции, с которыми будем собирать OpenLDAP:

  • SLAPI
  • TCP_WRAPPERS
  • DBD
  • DYNAMIC_BACKENDS
  • SLURPD

Конфигурируем сервер OpenLDAP

Получаем зашифрованную hash-последовательность пароля, мною был выбран пароль «password» в качестве примера:

# /usr/local/sbin/slapasswd

New password:

Re-enter new password:

{SSHA}j8ztWZaAL/kSxPei4TT8+pxs6bmqHSdy

Любым удобным для вас текстовым редактором приводим файл /usr/local/etc/openldap/slapd.conf к следующему виду. Некоторые файлы схем изначально отсутствуют после сборки сервера. Мы их скопируем чуть позже:

# Подключаем схемы

include      /usr/local/etc/openldap/schema/core.schema

include      /usr/local/etc/openldap/schema/cosine.schema

include      /usr/local/etc/openldap/schema/inetorgperson.schema

include      /usr/local/etc/openldap/schema/nis.schema

include      /usr/local/etc/openldap/schema/samba.schema

include      /usr/local/etc/openldap/schema/dnsdomain2.schema

pidfile      /var/run/openldap/slapd.pid

argsfile     /var/run/openldap/slapd.args

# Подключаем внешние модули хранилищ

modulepath      /usr/local/libexec/openldap

moduleload      back_ldbm

# Распределяем права доступа к некоторым атрибутам хранилища

access to attrs=userPassword

        by self write

        by anonymous auth

        by * none

 

access to attrs=sambaLMPassword

        by self write

        by anonymous auth

        by * none

access to attrs=sambaNTPassword

        by self write

        by anonymous auth

        by * none

access to *

        by self write

        by anonymous read

        by * none

# Описываем хранилище

# Указываем, какой тип хранилища используем

database      ldbm

# Задаем контейнер верхнего уровня

suffix      "dc=example,dc=com"

# Задаем контейнер администратора сервера

rootdn      "cn=root,dc=example,dc=com"

# Записываем полученную ранее hash-последовательность для авторизации на сервере

rootpw      {SSHA}j8ztWZaAL/kSxPei4TT8+pxs6bmqHSdy

# Указываем, где находится хранилище

directory      /var/db/openldap-data

# Описываем важные для нас индексы поиска по дереву

index objectClass,uidNumber,gidNumber eq

index cn,sn,uid,displayName           pres,sub,eq

index memberUid,mail,givenname        eq,subinitial

index sambaSID,sambaPrimaryGroupSID,sambaDomainName       eq

index aRecord                         pres,eq

index associatedDomain                pres,eq,sub

За более подробной информацией можно обратиться к справочному руководству по пакету OpenLDAP (это минимальные настройки сервера для обеспечения работы нашего домен-контроллера).

Собираем Samba

# cd /usr/ports/net/samba3

# make all install clean

Выбираем следующие ключи для компиляции Samba:

  • LDAP
  • QUOTAS
  • UTMP
  • POPT

Копируем схему для работы Samba с OpenLDAP:

# cp /usr/local/share/examples/samba/LDAP/samba.schema /usr/local/etc/openldap/schema/

Собираем PowerDNS

# cd /usr/ports/dns/powerdns

# make all install clean

Выбираем ключи для компиляции:

  • OPENLDAP

# cd /usr/ports/dns/powerdns-recursor

# make all install clean

Выбираем ключи для компиляции:

  • SETUID

Для хранения записей DNS-сервера в директории LDAP, PowerDNS использует схему dnsdomain2.schema которую почему-то разработчики не потрудились вложить в дистрибутив.

Поэтому ее придется скачать и положить в директорию /usr/local/etc/openldap/schema:

# cd /usr/local/etc/openldap/schema

# fetch http://www.linuxnetworks.de/pdnsldap/dnsdomain2.schema

Запускаем OpenLDAP

Добавляем строки в /etc/rc.conf для запуска OpenLDAP.

Активируем запуск OpenLDAP при загрузке системы:

slapd_enable="YES"

Указываем флаги для запуска OpenLDAP:

slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://127.0.0.1/ ldap://172.16.0.1/"'

  • ldapi://%2fvar%2frun%2fopenldap%2fldapi/ – предписываем серверу «работать» через созданный сокет;
  • ldap://127.0.0.1/ – предписываем серверу «слушать» локальный интерфейс;
  • ldap://172.16.0.1/ – предписываем серверу «слушать» внутренний интерфейс.

Указываем сокет для локальных подключений:

slapd_sockets="/var/run/openldap/ldapi"

Переименовываем скрипты для запуска в требуемой последовательности:

# cd /usr/local/etc/rc.d

# mv slapd.sh 010.slapd.sh

# mv pdns.sh 020.pdns.sh

# mv pdns-recursor 015.pdnsr.sh

# mv samba 025.samba.sh

Удаляем старую базу OpenLDAP (если она есть), чтобы избежать дальнейших возможных проблем:

# rm -rf /var/db/openldap-data/*

Запускаем cервер OpenLDAP:

# /usr/local/etc/rc.d/010.slapd start

Конфигурируем Samba

Добавляем записи в rc.conf для запуска Samba:

samba_enable="YES"

smbd_enable="YES"

nmbd_enable="YES"

Запускаем Samba:

# /usr/local/etc/rc.d/030.samba.sh start

Вычисляем локальный sid домена и записываем его в файл. Он нам в дальнейшем понадобится для формирования конфигурационного файла smbldap-tools:

# net getlocalsid | awk ‘BEGIN{FS=”is: “}{print $2}’ >~/localsid

# cat ~/localsid

S-1-5-21-4089634979-3265135400-2542302168

Останавливаем Samba:

# /usr/local/etc/rc.d/030.samba.sh stop

Приводим конфигурационный файл Samba /usr/local/etc/smb.conf к следующему виду:

[global]

# Указываем Samba перекодировать имена файлов, для того чтобы и на самом сервере,

# и у клиента они отображались в правильной кодировке. Так как у меня на сервере

# системная локаль ru_RU.KOI8-R, то следующие 3 строчки будут выглядеть как показано ниже.

# Если у вас другая системная локаль, обратитесь к документации Samba для получения

# более подробной информации

    dos charset = 866

    unix charset = KOI8-R

    display charset = KOI8-R

# Описываем наш сервер и домен

    workgroup = EXAMPLE

    server string = Samba PDC %v (Example.com)

    netbios name = SRV

    update encrypted = yes

    obey pam restrictions = yes

# Указываем Samba использовать LDAP

    passdb backend = ldapsam:ldap://127.0.0.1/

    pam password change = yes

    passwd chat debug = yes

# Указываем Samba, где хранить логи

    log level = 1

    log file = /var/log/samba/log.%m

    max log size = 1000

# Активируем сервер времени для клиентов Samba

    time server = yes

# Указываем несколько параметров для увеличения быстродействия сервера

    socket options = SO_KEEPALIVE IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192

    max xmit = 16644

    use sendfile = no

    large readwrite = no

# Указываем скрипты для работы с учетными записями

# (cкрипты используются при выполнении команды net)

    add user script = /usr/local/sbin/smbldap-useradd -a -m "%u"

    delete user script = /usr/local/sbin/smbldap-userdel -r "%u"

    add group script = /usr/local/sbin/smbldap-groupadd -p "%g"

    delete group script = /usr/local/sbin/smbldap-groupdel "%g"

    add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"

    delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g"

    set primary group script = /usr/local/sbin/smbldap-usermod -g"%u" "%g"

    add machine script = /usr/local/sbin/smbldap-useradd -w "%u"

# Указываем Samba, какой скрипт запускать при логине пользователя

    logon script = logon.cmd

# Указываем Samba, где хранить перемещаемые профили пользователей

    logon path = \\%L\%U\profile

    logon drive = Z:

    logon home = \\%L\%U

# Указываем Samba работать в качестве первичного доменного контроллера

# и мастера браузера сети

    domain logons = yes

    os level = 255

    preferred master = yes

    domain master = yes

    local master = yes

# Описываем, где Samba должна искать информацию об учетных записях в OpenLDAP

# и как она там хранится

    ldap admin dn = cn=root,dc=example,dc=com

    ldap delete dn = yes

    ldap user suffix = ou=Users

    ldap group suffix = ou=Groups

    ldap machine suffix = ou=Computers

    ldap passwd sync = yes

    ldap suffix = dc=example,dc=com

    ldap ssl = no

    host msdfs = yes

# Указываем логины пользователей, используемые для администрирования сервера

    admin users = smbroot

# Описываем права доступа к серверу

    hosts allow = 172.16.0. 127.

    profile acls = yes

# Описываем общедоступные ресурсы

[netlogon]

    comment = Network Logon Service

    path = /home/samba/netlogon/

    write list = root "@Domain Admins"

    browseable = no

    read only = no

    guest ok = yes

# Описываем директории пользователей

[homes]

    comment = Homefolder

    path = /home/samba/%U

    hide files = /.*/

    valid users = %S "@Domain Admins"

    read only = No

    create mask = 0644

    directory mask = 0775

Устанавливаем набор скриптов smbldap-tools

# cd /usr/ports/net/smbldap-tools/

# make all install clean

Конфигурируем smbldap-tools:

# cd /usr/local/etc/smbldap-tools

Приводим файл smbldap.conf к следующему виду:

# Указываем полученный ранее локальный sid, находящийся в файле ~/localsid

SID="S-1-5-21-4089634979-3265135400-2542302168"

# Указываем имя нашего домена

sambaDomain="EXAMPLE"

# Указываем подключение к OpenLDAP-серверу (так как у нас

# один сервер, то первичный и вторичный сервер указываем одинаковые)

slaveLDAP="127.0.0.1"

slavePort="389"

masterLDAP="127.0.0.1"

masterPort="389"

# Отключаем ssl tls-шифрование

ldapTLS="0"

verify="require"

cafile="/etc/opt/IDEALX/smbldap-tools/ca.pem"

clientcert="/etc/opt/IDEALX/smbldap-tools/smbldap-tools.pem"

clientkey="/etc/opt/IDEALX/smbldap-tools/smbldap-tools.key"

# Описываем, как хранятся записи в дереве LDAP

suffix="dc=example,dc=com"

usersdn="ou=Users,${suffix}"

computersdn="ou=Computers,${suffix}"

groupsdn="ou=Groups,${suffix}"

idmapdn="ou=Idmap,${suffix}"

sambaUnixIdPooldn="sambaDomainName=EXAMPLE,${suffix}"

scope="sub"

hash_encrypt="SSHA"

crypt_salt_format="%s"

# Описываем параметры по умолчанию

userLoginShell="/usr/sbin/nologin"

userHome="/home/samba/%U"

userHomeDirectoryMode="700"

userGecos="System User"

defaultUserGid="513"

defaultComputerGid="515"

skeletonDir="/etc/skel"

defaultMaxPasswordAge="999"

userSmbHome="\\SRV\%U"

userProfile="\\SRV\%U\profile"

userHomeDrive="Z:"

userScript="logon.cmd"

mailDomain="example.ru"

with_smbpasswd="0"

smbpasswd="/usr/bin/smbpasswd"

with_slappasswd="0"

slappasswd="/usr/sbin/slappasswd"

Приводим smbldap_bind.conf к следующему виду:

slaveDN="cn=root,dc=example,dc=ru"

slavePw="password"

masterDN="cn=root,dc=example,dc=ru"

masterPw="password"

Устанавливаем пакет nss_ldap

# cd /usr/ports/net/nss_ldap

# make all install clean

Конфигурируем nss_ldap:

# cd /usr/local/etc

# touch nss_ldap.conf

Вписываем в созданный файл следующее:

base dc=example,dc=com

bind_policy soft

bind_timelimit 10

host 127.0.0.1

idle_timelimit 3600

ldap_version 3

nss_base_group  ou=Groups,dc=example,dc=com?one

nss_base_passwd ou=Users,dc=example,dc=com?one

nss_base_passwd ou=Computers,dc=example,dc=com?one

nss_base_shadow ou=Users,dc=example,dc=com?one

nss_connect_policy persist

nss_paged_results yes

pagesize 1000

port 389

scope one

timelimit 30

pam_password md5

ssl no

Правим файл /etc/nsswitch.conf и приводим к следующему виду:

group: files ldap

group_compat: nis

hosts: files dns

networks: files

passwd: files ldap

passwd_compat: nis

shells: files

Создаем файл для доступа остальных сервисов к OpenLDAP:

# echo “password” > /etc/ldap.secret

# chmod 0600 /etc/ldap.secret

Удаляем старую базу Samba во избежание дальнейших проблем:

# rm -rf /usr/local/etc/samba/*

Создаем запись в secret.tdb для подключения Samba к OpenLDAP:

# /usr/local/bin/smbpasswd -w password

Setting stored password for "cn=root,dc=example,dc=com"

in secrets.tdb

Инициализируем директории OpenLDAP:

# /usr/local/sbin/smbldap-populate -a smbroot -b guest

adding new entry "dc=example,dc=com"

..........

..........

После того как скрипт отработает, будет выведено приглашение ввести пароль для пользователя smbroot. Вводим наш пароль «password».

Проверяем существование записей в OpenLDAP:

# slapcat | grep dn

..........................

..........................

После ввода данной команды будет выведен довольно длинный список добавленных записей. Если этого не произошло, проверьте конфигурацию сервисов, проверьте, запущен ли сервис slapd, загляните в файл /var/log/messages, чтобы определить причину.

На данном этапе оставляем конфигурацию Samba, вернемся к ней чуть-чуть позже, а пока сконфигурируем PowerDNS.

Создаем файл zone.ldiff для добавления записей о DNS-зонах в OpenLDAP. Предлагаю для этих целей выделить служебную директорию, дабы в последующем не набирать эти файлы снова.

# cd /usr/local/etc && mkdir ldapfiles && cd ldapfiles

# touch zone.ldiff

 

# Создаем ветку для харнения записей DNS

dn: ou=dns,dc=example,dc=com

objectClass: top

objectClass: organizationalUnit

ou: dns

description: domain zones

# Создаем ветку для хранения корневой зоны.

# Так как корневой зоной для нас является «com», то

dn: dc=com,ou=dns,dc=example,dc=com

objectClass: dNSDomain2

objectClass: domainRelatedObject

dc: com

associateddomain: com

# Создаем SOA-запись для хранения зоны.

# Так как FQDN имя нашего домена «example.com», то

dn: dc=example,dc=com,ou=dns,dc=example,dc=com

objectClass: dNSDomain2

objectClass: domainRelatedObject

dc: example

SOARecord: ns.example.com root@example.com 1 1800 3600 86400 7200

NSRecord: ns.example.com

MXRecord: 10 mail.example.com

ARecord: 172.16.0.1

associatedDomain: example.com

# Создаем запись вида ns IN A 172.16.0.1

dn: dc=ns,dc=example,dc=com,ou=dns,dc=example,dc=com

objectClass: dNSDomain2

objectClass: domainRelatedObject

dc: ns

ARecord: 172.16.0.1

associatedDomain: ns.example.com

# Создаем запись вида mail IN CNAME ns для Mail-сервера

dn: dc=mail,dc=example,dc=com,ou=dns,dc=example,dc=com

objectClass: dNSDomain2

objectClass: domainRelatedObject

dc: mail

CNAMERecord: ns.example.com

associatedDomain: mail.example.com

# Создаем запись вида ldap IN CNAME ns

# для OpenDLDAP-сервера

dn: dc=ldap,dc=example,dc=com,ou=dns,dc=example,dc=com

objectClass: dNSDomain2

objectClass: domainRelatedObject

dc: ldap

CNAMERecord: ns.example.com

associatedDomain: ldap.example.com

# Создаем запись вида srv IN CNAME ns для нашего сервера

dn: dc=srv,dc=example,dc=com,ou=dns,dc=example,dc=com

objectClass: dNSDomain2

objectClass: domainRelatedObject

dc: srv

CNAMERecord: ns.example.com

associatedDomain: srv.example.com

За более подробной информацией о записях LDAP обратитесь к официальной документации.

Добавляем записи DNS в OpenLDAP:

# /usr/local/bin/ldapadd -x -D "cn=root,dc=example, dc=com" -w password -f zone.ldiff

Конфигурируем PowerDNS

# cd /usr/local/etc/pdns/

Приводим файл pdns.conf к следующему виду:

ldap-host=127.0.0.1

ldap-basedn=ou=dns,dc=example,dc=com

ldap-method=strict

allow-recursion=127.0.0.1,172.16.0.0/24

launch=ldap

local-address=172.16.0.1

recursor=127.0.0.1

config-dir=/usr/local/etc/pdns

daemon=yes

guardian=yes

disable-tcp=no

disable-axfr=no

module-dir=/usr/local/lib/

socket-dir=/var/run

version-string=powerdns

Приводим файл recursor.conf к следующему виду:

daemon=yes

local-address=127.0.0.1

local-port=53

quiet=yes

Добавляем записи в rc.conf для запуска PowerDNS:

pdns_enable="YES"

pdns_recursor_enable="YES"

Запускаем PowerDNS:

# /usr/local/etc/rc.d/015.pdnsr.sh start

# /usr/local/etc/rc.d/020.pdns.sh start

Проверяем работу PowerDNS:

# nslookup 172.16.0.1

Server:         172.16.0.1

Address:        172.16.0.1#53

1.0.16.172.in-addr.arpa       name = ns.example.com.

1.0.16.172.in-addr.arpa       name = example.com.

# nslookup example.com

Server:         172.16.0.1

Address:        172.16.0.1#53

 

Name:   example.com

Address: 172.16.0.1

Возвращаемся к конфигурации и проверке работы Samba. Запускаем Samba:

# /usr/local/etc/rc.d/030.samba.sh start

Подключаем нашу машину к своему же домену. Данная операция требуется для корректной работы сервера:

# net rpc join -U smbroot%password

Joined domain EXAMPLE

Проверяем, все ли правильно мы сделали:

# net prc testjoin -U smbroot%password

Join to 'EXAMPLE' is OK

# net prc info -U smbroot%password

Domain Name: EXAMPLE

Domain SID:  S-1-5-21-4089634979-3265135400-2542302168

Sequence Number: 1185975879

Num users: 2

Num domain groups: 4

Num local groups: 0

# smbclient -L SRV -U smbroot%password

Domain=[EXAMPLE] OS=[Unix] Server=[Samba 3.0.25a]

              Sharename      Type           Comment

              ---------              ------            -------

              IPC$              IPC             IPC Service (Samba PDC 3.0.25a (Example.com))

              smbroot                 Disk            Homefolder

Domain=[EXAMPLE] OS=[Unix] Server=[Samba 3.0.25a]

    Server         Comment

    --------       -------------

    SRV            Samba PDC 3.0.25a (Example.сom)

 

    Workgroups            Master

    ----------------        ---------

    EXAMPLE        SRV

На этом этапе конфигурация Samba как основного PDC закончена. Теперь можно идти и подключать клиентские компьютеры к новому PDC.

Заключение

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

  • Мы получили Primary Domain Controller, по функциональным возможностям не уступающий Windows NT 4.0 Server.
  • Мощный и быстрый сервер DNS.
  • Операционную систему, устойчивую к всевозможным сбоям, которым подвержены операционные системы семейства Windows.

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


Комментарии отсутствуют

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

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru