Open VPN и хитрый роутинг.

Это глава из учебника, предоставляемого к моим дистанционным курсам. (с) 2008, Артур Крюков www.kryukov.biz

После выпуска первой редакции этого учебника, у слушателей возникло много вопросов по применению VPN в реальных задачах. Эта глава была добавлена специально для того, что бы показать, как еще можно использовать Open VPN.

Рассмотрим задачу, возникшую у одного из слушателей.

Исходные данные.

Существует внутренняя сеть 192.168.1.0/24. Она выходит в Интернет через роутер с внутренним интерфейсом 192.168.1.1 и внешним интерфейсом 120.3.5.8. Этот и все другие IP адреса взяты совершенно случайно и никакого отношения к реальным серверам не имеют.

Где то «в замке у шефа» в буржуинском сегменте Интернет стоит сервер с IP 110.45.45.8, который тоже принадлежит нашей компании.

Задача 1.

Необходимо весь трафик, предназначенный на WEB сервера (80 порт) отправлять только через сервер 110.45.45.8. Трафик между нашей сетью и этим сервером должен быть зашифрован. Весь остальной трафик из нашей сети должен идти обычным образом.

Задача 2.

Необходимо весь исходящий трафик нашей сети, предназначенный для Интернет, оправлять через роутер 110.45.45.8. Трафик между нашей сетью и этим роутером должен быть зашифрован.

Что тут сказать, параноидальные задачи, но выполнимые. Итак, будем играть в Штирлица и шифроваться.

Настройка VPN.

Материал, описанный в этом разделе необходим для решения обеих задач.

Для шифрования трафика меду двумя серверами мы будем использовать Open VPN. Сервер, выводящий нашу компанию в Интернет, будет работать как VPN клиент. Сервер в Интернет всегда включен, поэтому он будет работать в качестве VPN сервера.

Open VPN настраивается так же как и в предыдущей главе, поэтому не буду повторять материалы этой главы. Просто покажу готовые конфигурационные файлы клиента и сервера.

Конфигурационный файл VPN сервера.

dev tap0
proto udp
mode server
comp-lzo
log-append /var/log/openvpn.log
daemon
ifconfig-pool 192.168.240.2 192.168.240.12
ifconfig 192.168.240.1 255.255.255.0
tls-server
dh /etc/openvpn/dh1024.pem
ca /etc/pki/CA/CA.crt
cert /etc/pki/tls/certs/server.pem
key /etc/pki/tls/private/server.key
port 5000
user nobody
group nobody
persist-tun
persist—key
verb 0

Необходимо подставить реальные файлы ключей и сертификатов.

Что изменилось в файле конфигурации сервера, по сравнению с предыдущей главой? Во-первых, используется 5000 порт, а не 1194. За время, прошедшее с момента написания первой главы, создатели программы стали рекомендовать использовать порт 5000. На самом деле номер порта может быть любой, но мы будем следовать рекомендациям отцов-основателей.

Конфигурационный файл Linux клиента.

remote 110.45.45.8 5000
dev tap
proto udp
ca /etc/openvpn/certs/CA.crt
cert /etc/openvpn/certs/client.pem
key /etc/openvpn/keys/client.key
client
tls-client
comp-lzo
user nobody
group nobody
ping 30
ping-restart 120
ping-timer-rem
persist-key
persist-tun
verb 0

В этом файле мы тоже заменили порт, куда будет подключаться клиент на 5000.

Посмотрим, что получится после настройки такого решения.

Таким образом, мы обеспечили шифрование при передаче данных между первым и вторым серверами. Но этого мало! Надо сделать так, что бы VPN сервер мог доставлять пакеты в сеть 192.168.1.0/24. Поэтому в конфигурации VPN клиента добавим команду push, которая внесет изменения в таблицу маршрутизации VPN сервера.

push "route 192.168.1.0 255.255.255.0 192.168.240.2"

В результате конфигурационный файл клиента будет выглядеть так:

remote 110.45.45.8 5000
dev tap
proto udp
ca /etc/openvpn/certs/CA.crt
cert /etc/openvpn/certs/client.pem
key /etc/openvpn/keys/client.key
client
tls-client
comp-lzo
user nobody
group nobody
push «route 192.168.1.0 255.255.255.0 192.168.240.2»
ping 30
ping-restart 120
ping-timer-rem
persist-key
persist—tun
verb 0

