понедельник, 29 августа 2011 г.

FreeBSD: Тестирование Wi-Fi антенны TP-LINK TL-ANT2405CL


Вывод: Антенна Wi-Fi TP-LINK TL-ANT2405CL усиливает сигнал на больших расстояниях и ухудшает на малых.

Плюсы:
- эффектно выглядит
- усиляет сигнал на дальних расстояниях
- стоит 122 рубля

Минусы:
- ухудщает сигнал на малых расстояниях

Измерения проводились при помощи программы inSSIDer 2
http://www.metageek.net/products/inssider/
на нетбуке Asus Eee PC 101PXD



________________________________(меньше лучше)
_______________________D-Link (старая)_|__TP-LINK
30 см над сервером__________32_________|____40-41
две стены 6 м_____________67-78________|____61-73
3 стены балкон 12 м_________78_________|______71



пятница, 7 января 2011 г.

FreeBSD: Ограничение и подсчет интернет трафика наточкидоступа Wi-Fi!

ПК в минимальной конфграции, три сетевые карты 1 Wi-Fi, 2 Ethernet (пока все не задейстованы). Celron 2 Ядра 1,6 Mhz, 1 Gb памяти, 1,5 Tb Hdd

Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us



Устанавливаем FreeBSD 8.1
отмечаем что будем работать в качестве шлюза gateaway_enable
остальное более мене стандартно
следует выделить разделы на диски


Установим коллекцию портов с диска
вставим диск

#sysinstall
в меню выбираем
Configure>Distributions>CD/DVD (должен сразу появится выбор)
[X] Ports
[X] Src
- [X] sys (это для пересборки ядра)

Обновим коллекцию портов
#portsnap fetch extract
#portsnap fetch update

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


Скачиваемые патчи для FreeBSD среди них всегда есть важные касающиеся безопасности
#freebsd-update fetch
#freebsd-update install
Installing updates... done.
Чтобы они вступили в действие надо перезагрузится


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

идем в папку
#cd /usr/src/sys/i386/conf
#cp GENERIC ipfw
#vi ipfw

Меняем строку
ident GENERIC
на
ident ipfw
и тут же отмечаем опции каике надо, если их нет пишем сами:

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=50
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
options IPFIREWALL_DEFAULT_TO_ACCEPT

#config ipfw
Kernel build directory is ../compile/ipfw
Don't forget to do ``make cleandepend; make depend''
#cd /usr/src/sys/i386/compile/ipfw
#make cleandepend && make && make install

Далее идет сборка и установка ядра это происходит ОЧЕНЬ медленно!

перезагружаемся
Посмотреть какое сейчас ядро можно коммандой

# sysctl kern.version
kern.version: FreeBSD 8.1-RELEASE-p1 #0: Mon Nov 8 12:17:01 MSK 2010
root@Server75.my:/usr/src/sys/i386/compile/ipfw

Определяем какие у нас интерфейсы есть
#ifconfig
видим
re0 10.10.30.75 (задали при установке)
ath0 он же будет называться wlan0

Запускаем шлюз IPFW

Добавляем в /etc/rc.conf строки
firewall_enable="YES"
firewall_type="/etc/rc.firewall"
firewall_logging="YES"

Редактируем файл /etc/rc.firewall

#!/bin/sh

FwCMD="/sbin/ipfw"
lanout="re0"
lanin="wlan0"
ipout="10.10.30.75"
ipin="192.168.0.1"
netin="192.168.0.0/24"

# Sbrasyvaem vse pravila:
${FwCMD} -f flush

# Proverjaem - sootvetstvuet li paket dinamicheskim pravilam:



${FwCMD} add allow ip from any to 127.0.0.1
${FwCMD} add allow ip from 127.0.0.1 to any
#${FwCMD} add fwd 127.0.0.1,3128 tcp from ${netin} to any 80 via ${lanout}
${FwCMD} add allow all from any to any via lo0
${FwCMD} add check-state

# ROUTING

#${FwCMD} add divert 199 ip from any to any out xmit ${lanin}
#${FwCMD} add divert 199 ip from any to any in recv ${lanin}



#${FwCMD} add divert 199 ip from any to any out xmit ${lanout}
${FwCMD} add divert natd ip from any to any out via ${lanout}
${FwCMD} add divert natd ip from any to me in via ${lanout}
#${FwCMD} add divert 199 ip from any to any in recv ${lanout}
${FwCMD} add allow tcp from any to any established
${FwCMD} add allow ip from ${ipout} to any out xmit ${lanout}


${FwCMD} add allow udp from any 53 to any via ${lanout}
${FwCMD} add allow udp from any to any 53 via ${lanout}
#${FwCMD} add allow ip from any to ${netin} in via ${lanin}
#${FwCMD} add allow ip from ${netin} to any out via ${lanin}


#Pockerstar client
${FwCMD} add allow tcp from any to any 26002 via ${lanin}



#HTTP



${FwCMD} add allow tcp from any to ${ipout} 80 in via ${lanout} setup
${FwCMD} add allow tcp from any to ${ipin} 80 in via ${lanin} setup

# PING
${FwCMD} add allow icmp from any to any out via ${lanout} keep-state
${FwCMD} add allow icmp from any to any in via ${lanout}

# RAZRESHENO
#local ping tcp udp
${FwCMD} add allow tcp from any to any 110 via ${lanin}
${FwCMD} add allow tcp from any to any 25 via ${lanin}
${FwCMD} add allow tcp from any to any 389 via ${lanin}
${FwCMD} add allow tcp from any to any 80 via ${lanin}
${FwCMD} add allow tcp from any to any 443 via ${lanin}
${FwCMD} add allow icmp from any to any via ${lanin}

#SAMBA
${FwCMD} add allow tcp from any to any 135,137,138,139,445 via ${lanin}
${FwCMD} add allow udp from any to any 135,137,138,139,445 via ${lanin}
#DHCP
${FwCMD} add allow udp from any to any 67,68 via ${lanin}
#DNS
${FwCMD} add allow udp from any to any via ${lanin}

# SSH
${FwCMD} add allow tcp from 10.10.30.74 to ${ipout} 22 via ${lanout} keep-state


${FwCMD} add deny all from any to any

Некоторые строк закоменнтированы они нам потребуются дальше
Вход по ssh разрешен только с ip 10.10.03.74


natd - Network Address Translation daemon

После чего добавляем следующие строки в /etc/rc.conf:

natd_enable="YES"
natd_interface="re0"
natd_flags="-m -u"

Настраиваем Wi Fi

Создаем интерфейс коммандой
#ifconfig wlan0 create wlandev rt28600

(если у вас Atheros IEEE 802.11 то вместо rt28600 надо писать ath0 как его sysinstall определил)

добавляем в rc.conf строку даем беспроводному интерфейсу IP
wlans_ath0="wlan0"
ifconfig_wlan0="inet 192.168.0.1/24"
create_args_wlan0="wlanmode hostap country RU"
hostapd_enable="YES"

Создаем файл /etc/hostapd.conf

interface=wlan0
hw_mode=g
macaddr_acl=0
auth_algs=1
ssid=Free
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP

wpa_passphrase должен быть не менее 8 знаков

пере загружаемся но входить пока рано, хотя точка уже должна находится

DNS прокси

нужно установить dns сервер totd в принципе можно его и не устанавливать а раздавать по dhcp сразу dns провайдера но можно и установить

#whereis totd
~ totd: /usr/ports/dns/totd
#cd /usr/ports/dns/totd
#make&make install

файл /usr/local/etc/totd.conf выглядит так, указываем интернет шлюз тот же что и в настройках ос
forwarder 10.10.30.4
interfaces re0

в rc.conf добавить totd_enable="YES"

