среда, 18 февраля 2009 г.

Русская консоль


В /etc/rc.conf пишем
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
scrnmap="koi8-r2cp866"

После чего, надо указать пользователей, у которых будет русский язык, делается это утилитой vipw
root:XXXXXXXXXX:0:0:russian:0:0:Charlie &:/root:/bin/csh

Далее меняем локальные консоли с cons25 на cons25r в файле /etc/ttys:

# For virtual consoles, the correct type is cons25. Other
ttyv0 "/usr/libexec/getty Pc" cons25r on secure
ttyv1 "/usr/libexec/getty Pc" cons25r on secure
ttyv2 "/usr/libexec/getty Pc" cons25r on secure
ttyv3 "/usr/libexec/getty Pc" cons25r on secure
ttyv4 "/usr/libexec/getty Pc" cons25r on secure
ttyv5 "/usr/libexec/getty Pc" cons25r on secure
ttyv6 "/usr/libexec/getty Pc" cons25r on secure
ttyv7 "/usr/libexec/getty Pc" cons25r on secure
/etc/>

reboot



---------------------------------------
Руссификация консоли и MC.

1. Т.к. в десктопной системе используется кодировка cp1251 и для большинства проектов на сервере используется она же, то для удобства было решено установить её в качестве локали:
code:
setenv LC_ALL ru_RU.CP1251

Также можно сразу установить язык:
code:
setenv LANG ru_RU

А чтобы изменения не сбросились после завершения сеанса (выхода из консоли), поправим файлик ~/.cshrc:
code:
...

setenv LC_ALL ru_RU.CP1251

setenv LANG ru_RU

...

Проверяем...
code:
$ locale

LANG=ru_RU

LC_CTYPE="ru_RU.CP1251"

LC_COLLATE="ru_RU.CP1251"

LC_TIME="ru_RU.CP1251"

LC_NUMERIC="ru_RU.CP1251"

LC_MONETARY="ru_RU.CP1251"

LC_MESSAGES="ru_RU.CP1251"

LC_ALL=ru_RU.CP1251


Запускаем Mignight Commander. О-па! Он сам переключился на русский. Только вот проблемы с кодировкой хинтов. Конечно, ведь они в кодировке KOI8-R. Правится это следующими командами:
code:
cd /usr/local/share/mc/

mv mc.hint.ru mc.hint.ru_koi8-r && iconv -f koi8-r -t cp1251 mc.hint.ru_koi8-r > tmp && mv tmp mc.hint.ru && \

mv mc.hlp.ru mc.hlp.ru_koi8-r && iconv -f koi8-r -t cp1251 mc.hlp.ru_koi8-r > tmp && mv tmp mc.hlp.ru

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

Вот, все =)

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

Увеличиваем разрешение консоли



Пересобираем ядро с опциями

options VESA
options SC_PIXEL_MODE

Можно еще добавить оформление цвет текста или фона консоли поменять:
options SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
options SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK)
options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)

Перегружаемся

$ vidcontrol -i mode (смотрим список доступных режимов)

$ vidcontrol MODE_282 (применяем режим что нам понравился)

Чтобы после перезагрузки настройка видеорежима сохранилась, добавляем в:
# ee /etc/rc.conf
строку с видеорежимом
allscreens_flags="MODE_282"


************************************************

Настройка

в ядро:

options         VGA_WIDTH90
options         VESA 
options         SC_PIXEL_MODE

просмотреть доступные режимы:

vidcontrol -i mode

выбрать нужный режим по номеру и вписать в /etc/rc.conf, или выполнить сразу vidcontrol MODE_XXX

allscreens_flags=" MODE_276"

здесь номер 276 означает 800x600x16 ( для подробностей vidcontrol -i mode )

к сожалению с частотами полный кавардак, на некоторых видеокартах устанавливается нормальная частота на некоторых только 60гц.

N.B! в amd64 VESA не работает

пятница, 13 февраля 2009 г.

Exim



Перед установкой провим /etc/make.conf
# директория с портами
PORTSDIR?= /usr/ports
# EXIM
.if ${.CURDIR} == ${PORTSDIR}/mail/exim
WITH_MYSQL= yes
LOG_FILE_PATH?= syslog
WITH_CONTENT_SCAN= yes
WITH_DEFAULT_CHARSET?= koi8-r
WITHOUT_IPV6= yes
WITH_BDB_VER?= 4
.endif
---------------------------------------
минус exim-a -необходимость правки Makefile для включения тех или иных возможностей exim-а.
---------------------------------------
ставим почтовик
cd /usr/ports/mail/exim
make install clean
---------------------------------------
ee /usr/local/etc/exim/configure # правим конфиг
---------------------------------------
ee /etc/rc.conf
exim_enable="YES" # включаем Exim
sendmail_enable="NONE" # отключаем sendmail
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"