Теперь внимательно приглядимся к нашей схеме. У нас получилось два сегмента внутренних сетей:

  • 192.168.1.0/24
  • 192.168.240.0/24

И два! Целых два выхода в Интернет! Через роутер 192.168.1.1 и роутер 192.168.240.1.

Господа, как только у вас появляется больше чем один выход в Интернет, необходимо использовать дополнительные возможности, предоставляемые ядром Linux в области маршрутизации. Эти возможности очень хорошо описаны в документе Linux Advanced Routing & Traffic Control HOWTO:

Настоятельно рекомендую в дальнейшее подробно изучить данный HOWTO!

А теперь займёмся решением задач.

Решение задачи 1.

Напомню, что требуется сделать.

Нам необходимо весь трафик на WEB сервера (порт 80) отправлять в Интернет через удаленный сервер, через интерфейс с IP адресом 110.45.45.8.

Весь остальной трафик из нашей сети должен выходит в Интернет через локальный сервер, через интерфейс с IP адресом 120.3.5.88.

На удаленном сервере нам надо сделать только NAT преобразование. Все пакеты, пришедшие из сети 192.168.1.0/24 или 192.168.240.0/24 (а вдруг у вас на клиентском сервере работает прокси сервер Squid?) пропускать через SNAT.

Поэтому в firewall удаленного сервера надо добавить следующие правила:

iptables –t nat –A POSTROUTING –o eth0 –s 192.168.1.0/24 -j SNAT --to-source 110.45.45.8
iptables –t nat –A POSTROUTING –o eth0 –s 192.168.240.0/24 -j SNAT --to-source 110.45.45.8 

Не забудьте разрешить прохождение этих пакетов через firewall.

iptables –A FORWARD –p tcp --dport 80 –i tap0 –j ACCEPT

Не забудьте разрешить перенос пакетов с одного сетевого интерфейса на другой.

echo 1 > /proc/sys/net/ipv4/ip_forward

В файле /etc/sysctl.conf отредактируйте строку.

net.ipv4.ip_forward = 1

C удаленным сервером все. Займемся локальным сервером. Наша задача отправлять пакеты предназначенные на 80 порт в Интернет через машину 192.168.240.1.

Добавить маршрут в таблицу маршрутизации? Не поможет, в таблице маршрутизации нельзя указывать порты.

Сделать DNAT? Тоже не поможет, нам нельзя менять IP назначения.

SNAT? Тоже ничего не даст.

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

Пришло время включить дополнительные возможности ядра Linux. А вы знаете, что в Linux можно сделать 256 таблиц маршрутизации? И 512 можно! и даже больше 🙂

Для решения нашей проблемы мы добавим еще одну таблицу маршрутизации.

В этой таблице сделаем маршрут по умолчанию на машину 192.168.240.1 через интерфейс tap0.

Все пакеты, приходящие на наш сервер на 80 порт из внутренней сети, а также все пакеты, которые генерируют программы, работающие на нашем сервере на 80 порт, будем передавать в новую таблицу маршрутизации. А там уровень IP все сделает сам.

Создадим новую таблицу маршрутизации с именем www.

echo 430 www >> /etc/iproute2/rt_tables

Таким образом, мы создали таблицу номер 430 с именем www. Номер и имя можно использовать любые. Главное, что бы они уже не использовались в вашей системе. Вы можете сначала посмотреть содержимое файла rt_tables при помощи программы cat.

cat /etc/iproute2/rt_tables

Добавим в таблицу www маршрут по умолчанию.

ip route add default via 192.168.240.1 dev tap0 table www

Таблица создана. Как заставить необходимые нам пакеты попадать именно в неё? Тут следует сделать два действия:

  1. При помощи iptables и действия MARK пометить пакет. Присвоить ему номер от 1 до 64.
  2. При помощи программы ip, все помеченные нужным нам номером пакеты перенаправить в таблицу www.
iptables –t mangle –A PREROUTING –i eth1 –p tcp --dport 80 -j MARK --set-mark 1 
iptables –t mangle –A OUTPUT –p tcp --dport 80 –d ! 192.168.1.0/24 -j MARK --set-mark 1 