DHCP сервер

Настраиваем DHCP раздачу IP адресов и всего автоматом

Заходим в коллекцию портом
cd /usr/ports/net
то что нам нужно будет isc-dhcp31-server
cd isc-dhcp31-server
make install

В /etc/rc.conf добавляем

dhcpd_enable="YES"
dhcpd_flags="-q"
dhcpd_ifaces="wlan0"
dhcpd_conf="/usr/local/etc/dhcpd.conf"

Создаем файл /usr/local/etc/dhcpd.conf в нем пишем

option domain-name "DHCP_TEST303";
ddns-update-style none;
#deny client-updates;
option domain-name-servers 10.10.30.75;
option subnet-mask 255.255.255.0;
#authoritative;
#max-lease-time 72000;

subnet 192.168.0.0 netmask 255.255.255.0
{
interface wlan0;
range 192.168.0.100 192.168.0.115;
option routers 192.168.0.1;
option domain-name-servers 10.10.30.75;
}


остановить dhcp можно командой
/usr/local/etc/rc.d/isc-dhcpd stop


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
На данном этапе после перезагрузки ваш сервер должен пускать в интернет по wi Fi на веб сайты сто пудово, если не пускает исчите причины — часто это опечатки или не правильные указания интерфейсов и айпи



Ставим Mysql

Причем версии 5.0 в дальнейшем это пригодится потому что netams стабильно работает только с этой версией

#cd /usr/ports/databases/mysql50-server/
#make install clean
#/usr/local/bin/mysql_install_db
#chown -R mysql /var/db/mysql/
#chgrp -R mysql /var/db/mysql/
#/usr/local/bin/mysqld_safe &
#/usr/local/bin/mysqladmin -u root password svoi_parol


Добавляем в rc.conf
mysql_enable="YES"


редактируем my.cnf

[mysqld]
max_connections=250
table_cache=750
query_cache_size=16M
thread_cache_size=180
query_cache_limit=1M
query_cache_size=48M
query_cache_type=1
tmp_table_size=128M
max_user_connections=15
net_retry_count=10
open_files_limit=10000


перезагрузка

#mysql -u root -p
enter password
#GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
#exit;

Устанавливаем apache

cd /usr/ports/www/apache22
make install clean

выбрать
[X] mysql

вставляем в rc.conf
apache22_enable="YES"

Редактируем
/usr/local/etc/apache22/httpd.conf






В добавляем



добавить
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

и изменить AllowOverride на All это чтобы обрабатывались в каждой папке .htaccess

находим "DirectoryIndex"
добавляем index.php index.html первым и на всякий случай index.htm


добавить в /boot/loader.conf:
accf_http_load=”YES”

редактируем /usr/local/etc/apache22/extra/http-default.conf

Timeout 30
MaxKeepAliveRequest 500
KeepAliveTimaeout 30
ServerTokens Prod
ServerSignature Off


набираем в консоли

/usr/local/etc/rc.d/apache22 start
Apache Installed!


Устанавливаем PHP 5

cd /usr/ports/lang/php5/
make install clean
выбрать Build Apache module

cd /usr/ports/lang/php5-extensions
make config
должны быть выбраны пункты MySQL , SOAP, OpenSSL (на всякий) и GD Library
make install clean

(если будет ругаться на python 2.5 установить его отдельно из портов)

Редактируем /usr/local/etc/apache22/httpd.conf

должно стоять
LoadModule php5_module libexec/apache22/libphp5.so


в папке /usr/local/etc/ лежать готовы варианты настроек копируем одну из них в
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini


Редактируем php.ini
Стоит увеличить размер памяти в некоторых настройках он мал
memory_limit = 8M

Общая рекомендация держать выключенным globals
register_globals = On

Создаем тестовый файл
cd /usr/local/www/apache22/data/
vi phpinfo.php

вставляем
print_r (phpinfo());
?>

reboot

заходим через браузер на http://айпи_сервера/phpinfo.php
и нам показывают версию PHP с установленными модулями

Устанавливаем phpMyAdmin

находим где у нас phpmyadmin
#whereis phpmyadmin
phpmyadmin: /usr/ports/databases/phpmyadmin
#cd /usr/ports/databases/phpmyadmin
#make install

Установщик сообщает что кинул файлы в /usr/local/www/phpMyAdmin



Добавляем в httpd.conf

Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"


Options none
AllowOverride Limit

Order Deny,Allow
Deny from all
Allow from all
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


Перегружаем Apache
#/usr/local/etc/rc.d/apache22 restart

заходим через браузер на http://айпи_сервера/phpmyadmin/
все работает

Устанавливаем Netams

#cd /usr/ports/net-mgmt/netams/
#make install



#cd /usr/local/etc/netams/
# vi netams.conf
Создаем файл netams.conf для NeTAMS 3.4.5 приводим его к виду
указываем рут пароль от mysql что нетамс смог создать себе базу

#NeTAMS 3.4.5 (3490.1) root@mobil.tts / Mon 27 Sep 2010 10:09:14 +0400
#configuration built Mon Sep 27 10:11:32 2010
#begin
#global variables configuration
debug none
language ru
user name admin real-name Admin password aaa email root@localhost permit all

#services configuration

service server 0
login local
listen 20001
max-conn 6

service processor
lookup-delay 60
flow-lifetime 180
policy name ip target proto ip
policy name www target proto tcp port 80 81 8080 3128 443
policy name ftp target proto tcp port 20 21
policy name pop3 target proto tcp port 110
policy name smtp target proto tcp port 25
policy name ipsec target proto esp
policy name rdp target proto tcp port 3389 5589 3390 5590 5593 37777
policy name ssh target proto tcp port 22
policy name sambatcp target proto tcp port 135 137 138 139 445
policy name sambaudp target proto udp port 135 137 138 139 445
policy name udp target proto udp
policy name tcp target proto tcp
restrict all drop local pass
unit group name WIFI acct-policy ip www ftp pop3 smtp rdp ssh ipsec sambatcp sambaudp udp tcp
unit group name SERVER acct-policy ipsec ip www ftp pop3 smtp rdp ssh ipsec sambatcp sambaudp udp tcp
unit host oid 0F37B4 name WLAN0 ip 192.168.0.1 acct-policy ip www ftp pop3 smtp rdp ssh ipsec sambatcp sambaudp udp tcp
unit host oid 03186C name RE0 ip 10.10.30.75 acct-policy ip www ftp pop3 smtp rdp ssh ipsec sambatcp sambaudp udp tcp
unit user oid 0D6EBD name WIFI000 ip 192.168.0.100 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 0536F4 name WIFI001 ip 192.168.0.101 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 072376 name WIFI002 ip 192.168.0.102 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 07405B name WIFI003 ip 192.168.0.103 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 037797 name WIFI004 ip 192.168.0.104 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 095C10 name WIFI005 ip 192.168.0.105 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 0A157C name WIFI006 ip 192.168.0.106 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 01AAEB name WIFI007 ip 192.168.0.107 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 03304A name WIFI008 ip 192.168.0.108 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 0C4C79 name WIFI009 ip 192.168.0.109 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 0B8C3C name WIFI010 ip 192.168.0.110 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 0A3398 name WIFI011 ip 192.168.0.111 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 04CB38 name WIFI012 ip 192.168.0.112 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 0DFD5B name WIFI013 ip 192.168.0.113 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 00715D name WIFI014 ip 192.168.0.114 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp
unit user oid 08F86B name WIFI015 ip 192.168.0.115 parent WIFI acct-policy ip www ftp pop3 smtp rdp ssh sambatcp sambaudp udp tcp


service storage 0
type mysql
user root
password mysql_pass
accept all

service data-source 1
type ip-traffic
source divert 199
layer7-detect urls

