Rakovski.ru

Per aspera ad astra

Устанавливаем порт DHCP-сервера:

# cd /usr/ports/net/isc-dhcp30-server
# make install clean

Конфигурацию можно оставить по умолчанию.

В файл /etc/rc.conf вносим следующие строчки:

dhcpd_enable=»YES»
# Т.к. на сервере две сетевых платы, то указываем на каком интерфейсе будет работать DHCP сервер
dhcpd_ifaces=»xl0″

Правим /usr/local/etc/dhcpd.conf под свои запросы:

option domain-name «gorod.vera.local»;
option domain-name-servers ns.gorod.vera.local;

default-lease-time 600;
max-lease-time 7200;

ddns-update-style ad-hoc;

log-facility local7;

subnet 10.11.0.0 netmask 255.255.255.0 {
range 10.11.0.100 10.11.0.120;
option routers 10.11.0.201;
}

Устанавливаем BIND из портов. На момент написания статьи последняя версия была 9.6.0-P1.

# cd /usr/ports/dns/bind96
# make install clean

Отмечаем опцию «REPLACE_BASE», чтобы заменить базовый BIND

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

named_enable=»YES»

В файле named.conf дополняем адреса с которых будут приниматься запросы DNS:

listen-on { 10.10.0.0/16; 127.0.0.1; };

Там же прописываем адреса провайдера:

forwarders { 213.135.97.131; }

/etc/resolv.conf должен выглядить так:

nameserver 127.0.0.1

Перезагружаемся и смотрим логи на наличие ошибок — /var/log/messages. В дальнейшем перезагружать сервер целиком не потребуется. Для рестарта сервиса named применяется одна из команд:

# /etc/rc.d/named restart

# killall -HUP named

Если перезагрузка вызывает ошибку, к примеру такую:

# /etc/rc.d/named restart
Stopping named: rndc failed, trying killall: .
Starting named.

Отключаем файрволл и запускам команду снова. Если команда сработала, то меняем правила. Для PF нужно добавить строчку:
set skip on lo0

В предшествующих версиях BIND для создания реверсной зоны нужно было запускать скрипт /var/named/etc/namedb/make-localhost В версии bind 9.6 такого скрипта уже нет. Имеются два файла localhost-forward.db и localhost-reverse.db. Для создания файла зоны нужно скопировать localhost-forward.db под новым имененем зоны отредактировать:

# cp localhost-forward.db 6mk.lan

Работа с rndc

Включаем возможность работы с утилитой rndc:

# rndc-confgen > /etc/namedb/rndc.conf

копируем строки из rndc.conf в конец файла named.conf и снимаем с них комментарии.

Примеры конфигов

6mk.lan

$TTL 3600 ; 1 hour
6mk.lan. IN SOA ns.6mk.lan. admin.6mk.lan. (
2008010301 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)

; DNS Servers
IN NS ns.6mk.lan.
IN A 10.10.38.50

; Machine Names
ns IN A 10.10.38.50

; Aliases
www IN CNAME @

38.10.10.in-addr.arpa

; $FreeBSD: src/etc/namedb/master/localhost-reverse.db,v 1.1.8.1 2008/11/25 02:59:29 kensmith Exp $

$TTL 3h
@ SOA ns.6mk.lan. admin.6mk.lan. 42 1d 12h 1w 3h
; Serial, Refresh, Retry, Expire, Neg. cache TTL

IN NS ns.6mk.lan.

50 IN PTR ns.6mk.lan.
50 IN PTR 6mk.lan.

named.conf

options {
// Relative to the chroot directory, if any
directory «/etc/namedb»;
pid-file «/var/run/named/pid»;
dump-file «/var/dump/named_dump.db»;
statistics-file «/var/stats/named.stats»;

listen-on { 127.0.0.1; 10.10.0.0/16; 10.11.0.0/24; };

disable-empty-zone «255.255.255.255.IN-ADDR.ARPA»;

forwarders {
127.0.0.1; 213.135.97.131;
};
};

