Система Orphus
[]

понедельник, 19 января 2009 г.

Индикатор клавы в GNOME в виде флажков, а не текста


Как-то давно, когда только начинал изучать линукс, нашел совет для убунты и гнома, как сделать в раскладке клавы флажки вместо обычных надписей типа RU и EN (или как там? уже не помню :) ).
Но в этом совете было все слишком длинно описано... Ведь все это можно сделать всего-лишь одной командой:

mkdir -p ~/.icons/flags && cd ~/.icons/flags/ && wget -q http://notesyoungeradmin.angel2s2.googlepages.com/{ru,us}.png && gconftool-2 --type bool --set /desktop/gnome/peripherals/keyboard/indicator/showFlags true && cd - > /dev/null

Воть и усе ;)


ЗЫ: Как это работает.
Создаем папку "~/.icons/flags":
mkdir -p ~/.icons/flags
Переходим в только-что созданную папку:
cd ~/.icons/flags/
Скачиваем 2 файла, us.png и ru.png, для английской и русской раскладок, соответственно:
wget -q http://notesyoungeradmin.angel2s2.googlepages.com/{ru,us}.png
Выполняем команду, чтобы гномик знал, что надо показывать картинки, а не текст:
gconftool-2 --type bool --set /desktop/gnome/peripherals/keyboard/indicator/showFlags true
Возвращаемся в тут папку, в которой были до этого:
cd - > /dev/null

Убунта может повредить диск на ноуте. Лечим.


В 2007 году было опубликовано сообщение о повышенном износе жестких дисков ноутбуков, работающих под управлением Ubuntu Linux. Проблема вызвана излишне частым перевод жесткого диска в спящий режим, по умолчанию применяющийся в Ubuntu при работе ноутбука от батареи при активном "ENABLE_LAPTOP_MODE" режиме в /etc/default/acpi-support или /etc/default/laptop-mode, что значительно сокращает срок службы жесткого диска.

Несмотря на многочисленные жалобы в скрипте /etc/acpi/power.sh по прежнему присутствует вызов "$HDPARM -B 1" (1 - самый агрессивный режим экономии энергии, для выключения засыпания рекомендуется установить 255, но при возвращении ноутбука из спящего режима значение уровня APM все равно автоматически устанавливается в 128). При текущих установках, за 100 часов работы с ноутбуком жесткий диск переводился в спящий режим 7000 раз (ресурс диска - 600000), т.е. почти раз в минуту.

Несколько дней назад в тестовый репозиторий 'proposed' для выпусков 9.04, 8.10 и 8.04 помещена исправленная версия пакета acpi-support, в случае одобрения исправления будут интегрированы в основной дистрибутив.

Оценить число выключений диска можно установив пакет smartmontools и выполнив команду:
sudo smartctl -d ata -a /dev/sda | grep Load_Cycle_Count
или для удобства вопсприятия:
sudo smartctl -d ata -a /dev/sda | grep "Load_Cycle_Count|ID#"

Для проверки активности агрессивного засыпания диска нужно выполнить:
sudo hdparm -I /dev/sda | grep 'Advanced power management level'




Источник (+ немножко подправлено мной): http://www.opennet.ru/opennews/art.shtml?num=19832


От себя:
Думаю и так понятно как это лечится, но на всякий случай поясню.
Открываем файлик /etc/acpi/power.sh:
sudoedit /etc/acpi/power.sh

Заменяем все "$HDPARM -B 1" на "$HDPARM -B 255", сохраняем и выполняем команду
sudo hdparm -B 255 /dev/sda
(sda заменить на ваш диск, хотя скорее всего на ноуте так и будет sda).
Все.
Можно перезагрузиться, чтобы убедиться, что после перезагрузки все будет ок, т.е. после перезагрузки стоит выполнить команду:
sudo hdparm -I /dev/sda | grep 'Advanced power management level'


UPD: Хм... У меня почему-то это не сработало :(
Сделал просто: добавил "hdparm -B 255 /dev/sda" в /etc/rc.local =)

среда, 24 декабря 2008 г.

Дом для spam-check'ера


Решил сделать не большой сайтег для своего скрипта spam-check.


Адресог: http://spamcheck.angel2s2.googlepages.com/

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

Сайт пока в тестовой стадии, многое еще предстоит добавить, но это уже по мере возможности и времени...