/usr/local/etc/rc.d/exim start(restart, status)

ps -axj | grep exim # смотрим запустился ли
mailnull 40668 1 40668 40668 0 Ss ?? 0:00,02 /usr/local/sbin/exim -bd
root 41238 33870 41237 92267 2 R+ p1 0:00,00 grep exim
sockstat | grep exim # смотрим на каком порту весит
mailnull exim-4.62- 40668 3 tcp4 *:25 *:*

Также изменяем файл /etc/mail/mailer.conf до такого состояния:
sendmail /usr/local/sbin/exim
send-mail /usr/local/sbin/exim
mailq /usr/local/sbin/exim -bp
newaliases /usr/local/sbin/exim -bi
hoststat /usr/local/sbin/exim
purgestat /usr/local/sbin/exim

netstat -na | grep -i listen - проверка портов что слушаються

Конфиг Exim-a

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

=====Тут мы описываем списки доменов================================================
-primary_hostname”= Exim должен знать официальное, полное имя вашего хоста, и тут можно его задать. Когда она не задана, exim использует системную функцию “uname()”, для получения имени хоста. Используется в EHLO
-domainlist local_domains = @ # @ Это специальная форма, вхождение которой означает имя локального хоста. Таким образом, если локалхост называется “test.kiev.ua”, то почта к любому пользователю типа “any.user@test.kiev.ua” будет доставляться локально, для остальных доменов почта доставляется по MX записям в DNS.
-domainlist relay_to_domains = # делаем список доменов с которых разрешены релеи Можно использовать символы подстановки, типа: = *.my.domen.su : !spam.my.domen.su : first.su # тогда пропускается всё, что похоже на *.my.domen.su, но от spam.my.domen.su релеится почта не будет.
-hostlist relay_from_hosts = localhost:127.0.0.0/8:192.168.0.0/16 # (перечисляем сети через двоеточие)Составляем список хостов с которых разрешён неавторизованый релей. Обычно в нём находятся локальные сети, и локалхост. ЛокалХост в двух видах на случай не понимания одного из них
=====проверки========================================================================
-acl_smtp_rcpt = acl_check_rcpt # контролирует, какие получатели разрешены для входящих сообщений - если конфигурация не содержит ACL для проверки получателей, то никакая почта по SMTP не принимается.
-acl_smtp_data = acl_check_data # разрешает проверку содержимого сообщения.Проверка на спам и вирусы
=====Здесь мы описываем наш антивирус================================================
av_scanner = clamd:127.0.0.1 3310
spamd_address = 127.0.0.1 783И spamassasin

-exim_user = mailnull # Настройки пользователя и группы по умолчанию
-exim_group = mail
# Никогда не осуществляем доставку под рутом - root должен быть алиасом на другого локального пользователя. Кстати, это _обязательное_ условие, заданное еще на этапе компиляции never_users = root
-never_users = root# Это определяет, что никакая доставка не должна осуществляться от имени пользователя “root”. Нормальное соглашение заключалось в том, что “root” - псевдоним системного администратора. Зта опция - охранная. Список пользователей, определённых как “never_users” - неполный, при компиляции в “Local/Makefile” есть опция “FIXED_NEVER_USERS”, задающая список, который не может быть отменён. Содержимое “never_users” добавляется к списку. По-умолчанию, “FIXED_NEVER_USERS” содержит пользователя “root”.
-host_lookup = * # задаёт, что exim должен проводить обратный поиск в DNS для всех входящих соединений, чтобы получить имя хоста. Это улучшает качество логов, но если вы чувствуете, что это обходиться слишком дорого, то вы можете удалить этот пункт вообще, или ограничить поиск хостами в соседних сетях. Отметьте, что не всегда можно найти имя хоста по его IP-адресу, поскольку не все обратные DNS-зоны обслуживаются, и некоторые DNS-сервера могут быть недоступны.


Проверям правильность синтаксиса файла конфигурации

alex# exim -bV
Exim version 4.20 #1 built 22-May-2003 14:22:20
Copyright (c) University of Cambridge 2003
Probably Berkeley DB version 1.8x (native mode)
Support for: Perl OpenSSL
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute
queryprogram redirect
Transports: appendfile/maildir/mbx autoreply pipe smtp
Configuration file is /etc/mail/exim.conf

Если ошибок не обнаружено, идем дальше.
Теперь требуется проверить, будет ли осуществляться распознование
сообщений для локальных пользователей. Для этого выполним:


alex# exim -bt postmaster
postmaster@example.ru
router = mysqluser, transport = mysql_delivery