zone «.» { type hint; file «named.root»; };

zone «6mk.lan» {
type master;
file «master/6mk.lan»;
};

zone «38.10.10.in-addr.arpa» {
type master;
file «master/38.10.10.in-addr.arpa»;
};

// RFC 1912
zone «localhost» { type master; file «master/localhost-forward.db»; };
zone «127.in-addr.arpa» { type master; file «master/localhost-reverse.db»; };
zone «255.in-addr.arpa» { type master; file «master/empty.db»; };

# Use with the following in named.conf, adjusting the allow list as needed:
key «rndc-key» {
algorithm hmac-md5;
secret «zYt7cPSrHnIEwBagJtcIHg==»;
};

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { «rndc-key»; };
};
# End of named.conf

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

Скрипт расположен по адресу: /usr/home/user/scripts/ppp-restart

ppp-restart

#!/bin/sh -xv

pings=`/sbin/ping -c 3 213.135.97.131 | grep -c «64 bytes»`
if [ $pings -gt 0 ]
then
:
else
/usr/bin/killall ppp
kill -9 `cat /var/run/tun0.pid`
sleep 5
/usr/sbin/ppp -ddial vtc
DATE=`date ‘+%Y-%m-%d %H:%M:%S’`
PPP_RESTART_LOG=/var/log/ppp_restart.log
echo ${DATE} «[ERROR] Not request from 213.135.97.131» >> $PPP_RESTART_LOG
fi

Задание для крона:

*/1 * * * * /bin/sh /usr/home/user/scripts/ppp-restart
ppp.conf

default:
set device PPPoE:re0:vtc
set speed sync
set mru 1492
set mtu 1492
set ctsrts off
set timeout 0 # 3 minute idle timer (the default)
set redial 0 0

enable lqr
set lqrperiod 5

vtc:
set authname мой_логин
set authkey мой_пароль
add default HISADDR

Для нормальной компиляции ядра необходимо, чтобы были установлены все исходные коды. Сборка ядра делается следующей коммандой:

# cd /usr/src
# make KERNCONF=MYKERNEL kernel

В конфиге комментируем ненужные устройства (SCSI, RAID, FireWire). Мой конфиг выглядит так:

#cpu        I486_CPU
#cpu        I586_CPU
cpu        I686_CPU
ident        KERNEL3

# To statically compile in device wiring instead of /boot/device.hints
#hints        «GENERIC.hints»        # Default places to look for devices.

#makeoptions    DEBUG=-g        # Build kernel with gdb(1) debug symbols

options     SCHED_ULE        # ULE scheduler
options     PREEMPTION        # Enable kernel thread preemption
options     INET            # InterNETworking
#Отключаем поддержку протокола IPv6. Обязательно отключаем поддержку SCTP
#иначе будет вылезать ошибка при компиляции.
#options     INET6            # IPv6 communications protocols
#options     SCTP            # Stream Control Transmission Protocol
options     FFS            # Berkeley Fast Filesystem
options     SOFTUPDATES        # Enable FFS soft updates support
options     UFS_ACL            # Support for access control lists
options     UFS_DIRHASH        # Improve performance on big directories
options     UFS_GJOURNAL        # Enable gjournal-based UFS journaling
options     MD_ROOT            # MD is a potential root device
#Отключаем поддержку сетевой файловой системы
#options     NFSCLIENT        # Network Filesystem Client
#options     NFSSERVER        # Network Filesystem Server
#options     NFSLOCKD        # Network Lock Manager
#options     NFS_ROOT        # NFS usable as /, requires NFSCLIENT
options     MSDOSFS            # MSDOS Filesystem
options     CD9660            # ISO 9660 Filesystem
options     PROCFS            # Process filesystem (requires PSEUDOFS)
options     PSEUDOFS        # Pseudo-filesystem framework
options     GEOM_PART_GPT        # GUID Partition Tables.
options     GEOM_LABEL        # Provides labelization
#options     COMPAT_43TTY        # BSD 4.3 TTY compat [KEEP THIS!]
options     COMPAT_FREEBSD4        # Compatible with FreeBSD4
options     COMPAT_FREEBSD5        # Compatible with FreeBSD5
options     COMPAT_FREEBSD6        # Compatible with FreeBSD6
#Т.к. SCSI устройств нет, то отключаем их проверку.
#options     SCSI_DELAY=5000        # Delay (in ms) before probing SCSI
options     KTRACE            # ktrace(1) support
options     STACK            # stack(9) support
options     SYSVSHM            # SYSV-style shared memory
options     SYSVMSG            # SYSV-style message queues
options     SYSVSEM            # SYSV-style semaphores
options     _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options     KBD_INSTALL_CDEV    # install a CDEV entry in /dev
options     ADAPTIVE_GIANT        # Giant mutex is adaptive.
options     STOP_NMI        # Stop CPUS using NMI instead of IPI
options     AUDIT            # Security event auditing
#options     KDTRACE_HOOKS        # Kernel DTrace hooks