Жду комментов, мнений, критики =)


ЗЫ: После нового года планирую обновить скрипт, добавить кое чего...



UPD: Последнюю версию скрипта можно взять тут -> https://code.google.com/p/spamcheck/

понедельник, 22 декабря 2008 г.

Флешка без вирусов

Очень часто бывает такая ситуация:
Пришел к другу фильм/прогу/музон/etc перекачать, воткнул в USB порт флешку/жесткий, слил... Пришел домой втыкаешь в свой комп эту же флешку/жесткий и... А там вирусяга сидит...
Не порядок...

Значит шастался я не давно по хабру... А там как раз тема была такая: Защита флэшки от Autorun-вирусов...
В общем аффтар предлагал создать флешку отформатированную под NTFS и запретить доступ на запись в корень флешки, а в корне предварительно создать папку, в которую и будут писаться все файлы.
Способ хорош, но он не лишен недостатков, а именно:
1. Нельзя закинуть файл/папку на флешку через контекстное меню "Отправить";
2. Нельзя выдергивать флешку, предварительно не размонтировав ее, т.к. файлы могут стать битыми (на NTFS данные пишутся не сразу, в отличии от FAT);
3. Нам, линуксоидам, не очень то и удобно будет :) (ntfs-3g при монтировании хорошо нагружает проц, что не есть гуд);
4. А если флешка еще и бутовой является (читай, загрузочной)?


Многие уже знают, что на FAT32 можно просто создать папку autorun.inf и вирусы пойдут лесом, точнее они не будут запускаться, но их тело попадать на флешку все равно будет, что уже не так критично, т.к. они все равно не запустятся, к тому же зачастую они имеют аттрибут "скрытый". Но время не месте не стоит. Вирусописатели умнеют (эх... жаль, что не тупеют). Уже сейчас есть вирусы, которые сносят эту папку в пух и прах и создают файл с таким же именем и нужным содежранием.
Встает вопрос: А как можно защитить флешку на FAT32? О чем я и хочу рассказать =)

На том же хабре, в комментах той же темы один добрый человек с ником bNN предложил такой способ:
1. Cоздать *.bat (*.cmd) файл, со следующим содержанием (также его можно скачать тут):
attrib -s -h -r autorun.*
del autorun.*
mkdir %~d0\AUTORUN.INF
mkdir "\\?\%~d0\AUTORUN.INF\.."
attrib +s +h %~d0\AUTORUN.INF

2. Скопировать этот батник на флешку и запустить (ЗАПУСКАТЬ ИМЕННО С ФЛЕШКИ).
3. Все =)

Теперь в корне флешки будет скрытая системная папка AUTORUN.INF. Если теперь в консоле выполнить команду
dir X:\AUTORUN.INF

то увидим, что в папке AUTORUN.INF есть 2 подпапки (спецфайла) с именем "..", поэтому эту папку (AUTORUN.INF) удалить нельзя :)
Теперь все вирусы со своими autorun.inf идут лесом :) (правда тело вируса попадет на флешку, но как правило этот файл скрытый и обычный юзер его не знапустит)

Я уже обработал всем коллегам флешки этим скриптом и вам советую :)

пятница, 19 декабря 2008 г.

База данных оборудования, совместимого с Linux

Многие, наверняка, сталкивались с ситуацией, когда в магазине боязно брать то или иное оборудование, потому что неизвестно будет ли оно работать в Linux! Попытки поиска нужной информации в Интернет часто заканчиваются ничем: либо нет никаких упоминаний о нужном вам оборудовании, либо данные противоречивы - одни говорят, что работает, другие, что нет!

Поэтому предлагаю, каждому кто на своём опыте убедился в том, что та или иная модель оборудования точно работает или точно не работает в Linux сообщить об этом другим! Таким образом вы сильно облегчите жизнь других, а кто-то, вполне вероятно, также облегчит жизнь и вам! Вместе мы сила!

Я начал с себя и сделал первые записи в базу. Формат базы не догма - обсуждаем здесь.

Источник.



От себя:
Я полностью поддерживаю эту идею :) Хотя т.ж. знаю, что существуют и другие сайты аналогичного направления.

Например:
http://www.linux-drivers.org/
http://www.linuxcompatible.org/compatlist3.html
http://freesource.info/wiki/HCL
http://www.leenooks.com/
http://loll.sourceforge.net/linux/links/Hardware/
http://www.linuxtested.com/
http://hardware4linux.info/

