1

Есть:
1. Swich с поддержкой VLAN (Cisco будет заменена на Linksys с поддержкой гигабитной сети)
2. Материнка с 2 проводными сетевыми интерфейсами Supermicro X7SPA-HF (http://www.supermicro.com/products/moth … amp;IPMI=Y)
3. Есть 3 провайдера интернета
   1.    PPPoE (+static IP)
   2.    Резервный провайдер (пока еще не выбран) скорее всего, адреса будут получаться по DHCP
   3.    Yota (WiMAX usbModem)
4. В системе будут 3 HDD (2*1 TB for Raid 1 + 2TB система, файло помойка для torrent и не критичные к потере данные)
5. UPS для всего этого железа.

Обязательные условия:
1.    ОС CentOS 5.x
2.    Raid 1 (mirror)

Надо получить:
1.    Роутер
2.    DHCP сервер
3.    NAT
4.    WiFi AccessPoint (надо определиться с картой PCIe)
5.    MailServer (с вебмордой, доступной внутри сети или через VPN)
6.    VPN Server (для доступа извне)
7.    NAS (SAMBA с разграничением доступа)
a.    Пользователи, подключившиеся по VPN имеют доступ к 1 общей папке (R/W)
b.    Внутренние пользователи подключенные проводами имеют полный доступ
c.    WiFi пользователи не имеют доступа к файлам, но могут пользоваться интернетом.
8.    VPN пользователи имеют доступ в интернет к ограниченному кол-ву сайтов (адресов).
9.    Доступ извне открыт только на SSH с авторизацией по ключу и для почты POP и IMAP .
10.    Нужно настроить chroot для 1 пользователя или только SCP разрешить.
11.    Asterisk + FreePBX

Вопросы:
1.    Как лучше разбить жесткие диски?
2.    Т.к. материнка не содержит аппаратного рейда надо настроить программный. Как правильно настроить Raid1 (hot swap не нужен)?
3.    Какую взять WiFi карту?
4.    Как настроить маршрутизацию в зависимости от конечной точки (Например: сайты A.com, B.ru, C.net и адреса ххх.ххх.ххх.1 и ххх.ххх.ххх.2 идут через провайдера №3 все остальное через проводных провайдеров)?
5.    Как лучше разнести внутренние сети чтобы было проще админить по типу подключения?
6.    Как настроить, чтобы в случае падения PPPoE соединения, оно автоматически поднималось?
7.    Как грамотно настроить NAS и разграничить права доступа (доступ с машин с виндой).
8.    Как распараллелить нагрузку между провайдерами 1 и 2?
9.    Как переключать трафик на резервного провайдера в случае падения основного?
10.    Как настроить корректное отключение железа при пропадении питания (UPS подключен по  USB или COM)?

P.S. Решено все это дело поднять на 1 машине, т.к. городить зоопарк железа в домашних условиях считаю не разумным.

2

Romul,
1. sda1 - /boot = 100 mb ext2
    sda2 - /         =  7000 mb ext4
    sda3 - /tmp  =  1000 mb ext2
           sda5 - /var/log = 200 mb ext4
           sda6 - /home   => 2Tb ext4
2. Вставляете 2 диска. При инсталяции CentOS выбирите что хотите рейд, там всё просто.
3. любую выпуска не ранее 2009 года.
4. DNS, /etc/hosts, route add
5. Подсети. Например проводная 192.168.0.0/24 WiFi 192.168.1.0/24 и т.д.
6. На работе быс скрипт, если интресно, то завтра пприложу.
7. Samba, smbpasswd, smbusers, права на диске 700 ит.д.
8. Тоже что и 6.
9. Тож что и 6.
10. yum install apcupsd

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null

3

А вот я бы с ТС за такие вопросы потребовал бы денег, поскольку решение подобных вещей должно оплачиваться

4

Спасибо за совет.
Скрипты были бы очень интересны.

5

Vadimsky пишет:

Romul,
1. sda1 - /boot = 100 mb ext2
    sda2 - /         =  7000 mb ext4
    sda3 - /tmp  =  1000 mb ext2
           sda5 - /var/log = 200 mb ext4
           sda6 - /home   => 2Tb ext4
2. Вставляете 2 диска. При инсталяции CentOS выбирите что хотите рейд, там всё просто.
3. любую выпуска не ранее 2009 года.
4. DNS, /etc/hosts, route add
5. Подсети. Например проводная 192.168.0.0/24 WiFi 192.168.1.0/24 и т.д.
6. На работе быс скрипт, если интресно, то завтра пприложу.
7. Samba, smbpasswd, smbusers, права на диске 700 ит.д.
8. Тоже что и 6.
9. Тож что и 6.
10. yum install apcupsd

Позволю встрять с комментарием.
1. Под корень 7 гигабаайт можно. Но, скорее всего там станет тесно. Изначально же диски терабайтные... Отсюда - я бы под корень отвел гигабайт 12-16.
2. boot'у кончно, и 100 МВ за глаза... Но, учитывая тенденции FEDORA - отвел бы таки федориные 500 мегабайт.
3. /tmp - если у нас такие большие диски, то полагаю, что и памяти не гигабайт. Верно? Отсюда - /tmp размещать не на диске, а в tmpfs. Заодно имеем гарантию, что в /tmp никакого мусора после рестарта не останется.
4. Я бы не стал делать отдельный раздел на том же диске под /var/log. Или бы вообще не заморачивался с выделением логов на отдельный девайс, либо - посадил бы их на третий, отдельный диск (который не в зеркале). Если, конечно поток информации в логах колоссален...
5. внимательно посмотрел бы на технологии виртуализации и отдельные машины (функциональные задачи) размещал бы именно в виртуальных машинах. Минусов за этой технологией - только потребление ресурсов, а вот в плюсах - очень много. Прежде всего - устойчивая работа выданных юзерям сервисов. Например, возникли у топик-стартера проблемы с *, он их и решает, перегружает нужную виртуалку... В это время почтовый сервер работает без продыху...
Далее -  всё, что доступно извне - только в виртуалку. И пусть враг её ломает.
6. Мой вариант разбивки сервисов на хостовые и в VW.
6.1. Хостовые:
- собственно поддержка VM;
- DNS+DHCP;
- NTP (служба единого времени, как без неё); 
- WiFi и прочие сетевые интерфейсы.
6.2. Виртуальные машины:
- почтовый сервер
- Астериск+FreePBX
- Сервер доступа
- Файловый сервер.
При этом на хосту - только персонал, занятый администрированием. Все юзера - в виртуальных машинах.
7. По провайдерам - крайне желательно иметь провайдеров, которые выдают белые статические IP. Так как себя надо будет публиковать в Интернете...
Ну и доступ давать ремутным юзерям к локальным ресурсам. А как это сделать, если ты в йоте или в динамическом пуле? С чем будет юзер коннектится? И такой статический IP должен быть не один.

Безусловно всё это надо делать на промышленном сервере. А вот для себя, любимого, для дома, для семьи,  я бы особо не заморачивался. Поднял бы только выньХП в виртуалке. А остальное - по потребности...

6 (04.07.2011 22:06:10 отредактировано Romul)

Hrafn,
я конечно понимаю что полное решение данной задачи это далеко не тривиальное дело.
И вопросы которые я озвучил это в большинстве своем идеологические (я не прошу детально подготовить конфиги), мне надо просто указание в какую сторону оптимальнее идти.

Cruiser78,
По провайдерам:
1-й дает статический белый адрес
2-й еще не выбран
3-й Йота для крайних случаев

Виртуализация для дома это уже ИМХО перебор, нет дома таких критических задач которые должны работать 24*7.
А тем более на Atom-е

7

Romul пишет:

И вопросы которые я озвучил это в большинстве своем идеологические (я не прошу детально подготовить конфиги), мне надо просто указание в какую сторону оптимальнее идти.

идеологических особо не вижу, а большая часть возникает от нежелания читать документацию

8

Romul пишет:

Виртуализация для дома это уже ИМХО перебор, нет дома таких критических задач которые должны работать 24*7.
А тем более на Atom-е

Не знаю. У меня нетбук на атоме. Acer AO150. С гигабайтом памяти. И как там весьма мило живет в виртуалке (в VirtualBox'е)  XP. Нужна, правда, редко очень. Есть в фотошопе нескольно сторонних фильтров, которые мне для фотодела нравятся очень. А искать то же самое для гимпа - лениво.
Так что - не перебор виртуализация. Кстати, если со * не сильно знаком, то бери дистрибутив FreePBX. Он как раз на CentOSе основан. Правда, крайне минималистичен. Подготовлен для работы на 3м уровне (графику сам должен подключать, руками). Да и диск берет весь в / (и кусочек в /boot). Но это всегда исправить можно. Потом.

И еще - если для дома, для семьи, то рекомендую все-таки посмотреть на русскую федору 14.1 (если душа не лежит к 3му гному). Или - с 3м гномом - RFR-15. Там есть много приятных и нужных вещей. А по сравнению с Сентосом - это просто передовая лаборатория RHEL. А Сентос - параллельная некомерческая сборка, форк одной из версий RHEL.

И, возвращаясь к *. Это достаточно нетривиальный продукт. И весьма своеобразен в программировании. Поэтому я бы рекомендовал следующую конфигурацию -
1. На хосту "yum install asterisk", ну и еще по минимальной потребности, если платы DIGIUM используешь. А нет - ставишь только * и кодеки. Это будет основной, рабочий астериск.
2. А в виртуалке ставишь стенд с дистрибутива FreePBX. В нем есть GUI, в котором можно черта лысого настроить. Смотришь, какие изменения FreePBX вносит в конфиги * и на основной машине их имплантируешь (существенно упростив).   
3. И, главное - не давай доступа к своему астерику никому с улицы. Иначе будешь платить за переговоры с сомали и с кубой. * нужно очень тщательно обихаживать. Недаром во FreePBX по дефолту fail2ban активирован. Нужен ли он тебе на домашнем хосту - не знаю, но вот подбор паролей к * он сечет сугубо. Поэтому, может быть и надо рабочий * поставить в отдельную виртуальную машину и в ней закрутить безопасность до упора.
Так что опять же - виртуализация приходит к нам на помощь.

9 (05.07.2011 01:32:39 отредактировано Romul)

Скажем так, с * знаком не по наслышке, и всякие попытки брута режутся элементарно открытием порта 5060 только до необходимых VoIP сервисов. И самое главное, доступ извне к * никому из пользователей не нужен.
CentOS выбран только из-за того что под эту ОСь идет сборка проекта (PerlToExe). Изменять ось у десятков клиентов не представляется возможным.
Я просто пока не особо представляю как правильно разделить пользователей по типу подключений. Основной вопрос в том, что VPN и проводные пользователи могут обращаться к самбе, а WiFi это фактически гостевой режим, которому можно только инетом пользоваться.
Ну и графическая оболочка будет отсутствовать как класс, консоли на все случаи жизни хватает.

10

Romul пишет:

Я просто пока не особо представляю как правильно разделить пользователей по типу подключений. Основной вопрос в том, что VPN и проводные пользователи могут обращаться к самбе, а WiFi это фактически гостевой режим, которому можно только инетом пользоваться.

Это делается элементарно. В конфиге самбы указываешь соответствующий allow и в неё попадут только юзера из разрешенных сетей, хостов. Ну и если адресов сети WiFi там не будет упомянуто, то и получат гости отлуп от самбы. Ну а чтобы еще дальше отвести WiFi от ресурсов хоста, то есть в iptables режим PREROUTING. Вот и направить в нем весь поток от WiFi в инет через сквид... А цепочки INPUT (кроме 139-го порта) для них зарубить как класс.

11

Для переключения между линейками правайдеров, ну и для переподнятия инета, если отвалился, в крон нужно вставить вот это:

 Консоль:

(ping -c 4 mail.ru | grep -E ".*=[0-9]{3,} ms$") && (netstart1.sh; sleep 10; netstart2.sh)

c переодичностью запуска скажем каждые 5 минут.
netstart1.sh и netstart2.sh это соотвественно ваши скрипты инициализации сети, то есть там ifconfig ethХ up или down, смотря что делает скрипт, а так же routeadd, можно правила iptables так же вставить.
Думаю понятно изложил...

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null