service quota
policy ip
notify soft owner
notify hard owner
notify return owner

service monitor 0
monitor to file /usr/netams/mon_netams.log
monitor unit WLAN0
monitor unit RE0

service alerter 0
report rep1 type traffic period day detail simple
smtp-server localhost

service html
path /usr/local/www/netams/stat
run 10min
url http://10.10.30.75/netams/
htaccess yes
client-pages all
account-pages none
language ru

service scheduler
oid 08FFFF time 10min action "html"


#end

Создаем папку для логов нетамс я делаю нестандартное место чтобы не переполнять папку var
#cd /usr
#mkdir netams

Добавляем /etc/rc.conf строку
netams_enable="YES"

Запускаем netmas
#/usr/local/etc/rc.d/netams start
Смотрим есть
#sockstat -4l
root netams 1541 4 tcp4 127.0.0.1:20001 *:*
root netams 1541 7 div4 *:199 *:*

Заходим в нетамс телнетом
имя и пароль у нас указаны в netams.conf в строке
user name admin real-name Admin password aaa email root@localhost permit all
имя: admin
пасс: aaa
#telnet 127.0.0.1 20001

Надо выполнить комманды
#html
#save
#show version
#show config
#exit

Заходим в Mysql помострим создалась ли база
#mysql -u root -p
#show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| netams |
| test |
+--------------------+
4 rows in set (0.00 sec)

Создаем пользвателя для базы netams чтобы лишний раз не светит рут пароль от Mysql
#mysql -u root -p
#grant all privileges on netams.* to 'netams'@'localhost' identified by 'pass127';
#exit;

В /usr/ports/net-mgmt/netams/netams.conf редактируем
перед этим надо остановить netams

#/usr/local/etc/rc.d/netams stop

меняем в netams.conf

service storage 0
type mysql
user netams
password pass127

Запускаем netams

#/usr/local/etc/rc.d/netams start

Еще раз реконфигурируем netams


#telnet 127.0.0.1 20001

Надо выполнить комманды
#html
#save
#show version
#show config (тут смотрим чтобы были именно наши новые изменения)
#exit

в ipfw разкомментируемстроки которые будут заворачивать тарфик на нетамс

Считаем на внутренном интерфейсе
${FwCMD} add divert 199 ip from any to any out xmit ${lanin}
${FwCMD} add divert 199 ip from any to any in recv ${lanin}


Считаем на внешнем интерфейсе, правила нетамс должны обрамлять натд так вес говорят
${FwCMD} add divert 199 ip from any to any out xmit ${lanout}
${FwCMD} add divert natd ip from any to any out via ${lanout}
${FwCMD} add divert natd ip from any to me in via ${lanout}
${FwCMD} add divert 199 ip from any to any in recv ${lanout}


Нетамс добавляет в конфиг апаче файл netams-apache-freebsd.conf править ничего не надо

надо дать права на скрипты нетамся
#chmod -R +x /usr/local/www/netams/cgi-bin

И отредактировать файл добавить пароль к доступу к mysql и имя netams
#vi /usr/local/www/netams/cgi-bin/config.cgi




заходим через браузер на http://айпи_сервера/netams/
все работает

Создаем трафик на интерфейсах смотрим считается ли он!
Можно проверить правильно ли заварачивается все на netams команда
#ipfw show

В Netams включена опция авторизация через .htacess но она не работает видимо не учли особенностей Apache 22, надо самим запаролить вход

В начале создаем папку с файлом пароля

#mkdir /usr/local/etc/htpswd/
#cd /usr/local/etc/htpswd
#htpasswd -c name.file name.user
New password: ******
Re-Type new password: ******

#chmod 644 name.file

в конфиг апача22 в описание папки Netams добавляем строки в описание
#vi /usr/local/etc/apache22/Includes/netams-apache-freebsd.conf

AuthType Basic
AuthName "***"
AuthUserFile /usr/local/etc/htpswd/name.file
Require user name.user

Можно не указывать конкретного юзера написав
Require valid-user


Устанавливаем SQUID

#cd /usr/ports/www/squid
#make config

Выбираем
[X] SQUID_DELAY_POOLS Enable delay pools
[X] SQUID_CARP Enable CARP support
[X] SQUID_WCCP Enable Web Cache Coordination Prot. V1 |
[X] SQUID_IDENT Enable ident (RFC 931) lookups
[X] SQUID_KQUEUE Use kqueue(2) instead of poll(2)
[X] SQUID_LARGEFILE Support log and cache files >2GB

и устанавливаем
#make install clean

Редактируем конфиг squid
vi /usr/local/etc/squid/squid.conf

находим строчки описывающие следующее и меняем должно быть так, просто в любом месте поставить эти строчки нельзя, некоторые из них неактивны закрыты # надо открыть
http_port 127.0.0.1:3128 transparent


меняем в конфиге все директории где сквид хранит данные, по умолчанию это var/squid и она быстро заполняется меняем на
/usr/local/squid

создаем директории
#mkdir /usr/local/squid/
#mkdir /usr/local/squid/logs
#mkdir /usr/local/squid/cache
#chown squid:squid /usr/local/squid/
#chown squid:squid /usr/local/squid/logs
#chown squid:squid /usr/local/squid/cache
#chmod -R 777 /usr/local/squid/

записываем в squid.conf провайдера (можно и не записывать лучше не записывать)
dns_nameservers 123.1234.124.124 124.412.45.46

в конфиге меняем размера кеша до 10 гб
cache_dir ufs /usr/local/squid/cache 10000 16 256

В этой строке надо описать сеть которая будет пропускаться через squid
acl localnet src 192.168.0.0/24

Далее добавляем в /etc/rc.conf строку для автоматического запуска squid после перезагрузки
squid_enable="YES"

Запускаем сам squid
#/usr/local/etc/rc.d/squid start

Создадим (SWAP) для прокси сервера Squid
#/usr/local/sbin/squid -z

перезагружаемся

В /etc/rc.firewall раскурваем строку, весь трафик с 80 порта отправляется на сквид
${FwCMD} add fwd 127.0.0.1,3128 tcp from ${netin} to any 80 via ${lanout}

Перезагружаем ipfw
/etc/rc.d/ipfw restart
Устанавливаем SAMS

#cd /usr/ports/www/sams
#make config
#make install
выбираем все по умолчанию

Добавляем в /etc/rc.conf
sams_enable="YES"

Добавляем в /usr/local/etc/apache22/httpd.conf

Alias /sams/ "/usr/local/share/sams/"

AllowOverride AuthConfig
Options Indexes MultiViews
Order allow,deny
Allow from all
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


Перезагружаем апач


Редактируем файл настроек, особенно надо проверить все пути
cp /usr/local/etc/sams.conf.sample /usr/local/etc/sams.conf

[client]
SQUID_DB=squidlog
SAMS_DB=squidctrl
MYSQLHOSTNAME=localhost
MYSQLUSER=sams
MYSQLPASSWORD=sams4512
MYSQLVERSION=5.0
SQUIDCACHEFILE=access.log
SQUIDROOTDIR=/usr/local/etc/squid
SQUIDLOGDIR=/var/squid/logs
SQUIDCACHEDIR=/usr/local/squid
SAMSPATH=/usr/local
SQUIDPATH=/usr/local/sbin
#SQUIDGUARDLOGPATH=/var/log
#SQUIDGUARDDBPATH=/var/db/squidGuard
RECODECOMMAND=iconv -f KOI8-R -t 866 %finp > %fout
#LDAPSERVER=servername_or_ipadress
#LDAPBASEDN=your.domain
#LDAPUSER=DomainAdministrator
#LDAPUSERPASSWD=passwd
#LDAPUSERSGROUP=Users
REJIKPATH=/usr/local/rejik
SHUTDOWNCOMMAND=/sbin/shutdown -h now
CACHENUM=0
Заходит на старницу SAMS
http://10.10.30.75/sams/