И кночено же Google, куда же без него :)
http://www.google.ru/search?q=linux+hardware+database

Профессиональные заболевания компьютерщика

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

В общем-то, выделяют три основных заболевания компьютерщиков: зрительный синдром, туннельный синдром, ожирение и все, что с ним связано.
Зрительный синдром заключается в постепенном ухудшении зрения в результате постоянного напряжения глаз. Каким бы качественным не был бы монитор, все равно компьютерщик смотрит в одну точку - и никакие ухищрения производителей тут не помогут, все дело в физиологии. При переутомлении глаз мы забываем моргать, мышцы глазного яблока "отвыкают" от быстрой фокусировки взгляда на каком-либо предмете. В результате зрение может значительно упасть.
Кстати симптомы зрительного синдрома очень характерны: затуманивание зрения, затрудненная фокусировка, быстрая утомляемость. Кроме того, можно также выделить жжение в глазах, покраснение глазных яблок, боли при движении глаз.
Туннельный синдром заключается в травме кисти руки, которой мы работаем с мышкой. Поскольку движения мышкой приблизительно одинаковы в течение долгого времени, кости немного "стягиваются", травмируя так называемый срединный нерв. В результате возникают крайне неприятные болевые ощущения в кисти руки: возникают боли в руке, вы чувствуете неудобство, пытаясь поднять тяжелый предмет, сжатие кулака тоже может сопровождаться болями.
Ожирение. Тут все ясно - неподвижный образ жизни, употребление фастфуда или других типов высококалорийной пищи приводит к постоянному увеличению массы тела, в результате чего человек за короткое время поправляется настолько, что его трудно узнать.
Конечно, осторожный компьютерщик может не допустить возникновения ни одного упомянутого заболевания, но для этого придется изрядно потрудиться: записаться в атлетический зал, купить витамины для глаз, посещать офтальмолога, следить за своим питанием. Эти же советы подходят и тем, кто уже страдает одним из упомянутых заболеваний. Все-таки правильно говорит старинная пословица: "Лучше поздно, чем никогда".

Источник: http://www.mhealth.ru/health/healthnews/408214/index.php

пятница, 12 декабря 2008 г.

Определение пиратского диска с помощью лазерной указки

Пятеро физиков из испанского Университета Гренады разработали простой метод, с помощью которого можно отличить лицензионный диск от пиратского, сообщает журнал Science. Он основан на разнице в технологии записи лицензионных и пиратских дисков. Для того, чтобы определить лицензионный диск или нет, ученые использовали обыкновенную лазерную указку, которой светили на зеркальную поверхность диска. Когда свет от указки попадал на поверхность лицензионного диска, то была видна лишь яркая точка. Если диск пиратский, то сверху и снизу этой точки появлялись параллельные линии. Исследователи подчеркивают, что провели подобный эксперимент со ста оптическими дисками. Они содержали различный контент и были изготовлены разными производителями. В итоге физики пришли к выводу, что их метод является абсолютно точным. Американский физик Чуньле Го (Chunlei Guo) из Университета Рочестера, штат Нью-Йорк, подтверждает эффективность метода, позволяющего определить контрафактный диск или нет при помощи лазерной указки. Он считает, это открытие должно быть использовано для усиления борьбы с пиратством.

Источник: http://sciencenow.sciencemag.org/cgi/content/full/2008/1210/1
Перевод взят тут: http://www.uinc.ru/news/sn11159.html

четверг, 20 ноября 2008 г.

Автоматизация проверки своего IP по спам базам. Вершин ту.


Не так давно я выкладывал собственноручный скрипт для автоматической проверки своего IP по спам базам. Там было всего 11 баз. Да и работал он через http, что естественно не очень хорошо...
Но есть способ получше =)


И заключается он в том, чтобы обращаться к DNSBL напрямую. =)
Делается это просто, вот пример:
host -t TXT 4.3.2.1.xbl.spamhaus.org