#Включаем возможность ограничивать скорость через PF
options         ALTQ
options         ALTQ_CBQ        # Class Bases Queuing (CBQ)
options         ALTQ_RED        # Random Early Detection (RED)
options         ALTQ_RIO        # RED In/Out
options         ALTQ_HFSC       # Hierarchical Packet Scheduler (HFSC)
options         ALTQ_PRIQ       # Priority Queuing (PRIQ)
options         ALTQ_NOPCC      # Required for SMP build

#Включаем возможность задавать квоты
options        QUOTA

#Включаем поддержку VPN IPSEC
options        IPSEC
device        crypto

#Включаем поддержку PF
device pf
device pflog
device pfsync

# To make an SMP kernel, the next two lines are needed
options     SMP            # Symmetric MultiProcessor Kernel
device        apic            # I/O APIC

# CPU frequency control
device        cpufreq

# Bus support.
device        eisa
device        pci

# Floppy drives
device        fdc

# ATA and ATAPI devices
device        ata
device        atadisk        # ATA disk drives
device        ataraid        # ATA RAID drives
device        atapicd        # ATAPI CDROM drives
device        atapifd        # ATAPI floppy drives
device        atapist        # ATAPI tape drives
options     ATA_STATIC_ID    # Static device numbering

#Т.к. SCSI устройств нет, то отключаем их поддержку.
# SCSI Controllers
#device        ahb        # EISA AHA1742 family
#device        ahc        # AHA2940 and onboard AIC7xxx devices
#options     AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
# output.  Adds ~128k to driver.
#device        ahd        # AHA39320/29320 and onboard AIC79xx devices
#options     AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
# output.  Adds ~215k to driver.
#device        amd        # AMD 53C974 (Tekram DC-390(T))
#device        hptiop        # Highpoint RocketRaid 3xxx series
#device        isp        # Qlogic family
#device     ispfw        # Firmware for QLogic HBAs- normally a module
#device        mpt        # LSI-Logic MPT-Fusion
#device        ncr        # NCR/Symbios Logic
#device        sym        # NCR/Symbios Logic (newer chipsets + those of `ncr’)
#device        trm        # Tekram DC395U/UW/F DC315U adapters

#device        adv        # Advansys SCSI adapters
#device        adw        # Advansys wide SCSI adapters
#device        aha        # Adaptec 154x SCSI adapters
#device        aic        # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
#device        bt        # Buslogic/Mylex MultiMaster SCSI adapters

#device        ncv        # NCR 53C500
#device        nsp        # Workbit Ninja SCSI-3
#device        stg        # TMC 18C30/18C50