Если ошибок не обнаружено, переходим к следующему шагу. Проверим,
будет ли осуществляться распознование сообщений для внешних
пользователей:


alex# exim -bt someuser@msn.com
someuser@msn.com
router = dnslookup, transport = remote_smtp


Если ошибок не обнаружено, идем дальше. Необходимо проверить, будет ли
осуществляться доставка сообщений локальным пользователям, для этого
выполним:


alex# exim -v postmaster@example.ru
From: ginger@example.ru
To: postmaster@example.ru
Subject: Testing Exim

This is a test message.
^D
LOG: MAIN
<= root@example.ru U=root P=local S=303
su-2.05a# LOG: MAIN
=> ginger R=mysqluser
T=mysql_delivery
LOG: MAIN
Completed
^C


Если ошибок не обнаружено, идем дальше - проверим, будет ли
осуществляться доставка сообщений внешним пользователям:


alex# exim -v someuser@msn.com
From: ginger@example.ru
To: someuser@msn.com
Subject: Testing Exim

This is a test message.
^D
LOG: MAIN
<= root@example.ru U=root P=local S=303
su-2.05a# LOG: MAIN
=> someuser R=dnslookup
T=remote_smtp
LOG: MAIN
Completed
^C


На данном этапе мы убедились, что Exim правильно настроен и работает.
Осталось проверить SMTP аутентификацию. Для этого сделаем следующее.


Запускаем Exim:

su-2.05a# /usr/local/etc/rc.d/exim.sh start


Формируем строку PLAIN аутентификации (Netscape):

su-2.05a# printf 'ginger@example.ru\0ginger@example.ru\0my-secret-pass' | mmencode
Z2luZ2VyQGV4YW1wbGUucnUAZ2luZ2VyQGV4YW1wbGUucnUAbXktc2VjcmV0LXBhc3M=

su-2.05a# telnet localhost 25 Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 smtp.example.ru ESMTP Exim 4.20 Fri, 05 Sep 2003 13:59:25 +0400
ehlo localhost
250-smtp.example.ru Hello localhost.localdomain [127.0.0.1]
250-SIZE 10485760
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250 HELP
auth plain
334
Z2luZ2VyQGV4YW1wbGUucnUAZ2luZ2VyQGV4YW1wbGUucnUAbXktc2VjcmV0LXBhc3M=
235 Authentication succeeded
quit
221 smtp.example.ru closing connection
Connection closed by foreign host.


Из примера видно, что все прошло успешно. Если у вас иной результат -
еще раз внимательно прочитайте и ищите ошибку.





С чего начать
1)ставим Exim , провим конфиг в итоге почта ходит от нас в мир и к нам с мира
2)для того что бы роздать почту в локальную сеть и пользователи тоже могли отправлять ставим pop3d или courier- imap сервер, для доступа к почте пользователей, не имеющих локальных пользовательских учетных записей (виртуальные пользователи)
3)
4)

среда, 11 февраля 2009 г.

asus WL500gP (iptables)



Открываем ssh порт 22 для доступа из интернета на роутер

vi /usr/local/sbin/post-firewall # создаём файл

#!/bin/sh
iptables -I INPUT -m tcp -p tcp --dport 22 -j ACCEPT # открываем порт для ssh

chmod +x post-firewall # делаем файл исполняемым
flashfs save && flashfs commit && flashfs enable && reboot # сохраняем в память роутера (иначе после перезагрузки все слетит)

ifconfig сетевые интерфейсы роутера

eth0 --- физический адаптер (пять равноценных эзернет портов)
eth1 --- физический адаптер (беспроводной) Wi-Fi

путем софтовой конфигурации в eth0 может быть организовано несколько vlan (от 0 до 5). По дефолту сделано 2:
vlan0 - 4 порта LAN (свич - LAN1, LAN2, LAN3, LAN4)
vlan1 - WAN порт
br0 - это bridge, в который по умолчанию объединены 4 lan порта + wifi
br0 - vlan0 + eth1
eth1 - Wi-Fi
ppp0 - VPN подключение

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

Postpix



dig postfix-book.com MX # показывает что сервер mail.postfix-book.com являеться почтовым сервером принимающий почту для адресов в домене postfix-book.com

sendmail_enable="NONE" # отключаем sendmail /etc/rc.conf
clamav# антивирус
amavisd-new# посредником между MTA (postfix) и различными фильтрами/сканерами (spamassassin, clamav)
courier(или dovecot)#
SASL #используется postfix'ом для авторизации пользователей
LDAP — #база данных, где храниться информация о пользователях
Courier-imap программа, которая позволяет забрать письма пользователю с сервера
mbox и Maildir # Форматы серверных почтовых хранилищ