Обратите внимание на то, что метки мы ставим в таблице mangle в цепочках PREROUTING (для пакетов, пришедших из внутренней сети) и OUTPUT (для пакетов, которые генерирует программное обеспечение, работающее на нашей машине), до того, как пакеты попадут в таблицу маршрутизации.

ip rule add fwmark 1 table www

Можете посмотреть какие пакеты, каким таблицам будут передаваться.

ip rule show

После перезагрузки компьютера, привязка к таблице и маршруты пропадут. Поэтому мы должны сделать так, что бы при старте они появились снова. Тут все зависит от дистрибутива. Самый простой способ воспользоваться файлом /etc/rc.d/rc.local (или /etc/rc.d/rc.local.local, зависит от системы, которую вы используете). В этом файле надо дописать правила:

ip route add default via 192.168.240.1 dev tap0 table www
ip rule add fwmark 1 table www

Сама таблица www создается только один раз.

Теперь займемся firewall.

Разрешаем хождение пакетов на 80 порт, через интерфейс tap0.

iptables –A FORWARD –p tcp --dport 80 –o tap0 –j ACCEPT

Остальными правилами разрешаете то, что должно выходить через интерфейс eth0. Я не буду писать эти правила. Посмотрите, как это делалось в разделе, посвященном firewall. Единственное добавление — теперь надо явно указывать output интерфейс при помощи параметра –o.

Последнее замечание — NAT преобразования. Нам необходимо делать NAT только на интерфейсе eth0. На интерфейсе tap0 ничего делать не надо. Там пакеты идут без преобразования.

Решение задачи 2.

А тут я поступлю немного хитрее. Я хочу, что бы вы сами решили эту задачу. Если все заработает, значит, вы все поняли правильно. Если не заработает, присылайте мне ваше решение. У нас будет тема для обсуждения.

Единственная подсказка — трафик на 22 порт удаленного сервера не пускайте через VPN. Если вдруг не получится, вы хоть сможете подключиться к удаленному серверу. И вторая причина — в этом соединении уже итак все зашифровано J.

Понадеялся на Японцев, зря.

На неделе сел в машину и… сдох аккумулятор. Прослужил 3.5 года, японский, но сдох. Надо покупать новый.
Капот открывать лениво, смотрю в инструкцию к машине, запоминаю модель аккумулятора. У меня друг в автобизнесе работает, я ему заказал со склада аналогичную модель, но уже немецкую Варту.
Привозит он мне его сегодня. Открываю капот и… понимаю, что и японцы могут неправильно писать инструкции. Друг привез аккумулятор для японских японских машин, строго как в инструкции написано. Как оказалось у меня японская, адаптированная к Европе и аккум совсем другой 🙂 И размером поболее и клеммы толстые.

Я себе представил картинку, иду это я с тележкой в магазин за аккумулятором. Идти далеко, километра 2. Привожу его домой и… иду обратно 🙂 Хорошо иметь друзей во всех отраслях народного хозяйства и торговли 🙂

Еще один шикарный карикатурист!

У него на блоге огромное количество замечательных картинок!
Почти все — шедевр 🙂

Ну эта картинка как нельзя лучше отображает нашу жизнь 🙁

Блог Автора.
Ссылка на оригинальный пост.

Я и не знал.

Оказывается мой планшетник реагирует на силу нажатия пера 🙂
Сегодня попытался нарисовать картинку в Paint.NET и с удивлением это обнаружил.

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

Позитифф.

Цены на мои дистанционные курсы по Linux

Устаканились цены на дистанционные курсы.
Посмотреть и обсудить можно тут.

Из-за жесточайшей нехватки времени, пока удалось договориться только с УЦ Навигатор.

Open SuSE 11, Fedora core 9.

Сегодня совершал героический поступок, решил проверить как там поживает Fedora. А то все CentOS да CentOS 🙂

Выделил место на винте начал ставить дистры. Вообщем то мне надо было выбрать из бесплатных вариантов дистрибутив для рабочих станций. Ubuntu сразу пошла лесом.
От мандрейка тоже пришлось отказаться, поскольку очень хитрый у них бесплантый дистрибутив. Ничего интересного в нем нет. Поэтому из известных остались только Fedora 9 и Open SuSE 11.

Сначала поставил Open SuSE. Причем при установке повелся на KDE 4 🙂 Зря повелся, не понравилось.