согглашаемся на создание базы
тут надо будет указать root пароль от Mysql и пароль для пользователя sams который мы в конфиге уже прописали (sams4512)

База создана САМС запустил веб интерфейс
чтобы зайти надо ввести admin qwerty

Но прежде надо исправить два файла в /usr/local/share/sams/src чтобы php работал правильно
configtray.php
webconfigtray.php

надо найти
function GetHostName()
$hostname=GetHostName();

и заменить на
function GetSamsHostName()
$hostname=GetSamsHostName();


Если вебморад SAMS ругается вот так в настрйоках пользователя:

Warning: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/3.0/no DST' instead in /usr/local/share/sams/src/usertray.php on line 336

То надо в php.ini задать

date.timezone = Europe/Moscow


Исправление некоторых файлов Sams по FreeBSD, для того что бы отображалась загруженность сервера
Да и вот дописал что бы показывало в интерфейсе freemem и freeswap (Это не обязательно!)
Так как Sams в большем случае написан под Linux и некоторые запросы немного не для FreeBSD


Меняем запрос free на top
vi /usr/local/share/sams/bin/freemem
Правим до такого состояния
STR=`top | grep Mem:`
echo $STR

Меняем запрос free на top
vi /usr/local/share/sams/bin/freeswap
Правим до такого состояния
STR=`top | grep Swap:`
echo $STR

vi /usr/local/share/sams/src/configtray.php
.......пропущено.......
  $a=explode(" ",$value);
  for($i=1;$i<4;$i++)
     {
           $mem[$i-1]=$a[$i];
     }
// Добавляем вот это
// Подменяем ячейки для mem
     $mem[0]=$a[1]; //total mem
     $mem[1]=$a[3]; //Used mem
     $mem[2]=$a[11];//Free mem
  $a=explode(" ",$swapvalue);
  for($i=1;$i<4;$i++)
     {
           $swap[$i-1]=$a[$i];
     }
// Добавляем вот это
// Подменяем ячейки для swap
     $swap[0]=$a[1]; //total swap
     $swap[1]=$a[3]; //used swap
     $swap[2]=$a[5]; //free swap
.......пропущено.......


Свободный swap вес равно правильно показывать не будет пока не появится used


Находим в squid.conf строку с TAG: url_rewrite_program
и меняем # none на

url_rewrite_program /usr/local/bin/samsredir
перегружаемся
Переходим в веб интерфейс самса
выбираем в Администрирование SAMS
Способ аутентификации пользователя: IP
Обрабатывать логи SQUID галочка
your.ip.address меняем на ваш айпи
Редиректор Встроенный в самс

В Пользователи забиваем IP которые раздает dhcp и не забываем там отмечает что Пользователь активен:
В Запрет доступа по URL создаем раздел test в него добавлем mail.ru
Во Шаблоны пользователей default
Отмечаем test
Везде жмем ОК
В squid жемем реконфегурировать squid

Предлагаю свои собранные адреса для запретов, они в файле конфигурации SAMS
выбираем Сохранение конфигурации а там Восстановление конфигурации и при выборе отмечаем только Список перенаправления запроса
и запрета доступа все ваши списки при эом пропаду и незабудьте в шаблонах отметить нужное! Порнография идетдвумя списками для ускорения добавления в новый порно сипски потом что первый список очень большой!
http://www.ifolder.ru/21191160
Free Image Hosting at www.ImageShack.us

Ротация логов squid
В squid.conf разкоменчиваем logfile_rotate 10 и запускаем
# squid -k rotate
в соттветсвующйе папке были созданы логи с 0 на конце засуним эту команду в крон с удалением файлов
# corntab -e
30 5 20 * * squid -k rotate
30 6 20 * * rm /usr/local/squid/logs/access.log.0
30 6 20 * * rm /usr/local/squid/logs/store.log.0
30 6 20 * * rm /usr/local/squid/logs/cache.log.0

FreeBSD: Sams на PHP 5.3?

Если вебморад SAMS ругается вот так в настрйоках пользователя:

Warning: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/3.0/no DST' instead in /usr/local/share/sams/src/usertray.php on line 336

То надо в php.ini задать

date.timezone = Europe/Moscow

Если вебморда SAMS не пускат на страницу Администрирования SAMS то надо:

в файлах:
/usr/local/share/sams/src/configtray.php
/usr/local/share/sams/src/webconfigtray.php

заменить GetHostName на GetHostNameSams

четверг, 6 января 2011 г.

FreeBSD: Восстановление root пароля для MySQL?

C начала надо остановить MySQL адрес может быть иным
# /usr/local/etc/rc.d/mysql-server stop

запускаем
# mysqld_safe --skip-grant-tables &
# mysql -u root

В консоли Mysql выполняем
mysql> use mysql;
mysql> update user set password=PASSWORD("НОВЫЙ_ПАРОЛЬ") where User='root';
mysql> flush privileges;
mysql> quit

Перезапускаем MySQL

среда, 8 декабря 2010 г.

четверг, 11 ноября 2010 г.

FreeBSD: Как убрать строки за # решеткой из файла!

Нужно выполнить команду
cat /usr/local/etc/squid/squid.conf | egrep -v "(^#)" | uniq > clsquid.conf


/usr/local/etc/squid/squid.conf - адресс файла который хотим почистить
clsquid.conf - имя нового файла

среда, 13 октября 2010 г.

FreeBSD: Aapche22 папка под паролем?

В какой-ир момент все изменилось и теперь это делается без .htaccsess

В начале создаем папку с файлом пароля

mkdir /usr/local/etc/htpswd/
cd /usr/local/etc/htpswd
htpasswd -c name.file name.user
New password: ******
Re-Type new password: ******

chmod 644 name.file

в конфиг апача22 в описание папки папки добавляем строки

AuthType Basic
AuthName "***"
AuthUserFile /usr/local/etc/htpswd/name.file
Require user name.user

Можно не указывать конкретного юзера написав
Require valid-user

Итого все вместе выглядит так


Options Indexes FollowSymLinks MultiViews
Order allow,deny
AuthType Basic
AuthName "***"
AuthUserFile /usr/local/etc/htpswd/name.file
Require user name.user
allow from all
DefaultLanguage ru
AddDefaultCharset WINDOWS-1251



Alias /netams /usr/local/www/netams

понедельник, 26 июля 2010 г.

FreeBSD: Как заблокировать ICQ?

Для этого надо иметь установленный pf

В pf.conf добавляем спсико IP ICQ серверов, их можно вычеслить в Windows коммандой netstat после подключения к ICQ

ext_if это внешний интерфейс сети

icq_servers="{ 95.100.114.70, 195.10.39.9, 195.10.39.90, 195.10.39.99, 64.12.202
.0/24, 64.12.202.12, 64.12.202.33, 205.188.7.72, 205.188.57.200, 195.10.39.106,
195.10.39.83, 77.234.201.89, 64.12.96.129, 205.188.251.0/24, 205.188.251.14, 205
.188.251.19, 64.12.202.0/24, 81.19.64.0/24, 81.19.65.0/24, 81.19.66.52, 81.19.69
.0/24, 81.19.70.2, 64.12.174.0/24, 152.163.208.0/24, 205.188.165.0/24, 64.236.4
7.0/24, 64.236.46.0/24, 205.188.1.0/24, 205.188.9.0/24, 205.188.153.0/24, 205.18
8.251.0/24, 64.12.31.0/24, 64.12.25.0/24, 64.12.161.0/24, 64.12.162.0/24, 64.12.
163.0/24, 64.12.164.247, 201.27.217.113, 200.117.138.206 }"