# SCSI peripherals
device        scbus        # SCSI bus (required for SCSI)
#device        ch        # SCSI media changers
device        da        # Direct Access (disks)
#device        sa        # Sequential Access (tape etc)
#device        cd        # CD
#device        pass        # Passthrough device (direct SCSI access)
#device        ses        # SCSI Environmental Services (and SAF-TE)

# RAID пока недоступная роскошь, поэтому отключаем.
# RAID controllers interfaced to the SCSI subsystem
#device        amr        # AMI MegaRAID
#device        arcmsr        # Areca SATA II RAID
#device        asr        # DPT SmartRAID V, VI and Adaptec SCSI RAID
#device        ciss        # Compaq Smart RAID 5*
#device        dpt        # DPT Smartcache III, IV — See NOTES for options
#device        hptmv        # Highpoint RocketRAID 182x
#device        hptrr        # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
#device        iir        # Intel Integrated RAID
#device        ips        # IBM (Adaptec) ServeRAID
#device        mly        # Mylex AcceleRAID/eXtremeRAID
#device        twa        # 3ware 9000 series PATA/SATA RAID

# RAID controllers
#device        aac        # Adaptec FSA RAID
#device        aacp        # SCSI passthrough for aac (requires CAM)
#device        ida        # Compaq Smart RAID
#device        mfi        # LSI MegaRAID SAS
#device        mlx        # Mylex DAC960 family
#device        pst        # Promise Supertrak SX6000
#device        twe        # 3ware ATA RAID

# atkbdc0 controls both the keyboard and the PS/2 mouse
device        atkbdc        # AT keyboard controller
device        atkbd        # AT keyboard
device        psm        # PS/2 mouse

device        kbdmux        # keyboard multiplexer

device        vga        # VGA video card driver

device        splash        # Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device        sc

device        agp        # support several AGP chipsets

# Power management support (see NOTES for more options)
#device        apm
# Add suspend/resume support for the i8254.
device        pmtimer

#Нет на моём сервере PCMCIA устройств. Отключаем
# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
#device        cbb        # cardbus (yenta) bridge
#device        pccard        # PC Card (16-bit) bus
#device        cardbus        # CardBus (32-bit) bus

# Serial (COM) ports
device        sio        # 8250, 16[45]50 based serial ports
device        uart        # Generic UART driver

# Parallel port
device        ppc
device        ppbus        # Parallel port bus (required)
device        lpt        # Printer
device        plip        # TCP/IP over parallel
device        ppi        # Parallel port interface device
#device        vpo        # Requires scbus and da

# If you’ve got a «dumb» serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to sio, uart and/or ppc drivers):
#device        puc

# PCI Ethernet NICs.
device        de        # DEC/Intel DC21x4x («Tulip»)
device        em        # Intel PRO/1000 Gigabit Ethernet Family
device        igb        # Intel PRO/1000 PCIE Server Gigabit Family
device        ixgb        # Intel PRO/10GbE Ethernet Card
device        le        # AMD Am7900 LANCE and Am79C9xx PCnet
device        txp        # 3Com 3cR990 («Typhoon»)
device        vx        # 3Com 3c590, 3c595 («Vortex»)

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the ‘device miibus’ line in order to use these NICs!
device        miibus        # MII bus support
device        age        # Attansic/Atheros L1 Gigabit Ethernet
#device        ale        # Atheros AR8121/AR8113/AR8114 Ethernet
device        bce        # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device        bfe        # Broadcom BCM440x 10/100 Ethernet
device        bge        # Broadcom BCM570xx Gigabit Ethernet
device        dc        # DEC/Intel 21143 and various workalikes
device        et        # Agere ET1310 10/100/Gigabit Ethernet
device        fxp        # Intel EtherExpress PRO/100B (82557, 82558)
device        jme        # JMicron JMC250 Gigabit/JMC260 Fast Ethernet
device        lge        # Level 1 LXT1001 gigabit Ethernet
device        msk        # Marvell/SysKonnect Yukon II Gigabit Ethernet
device        nfe        # nVidia nForce MCP on-board Ethernet
device        nge        # NatSemi DP83820 gigabit Ethernet
#device        nve        # nVidia nForce MCP on-board Ethernet Networking
device        pcn        # AMD Am79C97x PCI 10/100 (precedence over ‘le’)
device        re        # RealTek 8139C+/8169/8169S/8110S
device        rl        # RealTek 8129/8139
device        sf        # Adaptec AIC-6915 («Starfire»)
device        sis        # Silicon Integrated Systems SiS 900/SiS 7016
device        sk        # SysKonnect SK-984x & SK-982x gigabit Ethernet
device        ste        # Sundance ST201 (D-Link DFE-550TX)
device        stge        # Sundance/Tamarack TC9021 gigabit Ethernet
device        ti        # Alteon Networks Tigon I/II gigabit Ethernet
device        tl        # Texas Instruments ThunderLAN
device        tx        # SMC EtherPower II (83c170 «EPIC»)
device        vge        # VIA VT612x gigabit Ethernet
device        vr        # VIA Rhine, Rhine II
device        wb        # Winbond W89C840F
device        xl        # 3Com 3c90x («Boomerang», «Cyclone»)