Затем попытался поставить Fedora, тут вообще шикарно (с) Южный Парк. Он просто не поставился. При попытке в программе установки выбрать вместо Gnome KDE, инсталятор вылетал по критической ошибке 🙂 Gnom не люблю, поэтому попытки прекратил.

Снова поставил SuSE, но уже с KDE 3. Полет нормальный.

Вообщем в очередной раз убедился, что связка CentOS на сервере и Open SuSE на десктопах, самое оно.

У CentOS длительная цикл поддержки, ведь это все же копия Red Hat ES. Поэтому такие серваки будут годами стоять без апгрейда на новую версию. А на рабочих станциях важно определение всяких свистелок-перделок, поэтому тут рулит свежее ядро и софт, которые все это поддерживают. Да и для простых юзверей, yast как управлялка всей машиной, очень даже неплохо смотрится.

P.S. Когда поставил SuSE обнаружил в Linux развитую поддержку wacom планшетов. Подозреваю, что на моем планшетнике HP tx2520 Linux будет работать без проблем 🙂

Не рано, самое оно!

Таки я нашел программу для рукописного вода на планшетке под Vista.

Итак, PenReader действительно не долженфункционировать в Vista. Это мне подтвердили в их службе поддержки.

Но я нашел реально хорошо работающую программу! http://tabletpc.quarta.com/
Недостаток, на просьбу выслать демоверсию они реагировали 2 дня. Но все же выслали.

Поставил и о чудо! Она понимает не просто мой почерк, а слитно написаные слова! Я в восторге!
Теперь я просто перевернул экран, закрыл клавиатуру и все пишу пером 🙂

Мой HP tx2520 понимает русский язык при перьевом вводе.

Наверное еще рано.

Мои большие надежды на программу PenReader на таблеточном PC не оправдались 🙁 К сожалению, технология распознавания рукописного текста не еще не до конца отработана.

Выдали мне на работе (по моей просьбе) новый ноутбук HP tx2520, тот, который с сенсорным экраном. Я обрадовался, ну сейчас как сяду писать (а писать мне теперь приходится ох как много).

Скачал пробную версию (две штука) PenReadera. Поставил и жестоко обломался. Нет, он распознает, но… Итак подробно.

Давным давно, на КПК HP4700 я поставил Pen Reader для КПК. восторгам не было предела. Программа чудесно работала и корректно распознавала мои куракули. Для работы ей хватало мощи девайса. Очень хорошо понимала большие и маленькие буквы. Особым плюсом программы было то, что для ввода текста не требовалось специальной области ввода или окошка. Текст было можно вводить в любом месте.

Вспоминая удачную реализацию penReader для КПК я подумал, что на взрослом компе она будет работать на порядок лучше. Оказалось, что я был не прав.

Ввод текста в любом месте экрана вызвал у меня, мягко говоря, недопонимание ситуации. Представьте себе, что вы ведете пером по экрану, а буквы начинают отрисовываться с секундной и более задержкой! Я не поверил своим глазам! Учитывая, что на КПК все было мгновенно.

Ладно, подумал я, это какие то не доработки. Воспользуюсь штатным режимом, предусмотренным в таблетном PC. Т.е. ввод в специализированном окошке. Отрисовывать буквы стал нормально. И если немного приноровиться, то программа правильно их распознает. Но есть очень серьезные проблемы:

  1. Программа путает большие и маленькие буквы. Прикольно наблюдать слово типа: ПонеДелЬНик.
  2. Программа не всегда понимает, что надо ставить пробел. Хоть я и рисую слова далеко друг от друга. Несмотря на то, что предусмотрен специальный росчерк пера, означающий пробел, в режиме окна он то работает, то не работает.

В результате, получается вот такая фиговина.

А это то, что попало в программу.

Результат, как видите на лице.

Правда есть сомнения. что программа еще не до конца подружилась с Вистой. Потому как в ХП я ее не видел.
Осталась последняя надежда — программу можно обучить своему почерку. Попробую копать в этом направлении.

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

Ну и очень важная вещь — очень хорошая клавиатура 🙂 раз уж распознавание нормально не работает, будем по старинке стучать по клавишам.

Microsoft, Linux и TCO

скопировал отсюда Microsoft, Linux и TCO

Вольный перевод: “Microsoft admits that TCO for developing nation’s schools is same for Linux and Windows“. Sep 30, 2008 6:25pm GMT, Jon maddog Hall.