block out quick on $ext_if from any to $icq_servers

Чтобы кто то все таки смог входить в ICQ добавляем

pass out quick on $int_if from $icq_users to $icq_servers

понедельник, 12 июля 2010 г.

FreeBSD: Применение исправлений FreeBSD!

Читаем замечательный сайт узнаем что найдена уязвимость в системе:
http://www.opennet.ru/opennews/art.shtml?num=27287

В этой новости дается ссылка на пач который ну совершенно не понятно что надо сделать чтобы пропатчить систему. А сделать надо следующее, в консоле с правами рут набираем:

freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching public key from update2.FreeBSD.org... done.
Fetching metadata signature for 8.0-RELEASE from update2.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 39 patches.....10....20....30.... done.
Applying patches... done.

The following files will be updated as part of updating to 8.0-RELEASE-p4:
/etc/mtree/BSD.var.dist
/lib/libzpool.so.2
/libexec/ld-elf.so.1
/usr/bin/dig
/usr/bin/host
/usr/bin/nslookup
/usr/bin/nsupdate
/usr/lib/libopie.a
/usr/lib/libopie.so.6
/usr/lib/libssl.a
/usr/lib/libssl.so.6
/usr/lib/libzpool.a
/usr/sbin/dnssec-dsfromkey
/usr/sbin/dnssec-keyfromlabel
/usr/sbin/dnssec-keygen
/usr/sbin/dnssec-signzone
/usr/sbin/freebsd-update
/usr/sbin/jail
/usr/sbin/lwresd
/usr/sbin/named
/usr/sbin/named-checkconf
/usr/sbin/named-checkzone
/usr/sbin/named-compilezone
/usr/sbin/ntpd
/usr/sbin/rndc-confgen
/usr/share/man/man2/mount.2.gz
/usr/share/man/man2/nmount.2.gz
/usr/share/man/man2/unmount.2.gz
/usr/src/sys/cddl/compat/opensolaris/sys/vnode.h
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
/usr/src/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h
/usr/src/sys/conf/newvers.sh
/usr/src/sys/kern/uipc_mbuf.c
/usr/src/sys/kern/vfs_lookup.c
/usr/src/sys/netinet/ip_mroute.c
/usr/src/sys/netinet/raw_ip.c
/usr/src/sys/netinet/sctp_input.c
/usr/src/sys/netinet6/raw_ip6.c
/usr/src/sys/nfsclient/nfs_vfsops.c
/usr/src/sys/rpc/clnt_vc.c
/var/db/freebsd-update
/var/db/mergemaster.mtree
Server# freebsd-update install
Installing updates... done.


в этом списке замечаем /usr/src/sys/kern/uipc_mbuf.c как раз о нем шла речь в новостях
далее набираем

freebsd-update install

Installing updates... done.


Всё патчи установлены

суббота, 3 июля 2010 г.

FreeBSD: Mysql основные комманды

Войти в Mysql

mysql -u root -p
(пароль mysql администратора)

Создать базу
CREATE DATABASE name;

Заход через phpmyadmin
Имя: root
Пароль: (пароль mysql администратора)

Добавление пользователя

adduser mysqldb
new_name_user_pass

Сделать его пользователем MySQL

mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO mysqldb@localhost
IDENTIFIED BY 'new_name_user_pass_mysql' WITH GRANT OPTION;



CREATE, SELECT, INSERT, DELETE и UPDATE, DROP

_______________________

1. Как сделать дамб (копию) базы MySQL?
Для этого надо зайти на сайт по Shell, вы окажется в ОС FreeBSD или в каком нибуть Linux. Пишите следующею строчку:

mysqldump -uЛОГИН_К_БАЗЕ -pПАРОЛЬ_К _БАЗЕ -hИМЯ_localhost ИМЯ_БАЗЫ > dump.sql

Если база большая и памяти не хватает то

mysqldump --opt -uимя_пользователя -pПАРОЛЬ_К _БАЗЕ -hимя_сервера_БД имя_базы > dump.sql

2. Как восстановить дамб (копию) базы MySQL?
Тоже самое что и в первом вопросе но тольео меняется стрелочка:
mysql -uЛОГИН_К_БАЗЕ -pПАРОЛЬ_К _БАЗЕ -hИМЯ_localhost ИМЯ_БАЗЫ < dump.sql

Примечание: Дамб вы сделали но как перекинуть его на другой хост?
Для этого на новом хосту тоже по Shell запускаете программу wget:

wget http://www.data.ru/test.sql

Файл быстро перекинертся, если конечно .htaccess не запрешен хотлинк.

Примичание 2: У MySQL разные версии и как правило не совместимые, возможно потребуются дополнительные ключи:

--compatible=mysql40 (переход c 5 на 4)

Но на это вопрос в подержке просто обязаны ответить, какими бы вонючками они не были!

3. Как насильно в базе изменить в столбце все значение на заданные в заданной строке?
Например когда надо всем членам форума(phpBB) поставить новое время в свявзи с переводом, автоматический это почемуто не делается. Для этого надо в PHPmyAdmin выполнить следующий SQL запрос:

update phpbb_users set user_timezone='3'

4. Как насильно в базе в столбце найти все "А" и изменить на "Б"?
Для этого надо в PHPmyAdmin выполнить следующий SQL запрос:
UPDATE столбец SET поле = REPLACE(поле, 'то_что_надо_найти', 'то_на_что_надо_заменить');


5. Символ перехода на следующую строку в MySQL, аналог
в HTML?

\n

среда, 23 июня 2010 г.

FreeBSD: Перезагрузка сервера по одному нажатию в Windows!

Задачи
- Предоставить возможность перезагружать сервер пользователям из под Windows по одному нажатию без ввода пароля и комманд
- Ограничить учетку из под которой происходит перезагрузка

1. Устанавливаем lshell

cd /usr/ports/shells/lshell
make
make install

2. Приводим файл /usr/local/etc/lshell.conf к виду (разрешаем только выполнение комманды shutdown)

# lshell.py configuration file
#
# $Id: lshell.conf,v 1.24 2010/04/17 23:14:58 ghantoos Exp $

[global]
##  log directory (default /var/log/lshell/ )
logpath         : /var/log/lshell/
##  set log level to 0, 1, 2 or 3  (0: no logs, 1: least verbose)
loglevel        : 2
##  configure log file name (default is %u i.e. username.log)
logfilename     : %y%m%d-%u

[default]
##  a list of the allowed commands or 'all' to allow all commands in user's PATH
allowed         : ['shutdown']

##  a list of forbidden character or commands
forbidden       : ['su','ls','cd','cd','rm','chmod','[',';', '&', '|','`','>','<', '$(', '${']

##  a list of allowed command to use with sudo(8)
#sudo_commands   : ['reboot']

##  number of warnings when user enters a forbidden value before getting
##  exited from lshell
warning_counter : 3

##  command aliases list (similar to bash\xe2\x80\x99s alias directive)
#aliases         : {'ll':'ls -l', 'vi':'vim'}

##  introduction text to print (when entering lshell)
#intro           : "== My personal intro ==\nWelcome to lshell\nType '?' or 'hel
p' to get the list of allowed commands"

##  a value in seconds for the session timer
#timer           : 5

##  list of path to restrict the user "geographicaly"
#path            : ['/home/bla/','/etc']

##  set the home folder of your user. If not specified the home_path is set to
##  the $HOME environment variable
#home_path       : '/home/bla/'

##  update the environment variable $PATH of the user
#env_path        : ':/usr/local/bin:/usr/sbin'

##  allow or forbid the use of scp (set to 1 or 0)
scp             : 0