# ISA Ethernet NICs.  pccard NICs included.
device        cs        # Crystal Semiconductor CS89x0 NIC
# ‘device ed’ requires ‘device miibus’
device        ed        # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device        ex        # Intel EtherExpress Pro/10 and Pro/10+
device        ep        # Etherlink III based cards
device        fe        # Fujitsu MB8696x based cards
device        ie        # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device        sn        # SMC’s 9000 series of Ethernet chips
device        xe        # Xircom pccard Ethernet

# Wireless NIC cards
device        wlan        # 802.11 support
device        wlan_wep    # 802.11 WEP support
device        wlan_ccmp    # 802.11 CCMP support
device        wlan_tkip    # 802.11 TKIP support
device        wlan_amrr    # AMRR transmit rate control algorithm
device        wlan_scan_ap    # 802.11 AP mode scanning
device        wlan_scan_sta    # 802.11 STA mode scanning
device        an        # Aironet 4500/4800 802.11 wireless NICs.
device        ath        # Atheros pci/cardbus NIC’s
device        ath_hal        # Atheros HAL (Hardware Access Layer)
device        ath_rate_sample    # SampleRate tx rate control for ath
device        awi        # BayStack 660 and others
device        ral        # Ralink Technology RT2500 wireless NICs.
device        wi        # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
device        wl        # Older non 802.11 Wavelan wireless NIC.

# Pseudo devices.
device        loop        # Network loopback
device        random        # Entropy device
device        ether        # Ethernet support
device        sl        # Kernel SLIP
device        ppp        # Kernel PPP
device        tun        # Packet tunnel.
device        pty        # Pseudo-ttys (telnet etc)
device        md        # Memory «disks»
device        gif        # IPv6 and IPv4 tunneling
device        faith        # IPv6-to-IPv4 relaying (translation)
device        firmware    # firmware assist module

# The `bpf’ device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that ‘bpf’ is required for DHCP.
device        bpf        # Berkeley packet filter

