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

Wake-On-Lan


Включаем поддержку WoL в BIOS на ведомом компьютере. Это может быть одноименный пункт наподобие Wake On Lan Enable, либо Power On By PCIE и т.д., может также быть, что этот режим в BIOS не меняется, а материнская плата поддерживает его по умолчанию.
Чтобы определить, поддерживает ли сетевая карта WoL, - загружаем ведомый компьютер набираем в консоли
ethtool eth0
Получаем результат:
Settings for eth0:
Supported ports: [ MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Link detected: yes
Нас интересуют строчка Supports Wake-on и Wake-on. Первая показывает доступные режимы сетевого адаптера на пробуждение (g - как раз пробуждение по Magic Pocket), а вторая - текущий режим (d означает выключенный WoL).

Для того, чтобы перевести сетевую карту в режим WoL, используется команда
ethtool -s eth0 wol g
Для выключения режима WoL
ethtool -s eth0 wol d
Сетевой адаптер может поддерживать сохранение состояния, в которое его перевели, но может и сбрасывать (чаще всего на d), поэтому при каждой загрузке необходимо будет устанавливать нужный режим WoL. Добавляем в /etc/conf.d/net следующие строки - они будут включать режим WoL на всех сетевых адаптерах, которые его поддерживают:
preup() {
if ethtool $1 | grep "Supports Wake-on:" | grep g >/dev/null;
then
ethtool -s $1 wol g
fi
}

Для пробужения компьютера используем утилиту wakeonlan на ведущем компьютере
wakeonlan MAC-адрес

вот еще ссылочка которая возможно поможет решить проблему, если компьютер будет отказываться просыпаться по сети

воскресенье, 19 декабря 2010 г.

Postfix, IMAP, antispam

Скопипастил отсюда

POSTFIX

Установим нужные для работы почтового сервера пакеты.
apt-get install postfix libsasl2 libsasl2-modules sasl2-bin cyrus-imapd-2.2 cyrus-pop3d-2.2 cyrus-admin-2.2
Во время первоначальной настройки postfix укажите конфигурацию для Интернет-сайта (Internet Site). На вопрос об имени почтового сервера-оставьте вариант по-умолчанию или укажите свой. В нашем случае это было mailserver.test.ru

Настроим сервер авторизации saslauthd на использование базы данных паролей sasldb2. Для этого отредактируем файл /etc/default/saslauthd:

mcedit /etc/default/saslauthd:
START=yes
MECHANISMS="sasldb"

Запустим сервис командой:
/etc/init.d/saslauthd start
Сейчас проверим правильно ли он работает, но для начала необходимо добавить хотя бы одного пользователя.
mailserver:~# saslpasswd2 test
Password:
Again (for verification):
mailserver:~# sasldblistusers2
test@mailserver: userPassword
mailserver:~# testsaslauthd -u test -p test
Если в результате этих манипуляций вы получили сообщение "0: OK "Success.", значит все в порядке и можно продолжать. Если же авторизация не прошла - смотрите файл /var/log/auth.log и повторяйте, повторяйте и ещё раз повторяйте все шаги, пока не получится нужный результат.

У почтового сервера postfix есть одна особенность - после запуска он работает в chroot окружении, которое находится в папке /var/spool/postfix/.
Это сделано из соображений безопасности, однако несколько усложняет сам процесс настройки. Так как postfix общается с остальными приложениями в большинстве случаев посредством socket'ов, и выше своего chroot окружения выбраться не может, то эти сокеты приходится переносить в доступную postfix-папку.

Учитывая то, что для авторизации пользователей postfix будет использоваться демон saslauthd, нам нужно перенести его socket в рабочую директорию нашего сервера /var/spool/postfix/. Самый простой способ сделать это заключается в монтировании в нужную папку директории с уже созданным сокетом демона saslauthd.

Делается это редактированием файла /etc/fstab.
mcedit /etc/fstab:
/var/run/saslauthd /var/spool/postfix/var/run/saslauthd none rw,bind 0 0
Не забудьте поставить [Enter] после последней строки. Также нужно не забыть создать папку, куда мы смонтируем сокет демона авторизации.
mkdir -p /var/spool/postfix/var/run/saslauthdmount /var/run/saslauthd
Сейчас сконфигурируем postfix для использования sasl авторизации.
mcedit /etc/postfix/main.cf:

smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_authenticated_header = yes
smtpd_sasl_application_name = smtpd
Существует и упрощенный вариант редактирования этого файла командой postconf –e "smtpd_sasl_auth_enable = yes" и т.д.Сейчас мы запретим отсылать почту через наш SMTP шлюз без авторизации. Для этого создадим файл /etc/postfix/sasl/smtpd.conf со следующим содержимым.
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
Перезапустим наш postfix сервер и внимательно просмотрим следующие файлы на предмет ошибок:

* /var/log/mail.err
* /var/log/mail.info
* /var/log/mail.warn
* /var/log/mail.log.
Если все чисто, сухо и гладко - обратимся к утитиле telnet, для того, чтобы подключиться к нашему серверу.
mailserver:~# telnet localhost 25

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mailserver.test.ru ESMTP Postfix (Debian/GNU)

EHLO http://www.x-drivers.ru/

250-mailserver.test.ru
250-PIPELINING
250-SIZE 10240000
250-VRFY250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME250 DSNQUIT
Connection closed by foreign host.
Если у вас нечто похожее - продолжаем, если же подключение не удалось - проверяем где вы вставили лишний пробел или нечаянно удалили символ.

Для того, чтобы "подружить" saslauthd и postfix необходимо выполнить следующее:
adduser postfix sasl

CYRUS

В нашем случае cyrus будет заниматься получением почты от postfix, раскладыванием ее по папкам и предоставлению к ней доступа пользователям. Отредактируем файл /etc/imapd.conf.
mcedit /etc/imapd.conf :

admins: cyrus
allowplaintext: yes
sasl_mech_list: PLAIN
sasl_pwcheck_method: saslauthd auxprop
sasl_auxprop_plugin: sasldb
Обратите внимание, что cyrus так же, как и saslauthd, придется взаимодействовать с postfix, поэтому их нужно сделать доступными друг другу. Воспользуемся уже известным механизмом:
mcedit /etc/fstab :

/var/run/cyrus /var/spool/postfix/var/run/cyrus none rw,bind 0 0
Не забываем создать папки для cyrus.
mkdir -p /var/spool/postfix/var/run/saslauthd
mkdir -p /var/spool/postfix/var/run/cyrus
mount /var/spool/postfix/var/run/saslauthd
mount /var/spool/postfix/var/run/cyrus
mount /var/run/cyrus
Сейчас предоставим возможность cyrus забирать почту у postfix. Отредактируем файл /etc/postfix/main.cf:
mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
Добавим почтовый сервер в группу lmtp:
addgroup lmtp
adduser postfix lmtp
И выполним следующее:

dpkg-statoverride --remove /var/run/cyrus/socket
dpkg-statoverride --force --update --add cyrus lmtp 750 /var/run/cyrus/socket
Добавим еще одну опцию:
local_recipient_maps =
В случае с pam-авторизацией по логинам и паролям системных пользователей все бы работало без проблем. Но когда имена и пароли хранятся в формате, отличном от системного, необходимо указать данную опцию. Она означает "принимать письма для любого адресата". Это, конечно, не лучший выход, однако лучшего пока найти не удалось.Добавим пользователя cyrus в нашу базу учетных записей:
saslpasswd2 -c cyrus
Введите пароль, когда вас об этом попросят, и перезапустим наши демоны:

/etc/init.d/postfix start
/etc/init.d/cyrus2.2 restart
/etc/init.d/saslauthd restart
Если вы без ошибок сделаете все, что было описано выше, то теоретически к этому моменту уже можете принимать и отправлять письма, создавать и удалять папки на IMAP-сервере, устанавливать квоты и права доступа на папки средствами утилиты cyradm.К примеру, можно создать скрипт, который будет создавать пользователю папки Sent, Trash, Drafts, Spam средствами утилиты cyradm.Так как все дальнейшие действия по настройке в целях тестирования потребуют отсылать и принимать почту, приведем краткую инструкцию по созданию почтовых аккаунтов:

saslpasswd2 –c <имя пользователя>

cyradm –user cyrus localhost

localhost>cm user.<имя пользователя>
localhost>cm user.<имя пользователя>.INBOX
localhost>cm user.<имя пользователя>.Sent
localhost>cm user.<имя пользователя>.Draft
localhost>cm user.<имя пользователя>.Trash
При желании, можно задать квоты на количество места в папках и другие параметры, с которыми можно познакомиться набрав "?" или "help" в утилите cyradm.
Если вы собираетесь использовать почтовый сервер только внутри организации и в Интернет он смотреть не будет, то на этом настройку можно и оставить.

Amavisd-new, SpamAssassin и ClamAV

Приступим к установке Amavisd-new, SpamAssassin и ClamAV.
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip unarj bzip2
Внесем некоторые изменения в конфигурационные файлы amavisd:

mcedit /etc/amavis/conf.d/50-user

$forward_method = 'smtp:127.0.0.1:10025'; # where to forward checked mail
$notify_method = $forward_method; # where to submit notifications
$virus_quarantine_to = 'undef';
$sa_local_tests_only = 0;@inet_acl = qw( 127.0.0.1 );

mcedit /etc/amavis/conf.d/20-debian_defaults

$final_virus_destiny = D_REJECT; # (defaults to D_BOUNCE)
$final_banned_destiny = D_REJECT; # (defaults to D_BOUNCE)
$final_spam_destiny = D_PASS; # (defaults to D_REJECT)
$final_bad_header_destiny = D_PASS; # (defaults to D_PASS), D_BOUNCE suggested

$viruses_that_fake_sender_re = new_RE(
qr'nimda|hybris|klez|bugbear|yaha|braid|sobig|fizzer|palyh|peido|holar'i,
qr'tanatos|lentin|bridex|mimail|trojan.dropper|dumaru|parite|spaces'i,
qr'dloader|galil|gibe|swen|netwatch|bics|sbrowse|sober|rox|val(hal)?la'i,
qr'frethem|sircam|be?agle|tanx|mydoom|novarg|shimg|netsky|somefool|moodown'i,
qr'@mm|@MM', # mass mailing viruses as labeled by f-prot and uvscan
qr'Worm'i, # worms as labeled by ClamAV, Kaspersky, etc
[qr'^(EICAR|Joke.|Junk.)'i => 0],
[qr'^(WM97|OF97|W95/CIH-|JS/Fort)'i => 0],
[qr/.*/ => 1], # true by default (remove or comment-out if undesired)
);

#$QUARANTINEDIR = "$MYHOME/virusmails";

$QUARANTINEDIR = undef;

$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.3; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 999; # triggers spam evasive actions
Добавим пользователя clamav в группу amavis:
adduser clamav amavis
Сейчас заставим postfix отдавать почту для проверки антивирусом. Отредактируйте файл /etc/postfix/master.cf:

mcedit /etc/postfix/master.cf :

smtp-amavis unix - - n - 2 smtp

-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes

127.0.0.1:10025 inet n - n - - smtpd

-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
Так же добавьте в конец /etc/postfix/main.cf:

content_filter=smtp-amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
Перестартуйте его и посмотрите нет ли ошибок в лог-файле:

/etc/postfix/restart
tail /var/log/mail.log
ставим пакет dcc-client. Т.к. я его не нашёл в репозитариях Dibian, будем ставить его же от Ubuntu. Для этого находим его на сайте поиска пакетов для Ubuntu http://packages.ubuntu.com. пакет dcc-client, зависит от пакета dcc-common. Так что его тоже нужно закачать и установить. Находим его на том же сайте
Устанавливаем их:

dpkg -i dcc-client_1.2.74-2_i386.deb dcc-common_1.2.74-2_i386.deb
Установим ещё несколько инструментов и настроим spamassassin:

apt-get install razor pyzor
Отредактируем файл /etc/spamassassin/local.cf:

mcedit /etc/spamassassin/local.cf :
# rewrite_header Subject *****SPAM*****
# report_safe 1
# trusted_networks 212.17.35.
# lock_method flock

# dcc
use_dcc 1
dcc_path /usr/bin/dccproc
dcc_add_header 1
dcc_dccifd_path /usr/sbin/dccifd

#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor
pyzor_add_header 1

#razor
use_razor2 1
razor_config /etc/razor/razor-agent.conf

#bayes
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
Сейчас нужно разрешить spamassassin запускаться:

mcedit /etc/default/spamassassin :

ENABLED=1
И перезапустить нужные приложения:

/etc/init.d/postfix restart
/etc/init.d/amavis restart
/etc/init.d/clamav-daemon restart
/etc/init.d/spamassassin restart
Попробуйте создать пользователей и попробовать обменяться письмами. В том числе и письмами с прикрепленными exe-файлами. Если вы все правильно настроили – фильтр должен задержать такие файлы и прислать вам соответствующие уведомления.




вторник, 14 декабря 2010 г.

Работа с шарами самбы из под убунты

Сервер на Debian раб.станция на Ubuntu
для нормальной работы с шарой, в конфиг сабы прописываем
create mask = 666
force create mode = 666
directory mask = 777
force directory mode = 777

в fstab

//server/share /mnt/L cifs credentials=/root/.smbclient,iocharset,=utf8,filemode=0600,dir_mode=0700,_netdev 0 0

/root/.smbclient - тут инфа с логином паролем, такого вида
username=
password=

воскресенье, 12 декабря 2010 г.

Проблемы с русской кодировкой в рар-архивах (debian)

при открытии раровского архива, с русскими именами файлов и директорий, созданного в винде, вместо нормальных названий показываются зюки, а результате чего файлы могут не открываться. Лечится просто.
удаляем rar и unrar
скачиваем с официального сайта инсталяцию http://www.rarlab.com/download.htm
make install
все работает.

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

Автостарт VirtualBox

Делалось на LXDE.
виртуальную машину назвал virtualka
в /home/user/.config/autostart/ создаем файлик подобный другим. (имя virtualka.desktop)


[Desktop Entry]
Name=Virtualka
Comment=Virtual Machine
Exec=/usr/lib/virtualbox/VBoxManage startvm virtualka
OnlyShowIn=Gnome;LXDE;
Terminal=false
Type=Application
X-GNOME-Autostart-Phase=Applications
X-GNOME-AutoReastart=true



Сетевые на VirtualBox

ставим VirtualVox :)
понадобится пакет bridge-utils

в /etc/network/interfaces
auto br0
iface br0 inet static
bridge_ports eth1
address 172.16.0.1
netmask 255.255.255.0

в сетевых устройствах настроек виртуалки выбираем "Сетевой мост" и интерфейс br0, ну и соответственно назначаем ИП - 172,16,0,2