понедельник, 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