Это очень большая запись, поэтому для тех, кто не хочет читать

Краткое резюме

Microsoft признает, что ТСО для обучения учащихся в развивающихся странах примерно одинаковое для продуктов Майкрософт и Free Software. (В конце статьи ссылка на оригинал отчета. Прим.пер.)

Майкрософт также признает, что первоначальные затраты ТСО аппаратного и программного обеспечения являются более низкими при использовании Linux, а люди, знающие Linux в дефиците в развивающихся странах и поэтому имеют более высокую заработную плату, чем их коллеги, работающие с продуктами Microsoft.

Я (Jon Hall, прим.пер.) считаю, что СПО должно более широко использоваться в университетах и средних школах, чтобы увеличить количество хорошо подготовленных специалистов по СПО для уменьшения их дефицита, и к снижению проблемы торгового баланса, которая возникает когда деньги на оплату коммерческого программного обеспечения уходят за пределы страны.

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

Прим.пер. К тому же, инвестируя в специалиста по СПО, Linux, вы инвестируете в свои технологии, а не в патентованные чужие.

А теперь пища для размышлений:

Прим.пер. ru.wikipedia.org:
Совокупная стоимость владения (англ. Total cost of ownership, TCO) — это методика, предназначенная для определения затрат на информационные системы (и не только), рассчитывающихся на всех этапах жизненного цикла системы.

Прямые, явные затраты, проходящие через бухгалтерию (заработная плата сотрудников, закупки оборудования и программного обеспечения, оплата услуг консалтинга и др.).

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

Microsoft недавно опубликовала исследование по теме “Совокупная стоимость владения” (TCO) для учебных заведений при установке большого количества компьютеров в развивающихся странах.

Подобные отчеты пытаются убедить меня в том, что проприетарное программное обеспечение получается дешевле, чем свободное программное обеспечение.

Это последнее исследование, проделанное компанией под названием “Vital Wave Consulting” при финансировании Microsoft опубликовано 15 августа 2008 и затем размещено в блоге Microsoft — “Unlimited Potential“. Майкрософт проделала большую работу по обоснованию использования компьютеров в обучении, и в особенности для развивающихся стран, ссылаясь на множество докладов. Они сделали довольно всеобъемлющее исследование, и было много упоминаний о ТСО.

James Utzschneider, генеральный менеджер по маркетингу и коммуникациям Microsoft, который писал в блоге “Неограниченный потенциал”, признал, что первоначальная стоимость ПО от Microsoft вкупе с аппаратными средствами получилась “немного выше“, чем у Linux и свободного программного обеспечения.

Г-н Utzschneider похвалил исследование компании Vital и заявил, что из-за более высокой заработной платы системных администраторов СПО Linux в таких странах как Китай и Южная Америка TCO за пятилетний период и для Windows и для Linux решений было “примерно одинаковым“. В США ТСО подсчитанное за 5 лет составило $2,700 на одно место. И далее г-н Utzschneider сделал вывод, что используя сервера от Microsoft в школах, можно снизить затраты на администрирование ;)

Я нахожу это исследование довольно интересным.

Из всех исследований TCO, которые финансировала Microsoft, в этом они могли конечно придумать более лучшую историю, чем “примерно одинаково“, когда дело доходит до TCO между Microsoft и Linux. Однако, хорошо, что Microsoft заявила публично, что TCO одинаковое, даже при том, что это исследование финансировалось Microsoft.

Однако Vital Wave Consulting приврали в части лицензионных расходов, сказав, что расходы на программное обеспечение составляют “всего лишь” 2 процента от совокупной стоимости владения.

Конечно же стоимость программного обеспечения в исследовании по ТСО была рассчитана на основе специальной лицензии, которую Microsoft предоставляет для школ.

2% от $2700 составляют $54, или около $11 в год. И в отчете правильно сказано, что это небольшая сумма по сравнению с общей суммой.

Однако, я подсчитал деньги другим способом. Лицензионные отчисления за 5 лет составляют $25 за компьютер с Microsoft Starter Edition, и $12.50 за компьютер с Microsoft Productivity Suite. В докладе также упомянуто о $6 ежегодных расходов на антивирусное ПО для Windows, которое не нужно (и они признали это) для Linux.