суббота, 7 февраля 2009 г.

samba

cd /usr/ports/net/samba3
make install clean
ee /etc/rc.conf
samba_enable="YES"
smbd_enable="YES"
ee /usr/local/etc/smb.conf

====================== Global Settings =====================================

[global] # общие настройки сервера самба  
Параметры этого раздела применяются к серверу целиком или являются умолчаниями для разделов если они специально не определены.

workgroup = mydomen # имя рабочей групы или нетбиос имя ПК
server string = My the bast server # описание пк в сети -пишем что хотим(можна опустить)
security = share # уровень доступа к шаре
hosts allow = 192.168.1. 127. # с каких сетей или IP адресов можна входить
hosts deny = 192.168.1.10 # етого не пускать
encrypt passwords = yes # шифруем передаваемые пароли
interfaces = em0 # интерфейс на которм весит самба
local master = no # поведение выбора обозревателя сети
oc level = 33 # тоже
domain master = no # поведение выбора обозремателя сети
preferred master = no # тоже
domain logon = no # запрещаем логины для компов выдавать, ето дело контролера домена
следующие два тоже коментируем они к етому относятся
display charset = koi8-r
unix charset = koi8-r
dos charset = cp866 # ето для русски букавок

Остальное по усмотрению
#====================== Share Definitions ===================================
[homes] # имя шары
comment = Home Directories # коментарий в сети видимый как комент к ресурсу
browseable = no # в сети ресурс виден только его владельцу
writable = yes # разрешить запись

[profiles] # имя шары



[printers] # имя шары
comment = All printers # коментарий который игнорируеться
path = /var/spool/samba #путь к спулу принтеров
guest ok = yes # разрешить печать гостю
writable = no # запрет заприси, в спул пишет сама самба
printable = yes # признак того что ето принтер, а не файл шара
create mode = 0700 # маска для файлов на печать

tmp



[public] # имя шары для свободного входа (ходи кто хоти-в нашей сети ;) )
comment = моя шара # коментарии к шаре
path = /home/user/public # путь к шаре
public = yes # доступ всем авторизированым пользователям на чтение
writable = yes # розрешить всем пользователям запись
printable = no # можна не писать, по умолчанию no (етож не принтер)
create mask = 0666 # права по умолчанию на созданый файл
directory mask = 0777 # права по умолчанию на папку

[public] # имя шары для ограниченого входа
comment = моя шара # коментарии к шаре
path = /home/user/public # путь к шаре
valid user = Vasya Petya Kolya
write list = Vasya
writable = yes # розрешить всем пользователям запись
printable = no # можна не писать, по умолчанию no (етож не принтер)
create mask = 0777 # права по умолчанию на созданый файл
directory mask = 0777 # права по умолчанию на папку

/usr/local/etc/rc.d/samba start


testparm # для проверки конфиг файла
smbstatus # какие шары кто юзает
smbstatus -V # увидим версию самбы
..........secrets.tdb #
..........smb.conf #
..........smbpasswd #
..........smbusers #

........../var/log/samba/ # логи
..........nmbd # сервер преобразования имен и адресов
..........smbd # файловый сервер
..........winbindd # сервер импорта пользователей и груп с PDC
..........swat # веб морда к самбе (розкоментируем строчку в /etc/inetd.conf)
..........smbclient # самба клиет для проверки шар(-L localhost)

здесь можно посмотреть с какими опциями скампилирована samba
ee /var/db/ports/sambaXX/options

или вместо sambaXX ставим имя любого установленого порта
или в папке с портом make config

здесь можно увидеть баги по самбе
https://bugzilla.samba.org/




CentOS

  • global  - раздел с общими настройками для Samba сервера
  • workgroup - рабочая группа Windows, WORKGROUP - значение по умолчанию для всех Windows машин, если вы не меняли самостоятельно
  • security - режим безопасности, значение user означает аутентификацию по логину и паролю
  • map to guest - задает способ обработки запросов, bad user - запросы с неправильным паролем будут отклонены, если такое имя пользователя существует
  • wins support - включить или выключить поддержку WINS
  • dns proxy - возможность запросов к DNS
  • public - название общего каталога, которое будут видеть пользователи сети, может быть произвольным и не совпадать с именем директории
  • path - полный путь до общего каталога
  • browsable - отображение каталога в сетевом окружении
  • writable - использование каталога на запись, инверсия read only
  • guest ok - авторизация без пароля
  • force user - пользователь по умолчанию
  • valid users - список пользователей, у которых есть доступ к каталогу, через @ указывается unix-группа пользователей
Проверить настройки в smb.conf можно с помощью команды:
testparm -s