## forbid scp upload
scp_upload       : 0

## forbid scp download
scp_download     : 0

##  allow of forbid the use of sftp (set to 1 or 0)
sftp            : 1

##  list of command allowed to execute over ssh (e.g. rsync, rdiff-backup, etc.)
overssh         : ['shutdown']

##  logging strictness. If set to 1, any unknown command is considered as
##  forbidden, and user's warning counter is decreased. If set to 0, command is
##  considered as unknown, and user is only warned (i.e. *** unknown synthax)
#strict          : 1

##  force files sent through scp to a specific directory
#scpforce        : '/home/bla/uploads/'

##  history file maximum size
#history_size     : 100

##  set history file name (default is /home/%u/.lhistory)
#history_file     : "/home/%u/.lshell_history"

3. Создаем пользователя
adduser
Name: rebooter

4. Добавляем его в группу operator

pw usermod rebooter -G operator

5. Меняем шелл пользователя на lshell

chpass rebooter

изменяем строчку на
Shell: /usr/local/bin/lshell


6. В Windows делаем файл rebooter.bat
а в нем строки
@echo off
plink.exe -ssh 10.10.30.75 -l rebooter -pw mypass shutdown -r now
pause

в папку с этим файлом кладем plink.exe
(берем его здесь http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html )

7. При первом запуске plink попросить нажать y чтобы добавить открытый ключ потом просить не будет

суббота, 24 апреля 2010 г.

FreeBSD: Оптимизация MySQL

Имеем VPS
CPU 4×1000
Memory 2G
База форум phpBB3 1.2 Gb + 0.18 Gb нагурзка 30-150 пользователей на форуме по данным за последние 5 минут

Замечено: При изменении настроек my.cnf и перезагрузки MySQL база убивается, видимо это связано с нагрузкой форума. После убиения можно восстановить работу базы если отключить форум через ACP phpBB и прогнать в PhpMyadmin оптимизацию(10 минут) и восстановление(15-20 минут) базы, не включая форума перезагрузить MySQL и после этого включить форум!

Чтобы хоть как-то понять что происходит с MySQL сколько она памяти использует надо прогнать утилитку mysql tuner

fetch http://mysqltuner.com/mysqltuner.pl
perl mysqltuner.pl
далее во FreeBSD надо ввести пароль администратора MySQL

>> MySQLTuner 1.0.1 - Major Hayden
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with '--help' for additional options and output filtering

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.0.77
[OK] Operating on 32-bit architecture with less than 2GB RAM

-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive -BDB -Federated -InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 797M (Tables: 134)
[!!] Total fragmented tables: 18