тут 4.3.2.1 - это IP адрес задом наперед, а xbl.spamhaus.org - один из многочисленных DNSBL =)
В результате получим ответ:
Host 4.3.2.1.xbl.spamhaus.org not found: 3(NXDOMAIN)
что говорит о том, что хост с IP адресом 1.2.3.4 в этой базе не числится.
А если сделаем такой запрос:
host -t TXT 79.35.217.90.xbl.spamhaus.org
то получит ответ:
79.35.217.90.xbl.spamhaus.org descriptive text "http://www.spamhaus.org/query/bl?ip=90.217.35.79"
что явно указывает, что это IP адрес числится в спам базе. Даже ссылку дают, куда надо сходить в гости, чтобы тебя пожалели и удалили твой IP из этой спам базы :)

Человек по "имени" darkk (http://darkk.net.ru/) поделился со мной замечательной ссылкой http://www.robtex.com/. Замечательна она тем, что этот сайт знает более 100 DNSBL и, естественно, позволяет проверить свой IP. Но кому будет оходта заходить каждый день на этот сайт, вбивать свой IP и ждать результатов? Естественно хочется этот процесс как можно лучше автоматизировать и забыть про это дело. А вспоминать, только тогда, когда IP, какого-то фига, попал в какую-то спам базу.
Вот для этого я и написал этот скрипт.

Вот что он умеет:
Использование:
spam-check [-u] [[-e] [-g] [-s]] | [-v] | [-q] -p IP [IP2 [... [IPn]]]
spam-check -i input_file [-u] [[-e] [-g] [-s]] | [-v] | [-q] -p IP [IP2 [... [IPn]]]
spam-check -a dnsbl [-u] [[-e] [-g] [-s]] | [-v] | [-q] -p IP [IP2 [... [IPn]]]
spam-check -d [-u]

-u - Разрешить запуск скрипта от root'а
-e     - Показывать сообщения об ошибках
-g     - Показывать успешные проверки (НЕ СПАМ)
-s     - Не показывать не успешные проверки (СПАМ)
-v     - Выводить все
-q     - Ничего не выводить
-p     - IP адрес (можно указывать несколько IP, через пробел)
-i     - Файл со списком dnsbl-серверов
-a     - Проверить по указанному dnsbl
-d     - Вывести список всех dnsbl-серверов
-V     - Вывести версию
-h     - Показать справку

Особенности:
1. По умолчанию выводятся только не успешные проверки (СПАМ)
2. -g, -e и -s можно комбинировать.
3. -g, -e и -s нельзя использовать одновременно с -v и -q.
4. -v и -q одновременно использовать нельзя.
5. -p IP [IP2 [... [IPn]]] должен быть последним параметром.
6. -q абсолютно ничего не выводит.
7. Скрипт всегда возвращает следующие коды звершения:
0   - данного IP в спам базе нет;
1   - данный IP присутствует в спам базе;
255 - ошибка в параметре, запрошена справка/версия;
ошибки ответов от серверов не влияют на код завершения.
8. Если задано несколько IP и хоть один из них окажется хоть в кой-то спам базе, то код завершения будет равен 1.


В общем думаю тут и так все понятно. Скажу только, что ключ "-i" сделал на случай, если сервер http://www.robtex.com/ по какой-то причине откажется отдавать скрипту список DNSBL-серверов. А сохранить этот список предварительно можно так:
spam-check -d > dnsbl.list
или взять тут. А скрипт можно взять тут.

Если будут просьбы, сделаю порт для винды.



ЗЫ: Хочу выразить благодарность:
slash - указал на досадную ошибку с psbl.surriel.com (0.1.x)
Tenno Seremel - помог с правильным запросом для wget (0.1.x)
ramok - помог многими советами (wget, sed, dnsbl, printf) (0.1.x & 0.2.x)
darkk - помог с документацией по dnsbl и поделился ссылкой на сайт http://www.robtex.com/, указал на mktemp (0.2.x)


UPD: Добавил mktemp и защиту от запуска под рутом, а т.ж. опцию -u для разрешения запуска под рутом.



UPD: Последнюю версию скрипта можно взять тут -> https://code.google.com/p/spamcheck/

вторник, 18 ноября 2008 г.

Автоматизация проверки своего IP по спам базам


Кто-то админит локальную сеть, кто - веб-сервер, а кому-то, как и мне, приходится админить почтовый сервер... Такие админы знают каково бывает не сладко, когда их компания делает рассылку своим клиентам, т.к. очень часта в таких случаях их сервер (точнее IP сервера) попадает в спам базы...


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

Работа скрипта проста:
spam-check 22.22.22.22

В результате мы увидим следующее:
[OK]  - spamcop.net  - 22.22.22.22 not listed in bl.spamcop.net.
[OK]  - njabl.org  - 22.22.22.22 not found in the list.
[OK]  - www.five-ten-sg.com - 22.22.22.22 is not listed here.
[-No Lookup-] - junkemailfilter.com - ERROR - Reverse DNS Lookup Failed for [22.22.22.22]. 22.22.22.22 is NOT LISTED in any Hostkarma list.
[OK]  - mail-abuse.com - The IP address entered was not found on any database managed by Trend Micro's Network Reputation Services.
[OK]  - apews.org  - We found no entry matching your search. 
[OK]  - psbl.surriel.com - The host 22.22.22.22 has never been listed in PSBL.
[OK]  - psbl.surriel.com - We have no spamtrap mail on record for 22.22.22.22.
[OK]  - wpbl.info  - 22.22.22.22 not found in database.


Поле
[-No Lookup-] - junkemailfilter.com - ERROR - Reverse DNS Lookup Failed for [22.22.22.22]. 22.22.22.22 is NOT LISTED in any Hostkarma list.
говорит о том, что сервер не смог разрешить IP в доменное имя. Это единственный сервер из этого списка, который делает такую проверку, поэтому я ее включил.


Если же IP в спам базе, то мы увидим следующее:
$ spam-check 90.217.35.79
[+++SPAM+++]    - spamcop.net           - 90.217.35.79 listed in bl.spamcop.net (127.0.0.2).
[OK]            - njabl.org             - 90.217.35.79 not found in the list.
[OK]            - www.five-ten-sg.com   - 90.217.35.79 is not listed here.
[+++SPAM+++]    - junkemailfilter.com   - Your reverse DNS is correct! - 5ad9234f.bb.sky.com. 90.217.35.79 is Black listed.
[+++SPAM+++]    - mail-abuse.com        - The IP address 90.217.35.79 does appear on the following databases managed by Trend Micro's Network Reputation Services.
[OK]            - apews.org             - We found no entry matching your search. 
[+++SPAM+++]    - psbl.surriel.com      - Currently listed in PSBL?  Yes.
[+++SPAM+++]    - psbl.surriel.com      - Received spamtrap mail for 90.217.35.79.
[+++SPAM+++]    - wpbl.info             - Total spam sightings (last 90 days) - 4.


Возможно, некоторые удивлятся, что в этом списке нет довольно известной спам базы http://www.spamhaus.org/, но дело в том, что у меня не получилось сделать работу с ней через скрипт. Дело в том, что сервер http://www.spamhaus.org/, скорее всего, проверяет поле UserAgent браузера, я пробовал воспользоваться параметром -U утилиты wget, но результат это не дало. Буду очень признателен, если кто-нибудь поможет и с ним разобраться.


Ну и конечно-же сам скрипт, как же без него :)