То есть за один компьютер с Windows $43,50 уходит из страны в карман Microsoft (а в итоге, после всех выплат пособий контингенту всяких гарлемов, — на войну в Ираке, Осетии и прочие демократические “ценности”, прим.пер.), и эти деньги не выплачиваются в случае использования СПО. Эти расчеты и лежат в основе того, почему “Linux дешевле при первоначальных затратах”.

Но в докладе ничего не говорится о других программах, которые учащиеся могли бы использовать. Adobe Photoshop? СУБД SQL? Утилиты для редактирования видео и аудио? Средства управления проектами? Включено ли все это в $43,50? А что произойдет, если студенты захотят использовать эти инструменты в домашних условиях? Разрешено ли это лицензией Microsoft? Это не будет нарушением, если студент использует свободное программное обеспечение и в школе и дома.

Когда мы начинаем смотреть на РЕАЛЬНЫЕ затраты, то TCO начинает быстро изменяться.

Когда я начал изучать отчет, то обнаружил довольно странные допущения.

В докладе предпринимается попытка сравнить стоимость нового “mainstream” компьютера, новых “Low-cost”, “Ultra-low cost” компьютеров с “Second Hand” компьютером, который использовался в течении 5-ти лет. При этом предполагалось, что в конце 5-тилетнего срока старый компьютер будет заменен на новый. Здесь исследование разваливается на куски. Дело в том, что ТСО не прекращается по истечении пяти лет.

Например, они оценивают стоимость “second hand” компьютера, использовавшегося 3 года, в $254. Непонятно получен ли такой компьютер как пожертвование, и кому была выплачены эти $254. В странах, где я бывал, second-hand компьютер, как правило, получают в дар от банка или другой организации, которая занимается периодическим обновлением собственных систем. В некоторых школах (например, в Куритиба в Бразилии или Колумбии которые я посетил), студенты меняют нерабочие компоненты систем на рабочие между собой и собирают таким образом рабочие ПК. Плохие планки памяти изымаются и получаются ПК с меньшим количеством памяти. Учащиеся в этой школе узнали больше о компьютерах, чем они выучили на уроках.

Поэтому аппаратные средства, разумеется, не обходятся конечному пользователю в $254.

Читая доклад далее я понял, что $254 — это стоимость профессионального ремонта. Который, к тому же, включает в себя годовое гарантийное обслуживание. Однако я думаю, что в сельской школе, где всего 5 учащихся и плохое электричество, такой ремонт делается местными специалистами, а не техниками из другой страны. Работа по ремонту на месте создает новые рабочие места и зарплату, что важно для государства. Я никогда не интересовался возрастом таких ПК, мне их характеризовали просто как “Pentium 4″.

Также не правильно, что в докладе предполагается 3-хлетний жизненный цикл для “Ultra-low cost” ПК у которого нет кулера и жесткого диска. Как минимум такие системы должны работать 5 лет, если не гораздо дольше, ведь в них нет движущихся частей!

Далее были перечислены конфигурации.

Новый “mainstream” компьютер был обозначен как “client and PC server”, который может работать в обеих категориях задач : 2Гб ОЗУ, Intel Pentium dual-core и 320Гб диск. Возможно этого почти достаточно для Windows Vista, но это слишком много для Linux!

Новый low-cost ПК имел конфигурацию с 1Гб ОЗУ и таким же ЦПУ и диском как и “mainstream” ПК. Единственная разница между “mainstream” ПК и low-cost ПК была в 1Гб ОЗУ и примерно $250 по стоимости железа. Что-то уж слишком дорогая память получается по $250 за 1Гб.

С другой стороны “second hand” ПК в отчете имеет конфигурацию Pentium 4 и 512Мб ОЗУ. Но самым интересным является то, что он имеет всего лишь 40-80Гб дискового пространства. Теперь я понимаю реальную причину, по которой составители отчета предположили, что б/у компьютер будет жить всего три года. За три года вы сможете полностью забить диск в 40-80Гб скачанной музыкой ;).

В спецификациях также присутствует “Ultra low-cost” компьютер, обозначенный как “Client and Laptop Server” с 512Мб ОЗУ и 2Гб флэш-картой, не имеет Ethernet, только беспроводную сеть. Странно. Мне не пришло бы в голову использовать его в качестве сервера, если только я не живу в дикой местности.