-------- Performance Metrics -------------------------------------------------
[--] Up for: 12h 42m 34s (1M q [25.057 qps], 114K conn, TX: 4B, RX: 140M)
[--] Reads / Writes: 85% / 15%
[--] Total buffers: 1.4G global + 3.6M per thread (110 max threads)
[!!] Maximum possible memory usage: 1.8G (88% of installed RAM)
[OK] Slow queries: 0% (25/1M)
[OK] Highest usage of available connections: 45% (50/110)
[OK] Key buffer size / total MyISAM indexes: 1.2G/1.0G
[OK] Key buffer hit rate: 99.3% (39M cached / 291K reads)
[OK] Query cache efficiency: 36.5% (262K cached / 718K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (3 temp sorts / 39K sorts)
[!!] Joins performed without indexes: 270
[OK] Temporary tables created on disk: 6% (2K on disk / 44K total)
[OK] Thread cache hit rate: 95% (5K created / 114K connections)
[OK] Table cache hit rate: 94% (512 open / 540 opened)
[OK] Open file limit used: 56% (650/1K)
[OK] Table locks acquired immediately: 99% (629K immediate / 632K locks)

-------- Recommendations -----------------------------------------------------
General recommendations:
Run OPTIMIZE TABLE to defragment tables for better performance
MySQL started within last 24 hours - recommendations may be inaccurate
Reduce your overall MySQL memory footprint for system stability
Enable the slow query log to troubleshoot bad queries
Adjust your join queries to always utilize indexes
Variables to adjust:
join_buffer_size (> 2.0M, or always use indexes with joins)


Обычно утилита дает рекомендации по увеличению чего-то

На что следуют обратить внимание
[--] Total buffers: 1.4G global + 3.6M per thread (110 max threads)
[!!] Maximum possible memory usage: 1.8G (88% of installed RAM)

Показан максимально возможный уровень использования памяти. Вторая часть первой строки вычисляется по формуле (read_buffer + sort_buffer + join_buffer_size) * max_connections

Строка
[OK] Highest usage of available connections: 45% (50/110)

Показывает максимальное количество подключений к базе - зная всё это можно предположить справится ли сервер с пиковой нагрузкой (если будет 110 подключений) - в моём случае не справится потому что в теории будет использует 1.8 G - при этом мало останется для Apache и прочего.

Строка
[OK] Key buffer size / total MyISAM indexes: 1.2G/1.0G

Утилита просит чтобы Key buffer size был выше MyISAM indexes - жаль не понятно как он используется потому что вроде бы никогда до конца не наполняется но при этом память сразу резервируется вся

Строка
[!!] Joins performed without indexes: 270

Вот это совершенно непонятная строка потому что увеличение join_buffer_size не помогает но сильно сжирает память

Конфигурация my.cnf при которой MySQL пока справляется с нагрузкой

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

key_buffer=1274M
table_cache=512
read_buffer=128K
sort_buffer=1M
join_buffer_size=2M
max_connections=110
wait_timeout=10
max_connect_errors=10
query_cache_limit=1M
query_cache_size=128M
query_cache_type=1
tmp_table_size=256M
thread_cache_size=4
connect_timeout=10
interactive_timeout=120
skip-innodb
skip-bdb
old_passwords=1

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

суббота, 13 марта 2010 г.

FreeBSD: Обзор сервера Depo Storm

Каждый системный администратор рано или поздно задается вопросом а почему ПК от Depo перестают включатся по кнопке Power и реагируют только на копку Reset... Ответ прост - не надо было покупать технику у специалистов по наклеиванию наклеек. Ведь что делают такие компании как Depo compюters покупают ПК наклеивают свою наклейку и продают в два раза дороже это рашин ноухау - рашин бизнес!

Живой пример берем сервер SuperMicro SuperServer 5015M-MT / 5015M-MTB так нет же это сервер Depo Storm!!!
Оригинал: http://www.supermicro.com/products/system/1U/5015/SYS-5015M-MT.cfm

За титанический труд по наклейке наклеек Depo просит где-то в полтора раза больше чем Supermicro и я бы не жалел потраченных денег но посмотрите на эту наклейку ОНА УЖЕ ОТВАЛИВАЕТСЯ!!!!!!!!! Попутно оцение жесткий диск - ничем иным как желанием содрать с клиента дополнительное бабало выбор этой модель оправдать нельзя... им мало оказывается своих наценок!



Но тем не менее у подающего большие надежды китайского производителя SuperMicro получился не плохой сервер - не плохой для своей настоящей цены конечно же!


Внутри все продуманно


И тут Depo проделала поразительную доводку до ума китайской техники - наклейка на каждом кулере - теперь за них можно быть спокойным!


С комплектацией у Depo конечно не очень... КОНЕЧНО с такой наценкой на голую платформу, предлагать достойные комплектующие просто не хватает уже диапазона цены!

FreeBSD: Обзор корпуса Zalman GS1000

Более качественные фотки и красивые схемки есть на сайте производителя
http://www.zalman.co.kr/ENG/product/Product_Read.asp?idx=310

Теперь из опыта личного общения!

Корпус Zalman GS1000 большой и тяжелый, боковые поверхности матовые шороховатые, а вот верх лицо и низ - убийственно глянцевые. За 200 уе вы получаете не просто корпус но и опцию "Собери отпечатки всех своих друзей" при этом в комплекте отсутствует набор дактилоскопический - специальная кисточка, пудра и пленки ОЧЕНЬ ЖАЛЬ! В комплекте идут ножки, их можно ставить можно не ставить - но если не ставить то никаких других ножек поменьше нет, а если будете ставить нижние вентиляторы то тогда конечно надо ставить обязательно.


С левой стороны корпуса оставленно место под кабели. Так как размеры корпуса большие многие кабели не дотянутся у меня не дотянулся кабель питания 8 пин, но в комплекте к корпусу был удлинитель CPU 12V Extend Cable!


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


На лицевой стороне проклятый глянец во всей красе


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



В основных стойках тоже не съемные болты, имеются два посадочных места под 3.5 устройства


Внутри получается очень просторно и все кабели спрятаны

четверг, 4 марта 2010 г.

FreeBSD: Как перезагрузить FreeBSD в определенное время?

Для этого надо в crontab добавить запись... но не простую (reboot) а особую!

Для начала узнаем какое время на сервере сейчас
\date
четверг, 4 марта 2010 г. 14:50:34 (MSK)

Заходим в crontab
\crontab -e

добавляем запись делается это командами редактора vi
Подробнее о vi: FreeBSD: Как писать удалять в доисторическом текстовом редакторе vi?

13 7 * * * /sbin/shutdown -r now

в 13 минут в 7 часов каждый день месяца каждого месяца каждого дня недели сервер будет перезагружаться!


Подробнее о crontab: FreeBSD: Crontab запуск заданий по расписанию?

среда, 17 февраля 2010 г.

FreeBSD: Общая адресная книга на openLdap

Заранее оговорюсь что это полноценно работает только для Thunderbird 2 (для 3-го нет пока этого дополнений) с дополнением ContacSide Bar - авто подбор адресов по первым буквами email, вывод всего списка, централизованный ввод адресов.

В outlook работает только поиск, больше ничего нет потому что outlook умеет работать только с технологией VLV (Virtual List View) которая реализована только в MS Server Exchange - если вы фанат MS и хотите централизованный список адресов смело покупайте за несколько тысяч евро Exchange :")))

Для работы должны быть установлены Aapche22, php5, php5-extensions
с опцией OpenLDAP support эта опция за собой потянет openldap24-client (тоже нужен)

далее ставим
//> cd /usr/ports/net/openldap23-server/
/usr/ports/net/openldap23-server/> make config

выбираем опции

[X] TCP_WRAPPERS With tcp wrapper support
[X] BDB With BerkeleyDB support
[X] DYNAMIC_BACKENDS Build dynamic backends
[X] SLURPD Build slurpd replication daemon

/usr/ports/net/openldap23-server/> make clean install
Генерируем пароль администратора OpenLDAP командой slappasswd, хеш которого мы ниже добавим в конфиг OpenLDAP

//> slappasswd -s vash_parol
{SSHA}HaXoFVeJ5HOmvVbFnSB00lCYjIw8N0y+

Правим конфиг OpenLDAP
//>vi /usr/local/etc/openldap/slapd.conf

#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/misc.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/openldap.schema

# Define global ACLs to disable default read access.

# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap://root.openldap.org

pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args

# Load dynamic backend modules:
modulepath /usr/local/libexec/openldap

moduleload back_bdb
# moduleload back_ldap
# moduleload back_ldbm
# moduleload back_passwd
# moduleload back_shell

# Sample security restrictions
# Require integrity protection (prevent hijacking)
# Require 112-bit (3DES or better) encryption for updates
# Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64

# Sample access control policy:
# Root DSE: allow anyone to read it
# Subschema (sub)entry DSE: allow anyone to read it
# Other DSEs:
# Allow self write access
# Allow authenticated users read access
# Allow anonymous users to authenticate
# Directives needed to implement policy:
access to dn.base="" by * read
access to dn.base="cn=Subschema" by * read
access to *
by self write
by users read
by anonymous auth
#
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn. (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!
#######################################################################
# BDB database definitions
#######################################################################

database bdb
suffix "dc=mail,dc=local"
rootdn "cn=root,dc=mail,dc=local"

# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw {SSHA}HaXoFVeJ5HOmvVbFnSB00lCYjIw8N0y+

# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /var/db/openldap-data

loglevel 256

# Indices to maintain
index objectClass eq
index cn eq

Добавляем в автозагрузку /etc/rc,conf

slapd_enable="YES"
slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0/"'
slapd_sockets="/var/run/openldap/ldapi"

и перезагружаемся
//> reboot

Проверяем запустился ли OpenLDAP

//> ps axw | grep openldap
1671 ?? Is 0:00,44 /usr/local/libexec/slapd -h ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0 -u ldap -g ldap

5874 p1 DL+ 0:00,00 grep openldap


//> netstat -nap tcp | grep 389
tcp4 0 0 *.389 *.* LISTEN


Создаем КОРЕНЬ

//> vi /var/db/openldap-data/base.ldif

dn: dc=mail, dc=local
objectClass: dcObject
objectClass: organization
objectClass: top
dc: mail
o: mail

//> cd /var/db/openldap-data/
//> ldapadd -x -D "cn=root,dc=mail,dc=local" \
-h 0.0.0.0 -W -f base.ldif
Enter LDAP Password:
тут тот пароль что вводился в начале (символами буквами и пр)


Установка phpLdapadmin
//> cd /usr/ports/net/phpldapadmin
/usr/ports/net/phpldapadmin/> make install clean

Но скорей всего с версией из портов openLDAP не будет корректно работать
надо скачать свежий разархивировать и кинуть в ту же папку что и этот
http://sourceforge.net/projects/phpldapadmin/files/

Добавляем
//> vi /usr/local/etc/apache/httpd.conf

Alias /phpldapadmin "/usr/local/www/phpldapadmin/htdocs/"

Options none
AllowOverride none
Order Deny,Allow
Deny from all
Allow from 10.10.30.0/24 .domain.local


10.10.30.0/24 - айпи вашей сети
http://ip_server/phpldapadmin - ссылка по который вызываем phpLdapadmin

Слегка правим конфиг
//> vi /usr/local/www/phpldapadmin/config/config.php

$ldapservers->SetValue($i,'server','host','ip_server');

Заходим в папку скриптов LDAP и копируем \templates\creation в \templates\modification без этого некоторые шаблоны нельзя будет редактировать


Настраиваем адрессную книгу

заходим http://ip_server/phpldapadmin
имя: cn=root,dc=mail,dc=local
пароль: тут тот пароль что вводился в начале (символами буквами и пр)

dc=mail,dc=local > Создать потомка > Organisation Unit
назовем addressbook

dc=mail,dc=local > ou=addressbook > Создать потомка > Address Book Entery
и здесь уже забиваем личные данные

В почтовых клиентах выбираем
Имя пользователя: cn=root,dc=mail,dc=local
Имя сервера: ip_servera
Корневой каталог: ou=addressbook,dc=mail,dc=local (в Outlook это каталог поиска)
Порт: 389



В настройках ContacSide Bar во вкладке ПОИСК надо поставить LDAP надо поставить галочку и заменить * на @



Экспорт в phpldapadmin не работает, точнее не работает тот единственный который нужен в VCARD - когад надо сделать экспорт всех выдается только один из контактов, Outlook отображает готовый файл в неправильнйо кодировки хотя Notepad все конктретно видит!

В любом случае в экспорте есть фильтр!

Если нужны только адреса с определенного домена надо набрать в "Фильтр поиска"
(mail=*@mail.ru)

четверг, 17 декабря 2009 г.

Huawei ETS 1001 обман от Skylink!

Skylink, как это не пародоксально, остается самой дорогой и медленной связью - но чуть более большая зона покрытия чем у GSM операторов позволяет им держатьяс на плаву. И вот о пару приемчиках благодоря которым они "не тонут" я тут сйечас и расскажу!

Обман 1 - Цена
При звонке в Skylink выясняется что по ценам указанным на сайте у них ничего нет, ну то есть у них просто ничего нет. Интересовал Huawei ETS 1001 на сайте skylink он стоит 5000 рублей официальный ответ 'Нет, и когда будет не знаем, ишите у партнеров'! Звоню партнерам выясняется что никаикх парнеров нет есть один офицальный поставщик у которого есть эти терминалы в так называемом комплекте Безлимитный город но уже по цене 9000 рублей. Считаем Безлимитный гроод - R-UIM карта 300 рублей, плюс на счету 345 рублей, плюс терминал 5000 рублей ИТОГО: 9000 рублей! С учетом реаьлнйо цены этого терминала (шедевром китайских крестьян) то уже получаем цена завышена в два раза!!!

Обман 2 - Телефон
Ну это самый маленький обман - кстати обратите внимание что нигде нет подробной инструкции о подключении, все нюансы приходится узнавать по телефону. Написано "к терминалу можно подключить любой обычный телефон' - подключаем - не работает - звоним - 'Можно подключить обычный телефон с тоновым набором'!!! Поиск обычного телефона с тоновым набором занимает дополнительное время и деньги!

Обман 3 - Интернет (Величайший обман от Skylink)
в описание читаем 'Мобильный интернет только через кабель' как вы думаете какой кабель? Никогда не угадаете USB 1.1 сменил USB 2.0 на подходе USB 3.0 а порт в железке за 9000 рублей 20-летней давнрости - COM и кабеля к нему нет (см. описание выше) да он и не нужен, потому что ни на одном современном ПК этого порта просто нет!!! Но не беда находим чудо кабель COM to USB (кстати за чудо деньги 300 рублей) подключаем кабель устаналваетяс опеределяется подключаем интернет и? Он не работает! Звоним в поддержку и слышем "Данный терминал не работает с двух ядерными процессорами"!!! Это все равно что сказать что терминал не работает с квадратными мониторами!!!

Вот такие маленькие уловки позволяют Skylink не тонуть - Skylink не тонет!

четверг, 26 ноября 2009 г.

Обзор нетбука Lenovo S10-2

Нетбук Lenovo S10-2 поступает в продажу со следующими дефектами:

1. Неработает Wi-Fi. ОС сама не может его инициализировать полсе загрузки, чтобы он заработал надо в Сетевых подключениях отключить Wi-Fi и включить, только после этого он начинает искать сети. На сайте lenovo.com надо скачать кучу обнолвений
Hotfix
http://consumersupport.lenovo.com/en/DriversDownloads/drivers_show_1280.html
Intel Wireless WiFi Link Driver
http://consumersupport.lenovo.com/en/DriversDownloads/drivers_show_1274.html
Intel EchoPeak WiMAX Driver
http://consumersupport.lenovo.com/en/DriversDownloads/drivers_show_1275.html
WiMAX Driver не захочет устаналиваться!

Для того чтобы Wi-Fi всё таки работал надо обновить всё что обновляется, отключить беспроводным доступом утилитой от Intel "передать управление Windows", и отключить модуль Wimax

2. Не работает связка микрофон колонки. Если вы попытаетесь пройти тест в Пуск-Настройка-Панель управления-Звуки и аудиоустройства-Речь-Проверка то услышите страшный скрежит... Точно не помню при каких настройках заработало но надо в Пуск-Настройка-Панель управления-Realtek HD Конфигурация аудио во вкладке Микшер отключить в Запись - Стерео Микшер а во вкладке Микрофон активировать Подавление шума и Подавление эхо

3. Windows XP Home и это дефект!!! Устройство предназначенное для работе в сети поставляется с ОС где кастрированы все сетевые функции - вы не сможете открывать сови папки для общего доступа, вы не сможете зайти в папки открытые другими для общего доступа, вы даже не сможете запомнить пароль для сетевых дисков. Первый поддефект решается организацией хранения общих файлов в сети при помощи файл-сервер Samba на FreeBSD, второй дефект устраняется утилитой CONNECTilca http://pam-pam-tararam.narod.ru/

4. Если в загрузки стоит фирменная утилита Lenovo для управления электропитанием то при включении нетбука при питании от батареии после загрузки нетбук зависает курсор двигается но ни что не работает даже кнопка выключения, приходится вынимать аккамулятор.

5. Для срабатывания кнопки Enter требуется прилагать усилия остальные кнопки срабатывают без усилий

6. Картинка фона рабочего стола не соответствую разрешению 1024x600

7. Встроенная Linux подобная ОС не рассчитана на разрешение экрана нетбука.



Нетбук поставляется в очень маленькой удобной коробке, весь набор дисков в комплектации есть, как и инструкция.


Нетбук Lenovo S10-2 совсем не кажется маленьким, в смысле маленьким для комфортной работы, но при этом он остается маленьким. На 10 дюймовом экране отключив все лишне можно просмоатривать любые сайты. Вот только для установки Skype 600 в высоту мало (жмем Enter это OK если не видно его)


6 ячеечный аккумулятор с включенным Wi-Fi прогнозируют свою работу в течении 5 12 минут, но по ощущениям в реальности на 40-60 минут меньше работает. Аккумулятор заметно выпирает, на столе он служит подставкой, зато из-за такого расположения сам корпус достаточно тонкий и остается место для циркуляции воздуха.


Спереди расположен считыватель карты SD а также 1 RJ45, 4 USB, 1 VGA, микрофон наушники


Индикация дублируется у основания экрана и рядом с тачпадом, причем у тачпада такие бледные лампочки что понят что они горят можно только когда они не горят (вот как хотите так и понимайте). Кнопка [QS] загружает Lenovo Quick star - там можно смотреть фотки, интернет, Skype


Yota протестировать не удалось, не смотря на заявления о покрытие сети в нашем райне, покрытия нет!!!


Ну и открутил все что можно было открутить сзади и посмотрел

воскресенье, 22 ноября 2009 г.

Обзор Acer Aspire 5738G

Acer остается компанией бюджетных решений, и сказывается это в последнее время не на цене а на комплектации. И пусть в коробке Aspire 5738G нет сумки или кожуха для ноутбука, и пусть даже нет руководства (так и осталось не понятно зачем в правом верхнем углу кнопка P и еще какаято кнопка над тачпадом) - но предлагать создавать самостоятельно диск с заводскими настйроками это уже не экономия это просто свинство - програмулька от Acer потребует 3 DVD - не положив эти диски компания сыкономила 45 сентов на ноуте стоимостью 950$ :)))



Из вида коробки становится ясно что Acer спонсор Олимпиады... кроме картона ни что больше на это не указывает, видимо самый бедный спонсор!

Не смотря на внушительные петли экран значительно не до открывается до 180 градусов!


Из разьемов 4 usb, 1 hdmi, 1 vga, 1 rj45, 1 rj 11, audio 3 шт, кард ридер и доя замка. На передней стороне есть также зашелка для крышки, открывать одной рукой на весу крайне не удобно!


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


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


Ноутбук делает упор на просмотр фильмов, для этого и экран с соотношением сторон 16:9 (хотя на самом деле такие широкие экраны любят всякие верстальщики) сущсетвует даже специлаьная программа Acer Arcade Delux ноутбук она по виду преврашает в плеер только вот надпись "Кинотеат" очень смушает...