Вот и все, чем я хотел поделиться с вами на этот раз, коллеги :)

ЗЫ: Если кто найдет ошибки, прошу меня уведомить, в комментах или по мылу на saimon.ghost [гав-гав] Гмыл0 [тут_точка] ком (защита от спама :-Р ).


UPD: Сделал новый скрипт, на много лучше, подробности тут.



UPD: Последнюю версию скрипта можно взять тут -> https://code.google.com/p/spamcheck/

[]

вторник, 11 ноября 2008 г.

Выводим VirtualBox в локальную сеть

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


Я использовал VirtualBox OSE 1.5.6 из репозитория на Ubuntu 8.04.1 Desktop.

Для начала запусти сам VirtualBox, выбери из списка нужную тебе виртуальную машину и открой ее свойства. В левой части окна свойств выбери пункт "Сеть". В правой части выбирает "Хост-интерфейс" в поле "Присоединен к". А ниже в поле "Имя интерфейса" пишем "vbox0" (естественно, без кавычек ;) ). В общем как на скриншоте ниже.




Далее ставим пакет bridge-utils:
sudo apt-get install bridge-utils


И добавляем в /etc/network/interfaces:
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
bridge_ports eth0 vbox0


Теперь редактируем /etc/vbox/interfaces:
vbox0 ИмяЮзера br0
тут ИмяЮзера - пользователь, под которым ты работаешь в системе.