Далее в стоимость включены UPS для учебного класса и затраты на электроэнергию в т.ч. и для кондиционера. Хотя, например, для ноутбуков UPS’ы не нужны, а в сельских школах никогда не будет кондиционера.

К тому же можно отметить, что проприетарные продукты не поддерживают многих языков развивающихся стран. Microsoft перечисляет 91 язык, поддерживаемый в Windows XP и 2003. Причем в это число входят 6 различных французских языков, 13 видов английского и 19 различных испанских диалектов. Тогда как Ubuntu 7.04 поддерживает 127 языков, причем французский, английский и испанский языки перечислены только один раз ;)

С другой стороны, ничего не было сказано о проблеме того, чтобы обновить аппаратные средства по истечении трех лет, потому что Microsoft больше не поддерживает программное обеспечение, которое вы использовали в начале пятилетнего исследования по совокупной стоимости владения. Допустим, вы купили XP последний раз с ПК с 512Мб ОЗУ. Теперь вы хотите получить новый компьютер и вы обнаружите, что он не поддерживается XP,- только Vista … и она требует 2Гб ОЗУ или более.

Итак, на середине 5-тилетнего срока Microsoft принимает решение больше не поддерживать XP (а кто ей запретит? прим.пер.). Нет апдейтов, нет заплаток по безопасности. Вы будете вынуждены перейти на Windows Vista. Сколько будет стоить новое железо? Вы готовы к DRM? А сколько будет стоить переобучение?

Когда вам не принадлежит ваше программное обеспечение, вы не сознаете ситуацию. Недостаточный контроль за вашим программным обеспечением — одна из “скрытых затрат”, которые никогда не упоминаются в исследовании.

Другое ошибочное допущение, сделанное в докладе, что по истечении пяти лет ваш “основной” компьютер не имеет стоимости. Это может быть особенно актуально, если бы вы попытались бы продать его кому-нибудь и покупатель б/у ПК был бы вынужден покупать замену для программного обеспечения на этом ПК. Стоимость коммерческого, проприетарного программного обеспечения будет сотни, если не тысячи долларов, что делает нецелесообразным покупку вашего б/у ПК, если только покупатель не собирается использовать пиратское программное обеспечение … или СПО.

В заключение, последнее упущение, это то, что в отчете полностью игнорируется такой передовой мэйнстрим “educational lab”, шедевр СПО — the Linux Terminal Server Project (LTSP).

LTSP снижает традиционные аппаратные затраты, т.к. основные работы проводятся на сервере системы. Клиенты могут быть очень “тонкими” и даже бездисковыми, поэтому будут работать гораздо дольше, чем три года обозначенные в докладе.

Теперь мы переходим к реальным нестыковкам в исследовании Microsoft.

Несмотря на то, что исследование признает, что на начальном этапе стоимость Linux дешевле (даже при более низких аппаратных требованиях LTSP систем или повторном безвозмездном использовании аппаратных средств), Microsoft утверждает, что пятилетнее TCO выше из-за “высоких расходов на долгосрочную поддержку”, в результате высокой заработной платы для редких специалистов по Linux. И в итоге получается, что совокупные расходы “почти равны”.

При использовании СПО деньги платятся местным специалистам и остаются на месте. При использовании проприетарного ПО роялти выплачивается за программное обеспечение Microsoft на местах, однако затем денежные потоки оседают в корпорации Microsoft.

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

Когда ученики изучают только проприетарное ПО, то в дальнейшем по окончании учебы они будут при решении задач естественным образом тяготеть к проприетарным программным решениям. Учителя будут знать только проприетарное программное обеспечение и смогут учить только проприетарному программному обеспечению. Естественно, что специалистов, которые знают СПО меньше и они требуют более высокую заработную плату.

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

Я также отмечу, что сам доклад Vital Wave Consulting имел гриф: “Vital Wave Consulting, Inc. Confidential and Proprietary. Do not copy or send to third-parties in whole or in part”, и когда я пошел искать запись о нем в блоге Microsoft, он таинственным образом исчез.

К счастью, Microsoft до сих пор хранит отчет в своей download area, и поэтому я смог читать и анализировать его. Пока Microsoft не удалила все материалы, вот прямая ссылка (на данный момент рабочая. прим.пер.) или здесь.