# USB support
device        uhci        # UHCI PCI->USB interface
device        ohci        # OHCI PCI->USB interface
device        ehci        # EHCI PCI->USB interface (USB 2.0)
device        usb        # USB Bus (required)
#device        udbp        # USB Double Bulk Pipe devices
device        ugen        # Generic
device        uhid        # «Human Interface Devices»
device        ukbd        # Keyboard
device        ulpt        # Printer
device        umass        # Disks/Mass storage — Requires scbus and da
device        ums        # Mouse
device        ural        # Ralink Technology RT2500USB wireless NICs
device        rum        # Ralink Technology RT2501USB wireless NICs
device        urio        # Diamond Rio 500 MP3 player
device        uscanner    # Scanners
# USB Serial devices
device        ucom        # Generic com ttys
device        uark        # Technologies ARK3116 based serial adapters
device        ubsa        # Belkin F5U103 and compatible serial adapters
device        ubser        # BWCT console serial adapters
device        uftdi        # For FTDI usb serial adapters
device        uipaq        # Some WinCE based devices
device        uplcom        # Prolific PL-2303 serial adapters
device        uslcom        # SI Labs CP2101/CP2102 serial adapters
device        uvisor        # Visor and Palm devices
device        uvscom        # USB serial support for DDI pocket’s PHS
# USB Ethernet, requires miibus
#device        aue        # ADMtek USB Ethernet
#device        axe        # ASIX Electronics USB Ethernet
#device        cdce        # Generic USB over Ethernet
#device        cue        # CATC USB Ethernet
#device        kue        # Kawasaki LSI USB Ethernet
#device        rue        # RealTek RTL8150 USB Ethernet

#Отключаем FireWire за ненадобностью
# FireWire support
#device        firewire    # FireWire bus code
#device        sbp        # SCSI over FireWire (Requires scbus and da)
#device        fwe        # Ethernet over FireWire (non-standard!)
#device        fwip        # IP over FireWire (RFC 2734,3146)
#device        dcons        # Dumb console driver
#device        dcons_crom    # Configuration ROM for dcons

Устанавливаем из портов Apache22, при этом убираем поддержку IPV6:

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

Для старта apache при загрузке системы прописываем в /etc/rc.conf строчку:
apache22_enable=»YES»

Устанавливаем php5. Убираем поддержку IPV6, добавляем поддержку Apache:

cd /usr/ports/lang/php5
make install clean

В конфиге Apache /usr/local/etc/apache22/httpd.conf смотрим чтобы была строчка:

LoadModule php5_module libexec/apache22/libphp5.so

а так же блок:

<IfModule mod_php5.c>
DirectoryIndex index.php index.html
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>

находим секцию <IfModule dir_module> и добавляем index.php
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>

В /usr/local/etc/php.ini проверяем, чтобы было разрешено отображение короткой формы записи

short_open_tag = On

Включаем защищенный режим:

safe_mode = On

Необходимо так же раскомментировать строчки:

extension=php_mcrypt.dll
session.save_path = "/tmp"

После этих действий страницы на php буду нормально открываться в браузере.

Устанавливаем MySQL 5.1

cd /usr/ports/databases/mysql51-server
make install clean

cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf

/usr/local/bin/mysql_intsall_db —user=mysql

chown -R mysql:mysql /var/db/mysql/

/usr/local/bin/mysqld_safe –user=mysql &

/usr/local/bin/mysqladmin -u root password ‘123456’
в /etc/rc.conf добавляем:

mysql_enable=”YES”

Установка PhpMyAdmin

cd /usr/ports/databases/phpmyadmin
make install clean

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

Alias /pma/ «/usr/local/www/phpMyAdmin/»

<Directory «/usr/local/www/phpMyAdmin/»>
Options none
AllowOverride Limit

Order Deny,Allow
Deny from all
Allow from 127.0.0.1 .example.com
</Directory>

Вместо .example.com нужно вписать IP с которого разрешено заходить.

Теперь необходимо создать файл конфигурации для подключения phpMyAdmin к MySQL. Делаем следующие действия:

cd phpMyAdmin
mkdir config                               # создаем директорию для записи
chmod o+rw config                     # даем права на запись
cp config.inc.php config/              # копируем текущий конфигурационный файл для редактирования
chmod o+w config/config.inc.php  # даем права на запись

Идем по адресу http://наш_сервер/pma/scripts/setup.php, нажимаем add, вносим нужные настройки (пароль root к БД, способ

атентификации) и записываем конфигурацию. Далее копируем конфигурационный файл обратно:

mv config/config.inc.php .
chmod o+r config.inc.php             # ставим необходимые права