Т.ж. нужно настроить права для /dev/net/tun, чтобы VirtualBox не ругался при запуске гостевой ОС:
sudo chown root:vboxusers /dev/net/tun
sudo chmod g+rw /dev/net/tun


Чтобы не выполнять это каждый раз при запуске Ubuntu открываем файл /etc/udev/rules.d/20-names.rules и ищем строчку (у меня она была в самом низу файла)
KERNEL=="tun", NAME="net/%k"
и дописываем в ее конец
, GROUP="vboxusers", MODE="0660"
т.е. должна получиться такая строчка
KERNEL=="tun", NAME="net/%k", GROUP="vboxusers", MODE="0660"


Теперь настало время перезапустить сеть и демон виртуалбокса:
sudo /etc/init.d/networking restart
sudo /etc/init.d/virtualbox-ose restart

Все готово. Осталось только запустить гостевую систему в VirtualBox'е и убедиться, что все работает. :)

Т.к. IP мы получаем динамически, то надо в гостевой системе сделать соответствующие сетевые настройки, чтобы она получала IP от DHCP сервера из нашей локальной сети.
Если же ты не хочешь или не можешь по какой-то причине использовать DHCP сервер, то измени файл /etc/network/interfaces след. образом:
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
bridge_ports eth0 vbox0

Теперь твоя гостевая система будет иметь IP 192.168.0.100. Т.ж. не забудь соответствующим образом изменить сетевые настройки гостевой системы.


И... никогда не забывай делать резервные копии, перед внесением изменений в какие-либо конфигурационные файлы!!! ;)


ЗЫ: Можешь на свой страх и риск заюзать нижеприведенный скрипт. Но тебе все равно придется вручную изменить настройки в свойствах виртуальной машины (как это описывалось выше).
Скрипт нужно запускать от root'a. Если ты изменишь значение переменной $ISDHCP на 1, то тебе нужно будет изменить значение следующих трех переменных на свой вкус, хотя можешь и ничего не менять, а оставить как есть.
Еще раз предупрежу: используй этот скрипт исключительно на свой страх и риск, я не несу никакой ответственности если ты запустишь этот скрипт на своей системе.


#!/bin/sh

# Запускать от root'а

ISDHCP=0 # 1 = Использовать DHCP | 0 = Не оспользовать DHCP

ADDRESS=192.168.0.100
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

USER=`whoami`


# Устанавливаем пакет bridge-utils
apt-get install bridge-utils

NODHCP="auto eth0"
NODHCP+="iface eth0 inet manual"
NODHCP+=""
NODHCP+="auto br0"
NODHCP+="iface br0 inet dhcp"
NODHCP+=" bridge_ports eth0 vbox0"

YESDHCP="auto eth0"
YESDHCP+="iface eth0 inet manual"
YESDHCP+=""
YESDHCP+="auto br0"
YESDHCP+="iface br0 inet static"
YESDHCP+=" address $ADDRESS"
YESDHCP+=" netmask $NETMASK"
YESDHCP+=" gateway $GATEWAY"
YESDHCP+=" bridge_ports eth0 vbox0"

# Делаем бэкап /etc/network/interfaces
cp /etc/network/interfaces /etc/network/interfaces_`date +%Y%m%d`

# Настраиваем /etc/network/interfaces
if [ $ISDHCP=0 ] ; then
echo "$NODHCP" > /etc/network/interfaces
else
echo "$YESDHCP" > /etc/network/interfaces
fi

# Настраиваем /etc/vbox/interfaces
echo "vbox0 $USER br0" >> /etc/vbox/interfaces

# Настраиваем права для /dev/net/tun
chown root:vboxusers /dev/net/tun
chmod g+rw /dev/net/tun

# Делаем бэкап /etc/udev/rules.d/20-names.rules
cp /etc/udev/rules.d/20-names.rules /etc/udev/rules.d/20-names.rules_`date +%Y%m%d`

# Заменяем нужную строчку
grep -v 'KERNEL=="tun"' /etc/udev/rules.d/20-names.rules > /etc/udev/rules.d/20-names.rules
echo 'KERNEL=="tun", NAME="net/%k", GROUP="vboxusers", MODE="0660"' >> /etc/udev/rules.d/20-names.rules

# Перезапускаем демон виртуалбокса
sudo /etc/init.d/virtualbox-ose restart

# Перезапускаем сеть
sudo /etc/init.d/networking restart