Всё. Теперь можно заходить по адресу http://наш_сервер/pma/ и редактировать БД.

Ставим php5-mysql

cd /usr/ports/databases/php5-mysql
make install clean

Ставим php5-extensions, обязательно отметив галочками следующие пункты — BCMATH, FTP, GD, GETTEXT, MBSTRING, ZLIB

cd /usr/ports/lang/php5-extensions
make install clean

Веб-файлы предполагается размещать в домашнем каталоге пользователя user. Создадим там папку www. И сделаем символическую ссылку в этот каталог.
cd /usr/local/www/apache22/
rm -dr data
ln -s /usr/home/user/www /usr/local/www/apache22/data

Хорошая статья о возможностях trafd находится здесь — http://www.hub.ru/archives/2061 В своей заметке я выбрал лишь то, что нужно действительно мне и подправил пару неточностей.

Установим trafd:

# cd /usr/ports/net-mgmt/trafd
# make install clean

Создаем файл, куда будет писаться статистика (fxp0 — название интерфейса с которого будем собирать статистику):

# touch /usr/local/var/trafd/trafd.fxp0

Запускаем сам сбор статистики:

# /usr/local/bin/trafd -i fxp0

Эту же строчку добавим в /etc/rc.conf для автоматического старта при запуске. В идеале в /etc/rc.conf нужно прописать
trafd_enable=»YES»
trafd_ifaces=»fxp0″

но с этими строчками trafd не запустился, поэтому для автоматического старта прописываем в cron  такую строчку:

@reboot /usr/local/bin/trafd -i fxp0
Проверяем работу демона:

ps ax | grep trafd

7753 ?? Ss 0:00.07 /usr/local/bin/trafd -i fxp0
7826 p0 R+ 0:00.00 grep trafd

Добавим задачу в crontab чтобы данные сохранялись каждые 3 часа:

0 */3 * * * /usr/local/bin/trafsave fxp0

Посмотреть отчет за период со времени последнего сохранения:

# traflog -n -i fxp0 (-n указывает не преобразовывать IP адреса)

Посмотреть перечень записей:

# traflog -l -i fxp0

Примерный вывод результата:

# Started Dumped Data All Recs
001 Dec 10 16:44:46 Dec 10 16:49:54 18638 25246 7
002 Dec 10 16:49:54 Dec 10 16:50:45 22 55 1
003 Dec 10 16:50:45 Dec 10 16:51:15 8607 9111 1
004 Dec 10 16:51:15 Dec 10 20:00:01 68463394 72252858 349
005 Dec 10 20:00:01 Dec 11 00:00:01 1552189274 1621174536 577

Допустим, перед нами стоит задача посчитать сколько трафика скачано с определенного IP за весь период подсчётов. Выяснить это можно так:

traflog -n -i fxp0 -s from all to 10.10.51.79 | grep Summary

Если требуется высчитать трафик за определенный период, то добавляем ключи, указывающие на начало и конец отчетного периода (параметры -b <первая запись> -e <последняя запись>):

traflog -n -i fxp0 -s -b1 -e33 from all to 10.10.51.79 | grep Summary

Команда » | grep Summary» отсекает вывод излишне подробной статистки, откуда и сколько байт пришло, это бывает полезно, если нужно смотреть статистику используя медленные каналы связи.

Один из примеров использования trafd — подсчет трафика одной из игрушек, использующей порты 2106 и 7777, прошедшего через внешний интерфейс за определенный период:

traflog -n -i tun0 -b1 -e28 -s port 7777 port 2106 | grep Summary

Ссылки:

Фотографии из жизни

HP Jornada 720 Праздник в честь основания Советского района города Орска. 24 июня 2012 года. Праздник в честь основания Советского района города Орска. 24 июня 2012 года. День Советского района города Орска. 8 июня 2013 года День Советского района города Орска. 8 июня 2013 года День Советского района города Орска. 8 июня 2013 года

Подписаться через почту

Подписка