Настройка Apache (mod_rails) для подключения форума на phpBB

Настройка Apache (mod_rails) для подключения форума на phpBB

При переходе моего проекта orsk-net.ru с PHP на Ruby on Rails (Rails 2.2 + mod_rails) возникла одна сложность. На сайте работал форум доступный по адресу http://orsk-net.ru/forum и мне хотелось, чтобы он был доступен по тому же адресу. Решается эта задача следующим образом: в описании виртуального хоста в Apache нужно добавить секцию Location, где указывается директория в папке public нашего проекта, которая не должна использовать mod_rails. Так выглядит мой конфиг:

<VirtualHost *:80>
ServerAdmin admin@orsk-net.ru
ServerName orsk-net.ru
DocumentRoot «/usr/home/user/public_html/rails/public»
<Location /forum>
PassengerEnabled off
AllowOverride all
</Location>
ErrorLog «/var/log/error_log_user»
CustomLog «/var/log/access_log_user» common
</VirtualHost>

В папке public нужно сделать символическую ссылку на папку форума:
ln -s /usr/home/user/public_html/forum /usr/home/user/public_html/rails/public

С этими настройками всё заработало на Ура!

Установка DHCP под FreeBSD 7.1

Устанавливаем порт 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 под FreeBSD 7.1

Устанавливаем 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

Скрипт восстановления связи при разрыве соединения PPPoE

Модемы на моих серверах соединены по типу 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

Сборка ядра под FreeBSD 7.1

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

# 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

Установка Apache 22 + PHP 5 + MySQL 5.1 + phpMyAdmin

Устанавливаем из портов 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

Хорошая статья о возможностях 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

Ссылки:

Установка SAMS с NCSA и IP авторизацией на FreeBSD из портов

Что такое SAMS, его возможности и принцип работы хорошо описаны здесь — http://www.permlug.org/wiki/sams. К сожалению в свое время я не нашел хорошей пошаговой инструкции по установке SAMS из портов в системе FreeBSD, поэтому написал собственную шпаргалку. Надеюсь, она поможет начинающим обойти те подводные камни, которые попались мне.

Установка проводилась на FreeBSD 6.3, на момент установки в системе присутствовали следующие пакеты:

mysql-5.0.51a
php5-5.2.6
apache-2.2.9
samba-3.0.31_1

Связка Apache2 + PHP + MySQL без проблем работала (о её установке читайте в предыдущих заметках), оставалось поставить из портов последние доступные версии squid-2.7.5 и sams-1.0.3.

Ставим squid, обязательно выбираем опцию — Enable delay pools:

# cd /usr/ports/www/squid

# make install clean

В /usr/local/etc/squid/squid.conf включаем ncsa авторизацию (это важный пункт, т.к. SAMS этого сам не сделает). Раскомментируем и подправим следующие строчки:

auth_param basic program /usr/local/libexec/squid/ncsa_auth /usr/local/etc/squid/ncsa.sams
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

Создаем файл ncsa.sams. По идее SAMS сделает его самостоятельно, но нам сейчас нужно, чтобы Squid запустился еще до SAMS с целью тестирования его работы.

# touch /usr/local/etc/squid/ncsa.sams

Запускаем Squid:

# rehash
# squid -z
# /usr/local/etc/rc.d/squid start

Проверяем работу Squid. Должно показаться что-то вроде:

# ps -ax | grep squid
18859 ?? Is 0:00.00 /usr/local/sbin/squid -D
18861 ?? S 0:00.18 (squid) -D (squid)
18862 ?? Is 0:00.00 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
18863 ?? Is 0:00.00 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
18864 ?? Is 0:00.00 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
18865 ?? Is 0:00.00 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
18866 ?? Is 0:00.00 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)

Приступаем к установке SAMS из портов. При конфигурации выбираем поддержку Apache 2 (у меня он и стоит):

# cd /usr/ports/www/sams
# make config
# make
# make install
# cp /usr/local/etc/sams.conf.sample /usr/local/etc/sams.conf
# make setup

Здесь нужно будет ввести пароль  пользователя root  в MySQL, согласиться на создание баз данных и пользователя sams и назначить ему пароль.

# make clean

После завершения инсталяции следуем выданным инструкциям. В конфиг Apache добавляем:

Alias /sams/ «/usr/local/share/sams/»
<Directory «/usr/local/share/sams/»>
AllowOverride AuthConfig
Options Indexes MultiViews
Order allow,deny
Allow from all
</Directory>

В файл /etc/rc.conf добавим:

sams_enable=”YES”
squid_enable=”YES”

Прописываем правильные пути в файле /usr/local/etc/sams.conf. Мой файл выглядит так:

[client]
SQUID_DB=squidlog
SAMS_DB=squidctrl
MYSQLHOSTNAME=localhost
MYSQLUSER=sams
MYSQLPASSWORD=samspasswd
MYSQLVERSION=5.0
SQUIDCACHEFILE=access.log
SQUIDROOTDIR=/usr/local/etc/squid
SQUIDLOGDIR=/usr/local/squid/logs
SQUIDCACHEDIR=/var/spool/squid
SAMSPATH=/usr/local
SQUIDPATH=/usr/local/sbin
SQUIDGUARDLOGPATH=/var/log
SQUIDGUARDDBPATH=/var/db/squidGuard
RECODECOMMAND=/usr/local/bin/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
MYSQLUSER=sams
MYSQLPASSWORD=123456
MYSQLHOSTNAME=localhost

Запускаем sams:

# samsdaemon

Проверяем запустилось ли всё что нужно:

# ps -ax | grep sams
25865 ?? I 0:00.00 /usr/local/bin/samsf
25868 ?? Is 0:00.00 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
25869 ?? Is 0:00.00 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
25870 ?? Is 0:00.00 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
25871 ?? Is 0:00.00 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
25872 ?? Is 0:00.00 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
22678 p0- S 0:13.77 samsdaemon
26153 p0 R+ 0:00.00 grep sams

Заходим в веб-интерфейс SAMS — http://ip_server/sams/ по умолчанию пользователь admin, пароль qwerty.
SAMS -> SAMS administration -> SAMS settings выбираем NCSA авторизацию, ставим галочку на «Insert SQUID logs in database». Записывам настройки.

ВАЖНО!!! Обязательно изменить в «templates» тип авторизации на NCSA (по умолчанию стоит по IP). Если не сделать этого, то в консоли будет вываливаться сообщение о пуcтом файле default.sams.
Добавляем новых пользователей. Делаем переконфигурирование — SAMS -> SQUID -> SQUID reconfiguration -> Reconfigurate

Идем в браузер, прописываем настройки прокси и пробуем выйти в Интернет. Если всё настроено правильно, то должно появится окно авторизации, вводим логин и пароль ранее добавленного пользователя и выходим на бескрайние просторы Интернета.

Теперь, когда настроена авторизация по логину/паролю, можно без труда настроить авторизацию по IP адресу. Для этого нужно создать дополнительный шаблон и указать в нём тип авторизации «IP», затем добавляем новых пользователей указав в их профиле новый шаблон, а также IP адрес с которого должен работать пользователь, пароль указывать не нужно, но в браузере всё так же требуется прописать настройки прокси-сервера.

Решение разных проблем

Спустя некоторое время после использования SAMS выяснилось, что периодически падает демон samsf отвечающий за непрерывную обработку логов Squid. Оказалось, что разработчики более не поддерживают его и рекомендуется использовать опцию «Discret parser» SAMS -> SAMS administration -> SAMS settings. Периодичность я поставил 1 минуту. После этого всё нормализовалось.

Если при реконфигурировании SAMS новые пользователи не добавляются в ncsa.sams то можно попробовать убить процессы samsdaemon и samsf и запустить samsdaemon заново.

Другой частый вариант при первых запусках SAMS — не стартует squid или ругается на несуществующий процесс. В этом случае нужно в ручную создать файл /usr/local/etc/squid/ncsa.sams (даже если вы его создавали в начале установки, то при реконфигурировании SAMS он скорей всего был удален), затем в папке /usr/local/squid/logs удаляем файл squid.pid (иногда также помогает удаление |access.log) после этого лучше перезагрузиться.

Ещё один нюанс настройки SAMS — при перезапуске сервера SAMS норовит стартовать раньше MySQL, в результате чего он не может открыть нужные таблицы. Есть несколько способов это устранить, один из них дополнить в файле /usr/local/etc/rc.d/sams строчку:

# REQUIRE: LOGIN cleanvar

до

# REQUIRE: LOGIN cleanvar mysql

Другой вариант — убрать из /etc/rc.conf строчку sams_enable=”YES” и прописать в crontab строчку:

@reboot /usr/local/etc/rc.d/sams start
Перезагружаем сервер, смотрим работу SAMS, если всё нормально, то на этом настройку можно считать завершенной.

Следует иметь в виду, что в SAMS есть масса других подводных камней, которые могут проявиться при попытке настроить авторизацию по NTLM и т.д. Есть также вероятность, что в один не очень хороший день SAMS может упасть без видимой причины. В этих случаях я советую искать ответы на форуме http://www.permlug.org/forum/sams/ Многие подобные ситуации уже обсуждались и ответы были найдены, нужно лишь искать.

На всякий случай приведу примеры файлов конфигурации.

Пример файла /usr/local/etc/rc.d/sams

#!/bin/sh
# $FreeBSD: ports/www/sams/files/sams.sh.in,v 1.1 2006/12/29 20:18:35 miwi Exp $

# PROVIDE: sams
# REQUIRE: LOGIN cleanvar mysql — очень важно, без mysql не будет стартовать при загрузке ОС
# KEYWORD: shutdown

# Define these sams_* variables in one of these files:
# /etc/rc.conf
# /etc/rc.conf.local
# /etc/rc.conf.d/sams
#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
#
sams_enable=${sams_enable-«NO»}
sams_flags=${sams_flags-«»}
sams_pidfile=${sams_pidfile-«/var/run/samsdaemon.pid»}

. /etc/rc.subr

name=»sams»
rcvar=`set_rcvar`
command=»/usr/local/bin/samsdaemon»

load_rc_config $name

pidfile=»${sams_pidfile}»

run_rc_command «$1»

Пример файла /usr/local/etc/squid/squid.conf:

auth_param basic program /usr/local/libexec/squid/ncsa_auth /usr/local/etc/squid/ncsa.sams

auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
acl _sams_4934254f2ae45 src «/usr/local/etc/squid/4934254f2ae45.sams»
acl _sams_4934254f2ae45_time time MTWHFAS 00:00-23:59
acl _sams_default proxy_auth «/usr/local/etc/squid/default.sams»
acl _sams_default_time time MTWHFAS 00:00-23:00
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow _sams_4934254f2ae45 _sams_4934254f2ae45_time
http_access allow _sams_default _sams_default_time
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access deny all
icp_access allow localnet
icp_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
access_log /usr/local/squid/logs/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY\s[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
delay_pools 2
delay_class 1 2
delay_class 2 2
delay_access 1 allow _sams_4934254f2ae45
delay_access 1 deny all
delay_parameters 1 524288/524288 524288/524288
delay_access 2 allow _sams_default
delay_access 2 deny all
delay_parameters 2 64000/64000 64000/64000
coredump_dir /usr/local/squid/cache

ipfw + natd + tun0

Исходные данные: имеем сервер FreeBSD 6.3 с двумя сетевыми картами в одну подключен модем ADSL в режиме bridge, в другую локальную сеть
Задача: разрешить выход в интернет компьютерам локальной сети и дать возможность доступа по определенным портам из интернета на компьютеры в сети.

Для начала работы ipfw пересоберем ядро с нужными опциями:

# Включаем поддержку ipfw
options IPFIREWALL
# Включаем логирование пакетов,
# которые попадут под правило log
options IPFIREWALL_VERBOSE
# Ограничение размера журнального файла,
# на случай DDoS атаки
options IPFIREWALL_VERBOSE_LIMIT=100
# Пригодится, если понадобится воспользоваться
# возможностью перенаправления пакетов
# (например, при создании transparent proxy).
options IPFIREWALL_FORWARD
# Дайверт, для того, чтобы работал NAT, если
# нужно выпустить в Интернет локальную сеть
options IPDIVERT
# Эта опция пригодится, в случае задания
# шейпов для ограничения скорости.
options DUMMYNET

Файл с настройками для дозвона модема:

/etc/ppp/ppp.conf

default:
set device PPPoE:rl0:vtc
set speed sync
set mru 1492
set mtu 1492
set ctsrts off
set timeout 0
set redial 0 0

# Link Quality Request
enable lqr
set lqrperiod 5

vtc:
set authname login # наш логин
set authkey password # наш пароль
add default HISADDR

/etc/rc.conf

defaultrouter=»192.168.1.1″
hostname=»gorod.vera.local»
ifconfig_re0=»inet 10.10.38.100 netmask 255.255.255.0″
ifconfig_rl0=»inet 192.168.1.2 netmask 255.255.255.0″

gateway_enable=»YES»
natd_enable=»YES»
#NAT будет работать на внешнем интерфейсе модема
natd_interface=»tun0″
natd_flags=»-f /etc/natd.conf»

firewall_enable=»YES»
firewall_type=»/etc/rc.firewall»
#включаем логирование пакетов
firewall_logging=»YES»

#включаем дозвон модема
ppp_nat=»NO»
ppp_enable=»YES»
ppp_mode=»ddial»
ppp_profile=»vtc»

Файл с настройками ipfw (делаем его исполняемым — 754)

/etc/rc.firewall

#!/bin/sh —

fw=»/sbin/ipfw -q»

inif=»re0″
outif=»tun0″
inip=»10.10.38.100″
outip=»85.192.x.x»
innet=»10.10.38.0/24″

${fw} -f flush
${fw} add allow all from any to any via lo0
${fw} add deny log all from any to 127.0.0.0/8
${fw} add deny log all from 127.0.0.0/8 to any

${fw} add divert natd log all from ${innet} to any out via ${outif}
${fw} add divert natd log all from any to ${outip} in via ${outif}

${fw} add allow tcp from any to any via ${outif} established
${fw} add allow tcp from ${inip},${outip} to any out xmit ${outif} setup

${fw} add allow all from ${innet} to any out via ${inif}
${fw} add allow all from any to ${innet} in via ${inif}

##### Правила для UDP протокола ####
#
# — для сервера
# Разрешаем все исходящие UDP запросы с самого сервера
# Без этого не работают такие команды как traceroute
# Хотя, как вариант, можно обойтись и без этого если
# использовать traceroute -P icmp
${fw} add allow udp from ${outip} to any out via ${outif}
# Разрешаем входящие DNS запросы к нашему DNS серверу
# если конечно таковой испольуется на этой машине.
${fw} add allow udp from any to ${outip} 53 in via ${outif}
# Разрешаем ответы от DNS серверов на запросы
# от нашего хоста.
${fw} add allow udp from any 53 to ${outip} in via ${outif}
# Разрешаем ответы от серверов времени на запросы
# от нашего хоста
${fw} add allow udp from any 123 to ${outip} in via ${outif}
#
# — для локальной сети
# Разрешаем DNS запросы/ответы для всей сети
${fw} add allow udp from ${innet} to any 53
${fw} add allow udp from any 53 to ${innet}
# Разрешаем запросы/ответы к серверам времени для всей сети
${fw} add allow udp from ${innet} to any 123
${fw} add allow udp from any 123 to ${innet}

${fw} add allow tcp from ${innet} to any in via ${inif}
${fw} add allow tcp from any to ${innet} out via ${inif}

${fw} add allow all from any to any
${fw} add deny log all from any to any

При настройке сервера я долго не мог понять почему не работает данная связка. Ответ оказался простым — natd не стартовал на интерфейсе tun0 т.к. его еще нет при старте системы, а появляется он после того как модем дозвонился. Проверить включен ли нат можно командой:

# /etc/rc.d/natd status

Если работает, то ответ получаем примерно такой:

natd is running as pid 1175.

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

# /etc/rc.d/natd start

Решение данной проблемы может быть таким: прописываем задачу в cron чтобы natd стартовал при каждой загрузке компьютера принудительно.

# crontab -e

@reboot /etc/rc.d/natd start

Если нужно пробросить порты с внешнего интерфейса на компьютеры внутри сети, то редактируем файл /etc/natd.conf. К примеру нужно открыть доступ по 5000 порту на компьютер с IP 10.10.38.200. Для этого добавляем в файл строчку:

redirect_port tcp 10.10.38.200:5000 5000

На этом настройку можно считать законченной.

Статья на основе которой я  настраивал связку — http://live.daemony.org/freebsd/ipfw-natd-tun0.html

Установка webmin

Данная программа может оказаться полезной для новичков изучающих Unix системы.

Устанавливаем сам webmin:

# cd /usr/ports/sysutils/webmin
# make install clean

Для запуска webmin при старте системы сконфигурируем файл /etc/rc.conf добавив в него строчку:

webmin_enable=»YES»
Для конфигурирования webmin запустим скрипт:

# /usr/local/lib/webmin/setup.sh

Отвечаем на вопросы конфигуратора. Если предлагаемую настройку менять не нужно, то нажимаем Enter:

Web server port (default 10000): [Press Enter]
Login name (default admin): [Press Enter]
Login password: [наш пароль]
Password again:
Use SSL (y/n): y

Зайти в программу можно введя следущий адрес:

https://your-server-ip:10000

Авторизация на сервере FreeBSD по SSH ключам

Исходные данные: имеется сервер на базе FreeBSD, имеются клиентские машины с которых надо периодически заходить на этот сервер. В качестве SSH-клиента используется PuTTY.
Задача: избавить себя от постоянного ввода паролей вручную и проходить авторизацию с помощью специальных ключей.

Для подключения клиента требуется сгенерировать два ключа — закрытй и публичный. В клиенте PuTTY это делается утилитой puttygen.exe. В открывшемся окне меняем значение Number of bits in a generated key с 1024 на более сложное, например 2343. Нажимаем кнопку Generate и водим мышкой чтобы создать случайный код.

По завершении генерации станут активными две кнопки — Save public key и Save private key. Нажимаем на первую кнопку и сохраняем публичный ключ с названием, к примеру, rsa-pub. Второй ключ сохраним как rsa-private. При этом программа напомнит, что нужно ввести еще секретную фразу т.к. это увеличит безопасность, но мы откажемся т.к. задача соединяться не вводя пароли.

Теперь соединяемся с нашим сервером и заходим в домашнюю папку того пользователя под которым будем соединяться с сервером. Создаем там директорию .ssh

$ mkdir .ssh

Ставим на папку права 700

Копируем туда наш публичный ключ. И в этой же директории выполняем следующую команду:

# ssh-keygen -i -f rsa-pub > authorized_keys

Открываем PuTTY выбираем нашу запись для соединения с сервером, и добавляем в раздел Connection — SSH — Auth путь к нашему приватному ключу. Всё, теперь можно коннектиться. Если всё сделано правильно то мы попадем в директорию пользователя без запроса пароля.

Есть другой вариант переноса публичного ключа на сервер. Необходимо создать в директории .ssh файл authorized_keys

$ touch authorized_keys

Открыть для редактирования этот файл и скопировать туда наш публичный ключ. Ключ должен идти в одну строчку. Перед ключом должно быть написано ssh-rsa и поставлен пробел.

Пример:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAZYQ69twq6e39+S6LxO62E37wtlGvVknomrTSdGD/QRTiNKwCI0WzFmOjvshFbzi+ARYRUcIQpxjO1nVfcO+RfJHCjX3vjgEeq1vxhag0PQs8mJLaddeCISpW37zpxYczDPTwEC7vVnzW9H1YcB1x42V9dL4JJzhbRUmHWEuNw1h+MM0eOnJLcUHZuHmxiP6M8y41UPenuVnAt2FaNWzxxMUjSKg6zCj3q07Td/ilrCvARs7/hFERG7pn6QN9At/EpTQvyn/aYDByPc4xUkeGTapzaMBYSrRIVpyYvDjJza3TAgIYejwLgV+gwlXMYKkvErsdm1hh+K4Ioe0zkbGzkaYUA+a7q3tzjY5taCDp/9LFjwhuMVcswnNAjLX+ct+sSIvZn/KnZjafcywjdmZc1Nhrl6b9AxnJ+h9PJ2BC73h90ZWvr5EASiXSgyI8A2y1ObVpLvoNIJu0DeKnIZnKarTbhXvQFAAeOzsxkTzb95ceX+llRUHqyOBpnB7D2DR8Im1tdVaQy9v9dZ329+Ogjg2BXKfL5Oh

Установка webalizer

Для того чтобы просматривать статистику на своём сайте я решил поставить на сервер webalizer — /usr/ports/www/webalizer. Поставил, заработало, но не показывало из каких стран заходили на сайт. В make я нашел упоминание о geolizer, который не установился вместе webalizer. Тогда я сделал так: обновил порты, и начал установку именно с geolizer. В конечном итоге всё заработало как надо, поэтому выкладываю последовательность действий. Идем в папку с geolizer и устанавливаем: # cd /usr/ports/www/geolizer # make install clean Установка должна потянуть за собой установку GeoIP. Если всё нормально, то приступаем к конфигурированию. Если выдается ошибка и ругается на webalizer то сначала придется удалить этот пакет (/usr/ports/www/webalizer, он был установлен мной ранее). Файл конфигурации располагается в /usr/local/etc

# cp /usr/local/etc/webalizer.conf-dist /usr/local/etc/webalizer.conf

Наиболее важные строчки конфигурации, без которых статистика не заработает: #Путь к логам апача LogFile /var/lib/httpd/logs/access_log #Путь к папке, куда будем складывать результат обработки статистики, с тем учетом, чтобы потом смотреть через браузер. #конечную папку нужно создать самому OutputDir /usr/local/www/data/webalizer #Эта строчка ставится в самом конце. Она нужна для того, чтобы видеть с IP каких стран заходили на сайт: GeoIP yes Конфигурация закончена. Для запуска статистики используем команду: # webalizer Смотреть статистику идем по адресу (учитывая внесенные в конфиг строчки) — http://yoursuite/webalizer/ Добавляем задачу в cron: */23 * * * * /usr/local/bin/webalizer Более подробно о настройках файла конфигурации webalizer.conf рассказано здесь — http://www.lissyara.su/?id=1182

Читать далее

Соединяем две сети через VPN IPSEC

Цель: подсоединить к локальной сети 6-го микрорайона свою домашнюю сеть из нескольких машин.
Исходные данные: в обоих сетях есть сервер с FreeBSD 6.2 имеющий две сетевых карты (одна смотрит в локалку, в другую подсоединен модем). Выход в Интернет осуществляется через ADSL модем, настроенный в режиме bridge.

Топология сети выглядит так:

1-ая сеть:

10.11.0.0/16
|
10.11.0.201
Сервер
85.192.х.х
|
|
Интернет
|
|
2-ая сеть
92.49.х.х
Сервер
10.10.38.50
|
10.10.0.0/16

Первоначально нужно пересобрать ядро с дополнительными опциями:
options IPSEC #IP security
options IPSEC_ESP #IP security (crypto; define w/ IPSEC)

device gif

Компилируем новое ядро, инсталлируем и перезагружаемся.

Теперь создаем туннель и добавляем маршрутизацию:

На шлюзе 1:

ifconfig gif0 create
ifconfig gif0 10.11.0.201 10.10.38.50
ifconfig gif0 tunnel 85.192.x.x 92.49.x.x
route add 10.10.0.0/16 10.10.38.50

На шлюзе 2:

ifconfig gif0 create
ifconfig gif0 10.10.38.50 10.11.0.201
ifconfig gif0 tunnel 92.49.x.x 85.192.x.x
route add 10.11.0.0/16 10.11.0.201

По сути, после этих команд между сетями уже есть связь. Т.е. можно из подсети 1 зайти на компьютеры в сети 2. Единственный нюанс на компьютерах во 2 сети должен быть прописан шлюз по умолчанию — 10.10.38.50 иначе достучаться до них будет нельзя. Как подсказали знающие люди — выходом из этой ситуации является установка SNAT на втором шлюзе, но это не входило в мои планы.

Теперь можно приступать к шифрованию трафика. Для этого установим из портов — security/ipsec-tools. По идее после установки должна была создаться папка /usr/local/etc/racoon/ с конфигурационными файлами, но этого не произошло. Не беда, создадим их вручную:

/usr/local/etc/racoon/racoon.conf

path include «/usr/local/etc/racoon» ;
path pre_shared_key «/usr/local/etc/racoon/psk.txt» ;
path certificate «/usr/local/etc/racoon/cert» ;

padding
{
maximum_length 20; # maximum padding length.
randomize off; # enable randomize length.
strict_check off; # enable strict check.
exclusive_tail off; # extract last one octet.
}

listen
{
isakmp 222.222.222.222 [500]; #IP компьютера где расположен данный файл
}

timer
{
counter 5; # maximum trying count to send.
interval 20 sec; # maximum interval to resend.
persend 1; # the number of packets per a send.
phase1 30 sec;
phase2 15 sec;
}

remote anonymous
{
exchange_mode aggressive,main,base;
doi ipsec_doi;
situation identity_only;
nonce_size 16;
lifetime time 24 hour; # sec,min,hour
initial_contact on;
proposal_check obey; # obey, strict or claim
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key ;
dh_group 2 ;
}
}

sainfo anonymous
{
pfs_group 1;
lifetime time 24 hour;
encryption_algorithm 3des ;
authentication_algorithm hmac_sha1;
compression_algorithm deflate ;
}
#End of racoon.conf

/usr/local/etc/racoon/psk.txt

#На шлюзе 1 (secret — пароль):

92.49.х.х secret

#На шлюзе 2 (secret — пароль):

85.192.х.х secret

Ставим права на эти файлы:

# chmod 600 *

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

#На шлюзе 1 (85.192.х.х):

spdadd 85.192.х.х/32 92.49.х.х/32 ipencap -P out ipsec esp/tunnel/85.192.х.х-92.49.х.х/require;
spdadd 92.49.х.х/32 85.192.х.х/32 ipencap -P in ipsec esp/tunnel/92.49.х.х-85.192.х.х/require;

На шлюзе 2 (92.49.х.х):

spdadd 92.49.х.х/32 85.192.х.х/32 ipencap -P out ipsec esp/tunnel/92.49.х.х-85.192.х.х/require;
spdadd 85.192.х.х/32 92.49.х.х/32 ipencap -P in ipsec esp/tunnel/85.192.х.х-92.49.х.х/require;

Выполняем на обоих шлюзах команды:

# racoon

# setkey -f /etc/ipsec.conf

Проверка работы racoon на шлюзе 1:

# sockstat | grep raco

root racoon 4527 3 dgram -> /var/run/logpriv
root racoon 4527 6 udp4 85.192.х.х:500 *:*

Проверяем работу командой setkey -D на шлюзе 1. Если ничего не вывелось, значит, шифрование не настроено.

# setkey -D

85.192.х.х 92.49.х.х
esp mode=tunnel spi=165916838(0x09e3b0a6) reqid=0(0x00000000)
E: 3des-cbc aecfd117 0739d66d 3400f094 e9411901 aa33570b ce7c2130
A: hmac-sha1 d1bc9b8f aa0c0bdc 795c800a 8ff4bc1d b3bd87a5
seq=0x00000375 replay=4 flags=0x00000000 state=mature
created: Nov 13 15:41:53 2008 current: Nov 13 15:55:10 2008
diff: 797(s) hard: 86400(s) soft: 69120(s)
last: Nov 13 15:55:09 2008 hard: 0(s) soft: 0(s)
current: 141600(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 885 hard: 0 soft: 0
sadb_seq=1 pid=4585 refcnt=2
92.49.х.х 85.192.х.х
esp mode=tunnel spi=42651354(0x028aceda) reqid=0(0x00000000)
E: 3des-cbc 85fe3e51 1c251e7d 22c51fbd 52a9a31c 769758ac c3c69b03
A: hmac-sha1 d90dc2db 8f56a6f0 cdd9fc17 5acae5a4 8c043102
seq=0x0000036e replay=4 flags=0x00000000 state=mature
created: Nov 13 15:41:53 2008 current: Nov 13 15:55:10 2008
diff: 797(s) hard: 86400(s) soft: 69120(s)
last: Nov 13 15:55:09 2008 hard: 0(s) soft: 0(s)
current: 91312(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 878 hard: 0 soft: 0
sadb_seq=0 pid=4585 refcnt=1

Для пущей достоверности запускаем со шлюза 1 команду:

# ping 10.10.38.50

На втором шлюзе запускаем:

# tcpdump -i tun0 host 85.192.х.х

Если трафик шифруется, то увидим примерно такой вывод:

17:51:34.927576 IP 85-192-x-x.dsl.esoo.ru > 92.49.x.x: ESP(spi=0x0f6188d3,seq=0x12e), length 140
17:51:35.056984 IP 92.49.x.x > 85-192-x-x.dsl.esoo.ru: ESP(spi=0x0b7e205d,seq=0x126), length 140

Для того чтобы VPN поднимался автоматически при загрузке сервера нужно прописать в /etc/rc.conf следующие строчки:

Для шлюза 1:

gif_interfaces=»gif0″
gifconfig_gif0=»85.192.x.x 92.49.x.x»
ifconfig_gif0=»inet 10.11.0.201 10.10.38.50 netmask 0xffffffff»
static_routes=»vpn»
route_vpn=»-net 10.10.0.0/16 10.10.38.50″

ipsec_enable=»YES»
ipsec_file=»/etc/ipsec.conf»
racoon_enable=»YES»

Для шлюза 2:

gif_interfaces=»gif0″
gifconfig_gif0=»92.49.x.x 85.192.x.x»
ifconfig_gif0=»inet 10.10.38.50 10.11.0.201 netmask 0xffffffff»
static_routes=»vpn»
route_vpn=»-net 10.11.0.0/16 10.11.0.201″

ipsec_enable=»YES»
ipsec_file=»/etc/ipsec.conf»
racoon_enable=»YES»

К сожалению, как показала практика, racoon не захотел стартовать автоматически, поэтому в crontab на обоих шлюзах была добавлена новая сточка:

@reboot /usr/local/etc/rc.d/racoon start

После повторной перезагрузки всё завелось. Как видим настройка VPN не так уж сложна.

Ссылки на наиболее интересные материалы по данной теме:

Использование ресурса DynDNS.org, установка клиента ddclient

Для начала нужно рассказать для чего может понадобиться использование сервиса https://www.dyndns.com. Как правило провайдеры выдают своим клиентам динамические IP адреса, которые могут меняться при каждой новой сессии. Т.о. если мы размещаем на своем сервере какой-либо ресурс (к примеру веб-сервер), то чтобы попасть на него из интернета нам понадобится каждый раз вводить правильный IP адрес сервера действительный на тот момент. Это конечно же очень неудобно. Чтобы обойти эту трудность можно воспользоваться сервисом на сайте https://www.dyndns.com. Смысл данного ресурса в том, что после регистрации на нем своего аккаунта мы бесплатно получаем доменное имя третьего уровня, к примеру shestoi.dyndns.org. Далее на своем сервере мы устанавливаем клиент ddclient в котором прописываем настройки для shestoi.dyndns.org. Теперь клиент ddclient будет с определенной периодичностью посылать на https://www.dyndns.com нынешний IP нашего сервера. Т.о. по адресу http://shestoi.dyndns.org будет доступен наш сервер.

Следует также заметить, что современные модемы как правило обладают функцией поддержки DynDNS и можно прописать настройки непосредственно на нём, без установки клиента на сервер.

Теперь о самой установке и настройки клиента ddclient.

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

Затем копируем и правим конфиг

# cp /usr/local/etc/ddclient.conf.sample /usr/local/etc/ddclient.conf
# chmod 600 /usr/local/etc/ddclient.conf (для безопасности, т.к. там пароли)

Отредактируем настройки

# vi /usr/local/etc/ddclient.conf

# Эти строчки сразу закоментируем, чтобы не сыпался лишний спам
#mail=root # mail all msgs to root
#mail-failure=root # mail failed update msgs to root

# включим метод определения реального (белого) ip-адреса
use=web

login=login # логин к dyndns
password=password # пароль к dyndns

server=members.dyndns.org, \
protocol=dyndns2 \
shestoi.dyndns.org # Обращу внимание на эту строчку. Здесь мы прописываем тот адрес который соответствует нашему серверу. Дело в том, что зарегистрировав аккаунт на https://www.dyndns.com мы можем создавать на нем несколько адресов и раздавать их нужным серверам.

Добавляем строчку для автозапуска при старте сервера

# echo ‘ddclient_enable=”YES”‘ >> /etc/rc.conf

Запускаем клиент без перезагрузки сервера: Код:
# /usr/local/sbin/ddclient start

Ссылки по теме:

  1. http://ihtiandr.info/unix/1-unix/70-dynamic-dns-install-freebsd-how-to.html
  2. http://linuxopen.ru/2007/11/14/dyndns-ili-staticheskijj-sajjt-na.html

Когда ты в армии (часть 7)

Эпилог

Ну, вот и всё, армейский путь окончен

Передо мною тысячи дорог…

(Из собственных стихов)

Вот и кончился один год моей службы. Не скажу, что это был самый плохой год в моей жизни. Были и печали и радости, но в целом я не жалею, что попал сюда, а уж тем более не жалею, что пошёл служить в армию. Как ни парадоксально, но служба дала мне толчок к карьерному росту в моей любимой области – информационных технологиях (но, как и почему это произошло я рассказывать, по определенным причинам, не буду). Еще раз напомню, что все события, описанные мною – это плод моей фантазии. Не стоит искать реальных подтверждений.

Когда ты в армии (часть 6)

Шлюхи

Шлюхи в армии дело привычное. Я бы даже сказал обыденное. Другое дело, что рассчитывать на встречу с ними могут не все. Для этого надо отслужить примерно год и заработать уважение сослуживцев в первую очередь своих «дедушек».

За людей шлюх не считают. Их продают, перекупают, меняют, выигрывают в карты. Обращаются с ними хуже, чем с собаками. Попасть в дивизию для них не составляло особого труда, а вот вырваться… Рассказывали, что одна девчонка ходившая по рукам больше месяца не выдержала и с криком «как вы меня все достали» ударила себя по голове гантелей, а потом пыталась выбросится из окна. К счастью ее спасли и только после этого отпустили. Вообще же те проститутки, которые побывали в дивизии уже никогда в жизни не подойдут к людям в зеленом камуфляже.

В дивизию проститутки попадали по разному. Один из способов – привезти с собой на машине «со службы», т.е. с очередного выезда в Москву на охрану порядка. Так однажды поступили разведчики. Купили девку у «мамки» одели в бушлат, на голову ушанку и запихнули в грузовик. Машины со «службы» приезжают в основном за полночь, так что в темноте она спокойно дошла до казарм в середине строя.

Но все же основной способ попасть в дивизию был через забор. Покупали шлюху, приносили к забору одежду, переодевали ее и под покровом сумерек отводили в роту. Так поступил и один из наших сержантов. До дома сержанту оставалось меньше чем мне. Зачем ему понадобилась проститутка сказать трудно. Думаю, он просто хотел заработать на ее перепродаже.

Девушке было лет 17-18. Судя по всему «работать» она начала недавно и «мамка» не очень ценила её поэтому легко согласилась продать её солдатам. В начале ее спрятали в ПМП (пункт медицинской помощи) который располагался у нас в роте. За вечер она обслужила весь сержантский состав. После отбоя ее переправили в столярку, где заперли до утра.

Весть о том, что в «учебке» завелась шлюха моментально облетела дивизию. На следующий день после завтрака стали подтягиваться первые желающие, пытающиеся всеми правдами и неправдами добиться с ней встречи. Но заштатник охранявший её был бывалым малым и разрешал лишь посмотреть на неё потенциальным покупателям.

Перед ужином сержант разрешил начать «общаться» с девушкой тем, кто ему что-то заплатил. За час через эту девушку прошло человек десять.

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

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

Помню, как она спрашивала вопросительно-доверительно смотря в глаза — когда ее отведут обратно к забору. Она думала, что уже всё, а это было только самое начало.

Граната

Дело было в последний день моего пребывания в части. Вечером я должен был уехать домой. Но расслабиться не получалось. Шёл третий заключительный день учебно-методического сбора с командирами ротного звена. В дивизию съехались 95% командиров рот внутренних войск со всей России.

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

Нас (меня и второго дембеля, с которым мы вместе увольнялись) поставили на рубеж, где отрабатывалось метание учебных гранат из различных положений. Занятия проводил полковник, а солдатами рулил сержант. Сержанту мы сразу заявили, чтобы он ставил нас подальше от полковника и вообще, чтобы нас это не сильно все напрягало. Что он и сделал – меня он поставил вторым номером на метание гранат из БРДМ (это была самая дальняя позиция), а другой дембель, сидя рядом с тем же БРДМ должен был выдавать запалы к гранатам.

Подходит первая группа ротных офицеров численностью человек 50 (всего было около 10 таких групп). Мы занимаем свои позиции. В подсумках у нас по две учебных гранаты. Звучит команда начать гранатометание. Мой первый номер (молодой дух, отслуживший пару месяцев) бежит к БРДМ неуклюже забирается в люк, достает гранату, выдергивает кольцо, бросает ее в сторону мишени, сам лезет обратно в люк и захлопывает за собой крышку. В это время второй дембель считает «один, два, три, взрыв». Всё, после этого солдат открывает люк, бежит за гранатой и возвращается в строй. В принципе ничего сложного. За исключением того, что был ноябрь, и температура стояла ниже 30 градусов. А гранату можно было кидать только голой рукой. В общем, побегав, так четыре раза этот дух стал канючить, что это трудно, он замерз и вообще он устал. Мне было как-то по-фигу на его скуления, но тут меня осенила мысль – «А дай-ка я сам попробую кинуть эту гранату! А то ведь боевую я так и не кидал, так хоть учебную покидаю». Гениальная идея, сказать нечего. Меняюсь с духом местами и по следующей команде уже бегу я. Оговорюсь сразу, что до этого я не тренировался в метании гранат и уж тем более из БРДМ.

Итак, картина маслом. Я забираюсь в люк БРДМ, снимаю рукавицу, достаю гранату и вот тут я понимаю, что мои пальцы на таком морозе, да еще и от соприкосновения с металлом просто скрючились и начинают деревенеть. Тем не менее, я размахиваюсь и по окружности веду руку в сторону броска, и вот здесь случилось непредвиденное – граната срывается раньше, чем нужно. И вместо того чтобы лететь в сторону мишени она полетела вертикально вверх. Краем глаза я замечаю, как у стоявшего рядом с БРДМ дембеля начинают округляться глаза. Мы оба медленно, как в замедленной съемке, поднимаем головы и следим за полетом гранаты вверх. Как известно со школы предмет, брошенный вверх, обязательно падает обратно вниз, и я это отчетливо помнил. В это мгновение меня посетило две мысли:

«Ну, всё, домой сегодня я не уеду»

«Сейчас должны замелькать мгновения из всей жизни»

В этот момент граната начала свое падение обратно и судя по всему прямо на меня. Чудом, уклонившись от ее попадания (а весит она порядка 600 грамм) я плюхаюсь в люк, и захлопываю крышку. Причем эта крышка довольно больно бьет меня по каске. Снаружи я слышу крик «взрыв». Всё, можно вылезать. Подбегая к своем месту я услышал, как один из ротных командиров сказал другому – «ты смотри как все натурально, не показуха какая-нибудь».

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

Когда ты в армии (часть 5)

Рексы

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

Рексов не любили. Очень не любили. Во-первых, они ходили в патрули и ловили тех, кто ходит по территории дивизии без увольнительных. Во-вторых, и это более существенно, они вымогали деньги у солдат. Делалось это очень просто. В дивизии было одно главное КПП «Северное» или по-простому «северА» (именно так, с ударением на последнюю букву). На этом КПП происходила встреча приехавших в часть родителей и сыновей. Когда солдат шел на встречу с приехавшими, то на КПП его останавливали Рексы и начинали придираться к форме одежды. Причем придирки были вплоть до пустяков (сапоги не блестят, дырочка в форме и т.д.). И предлагали либо идти в комендатуру, либо за небольшую плату все решить. Естественно, что солдат к которому кто-то приехал, был готов взять у родственников деньги и отдать лишь бы встретиться с теми кого он не видел полгода, а то и больше. Тем более что увольнительная давалась обычно лишь на два часа.

Если же солдату удавалось пройти на территорию, где стояли столики и скамейки для встреч, минуя патруль, то уже на этой территории ходили другие Рексы, которые подходили не особо стесняясь, и отозвав бойца, начинали давить на него с тем же умыслом – выбить деньги. Иногда они брали едой привезенной родителями, но в основном предпочитали деньги.

По моим скромным подсчетам за выходной день пара Рексов на территории КПП могла насобирать до 2-3 тыс. руб. Еще раз повторю, это по самым скромным подсчетам и только за один день.

Рексам отслужившим год и более, жилось довольно вольготно. У них были деньги, еда, не было проблем с проводом женщин на территорию дивизии. Молодые Рексы «метались» на старших, добывали эти самые деньги, еду и т.д.

Ходит легенда, что один старшина из Рексов уехал домой на новенькой Волге и с 200 тыс. рублей наличных денег.

Черняга

Было это в ноябре 2004 года. Погодка тогда нас не баловала. Постоянно шел снег, дул пронизывающий северный ветер и было холодно. Холодно настолько, что я по неволе вспоминал Урал, бескрайние родные степи по которым гуляет такой же вот бесшабашный, дикий ветер. Однако на душе у меня было тепло. Тепло потому что до дома оставалось ТРИ дня.

О, благодарный читатель, читающий сейчас эти строчки. А знаешь ли ты, что такое «Три дня до дома»? Нет, ты не знаешь, если не служил в нашей армии. Ты уже вне закона. Уж «Вовка Путин подписал указ об увольнении в запас», а ты еще здесь. Здесь среди шакалов, духов, кусков, кэпов и прочих. И тебе на них – ПО ХУЙ! Но ты делаешь вид, что все еще в армии, хотя мыслями ты далеко отсюда. И они тоже знают, что тебе на них ПО ХУЙ, но делают вид, что верят. И нужно дойти, прошмыгнуть по этой тончайшей грани между армией и домом, чтобы не свалиться и не загреметь в «дисбат» или еще хуже – не начать лизать зад начальникам ради спокойного возвращения домой. Эти дни ты ходишь, засунув руки в карманы, опустив ремень ниже пупка, и валяешься в сапогах на постели, ожидая времени обеда или ужина. Вспоминаешь всё, что было интересного за службу. Обмениваешься с такими же дембелями планами на будущую жизнь. Ибо только дембель, может понять другого дембеля.

И вот когда до дома оставались эти долгожданные три дня. Меня к себе вызвал ротный. Мой ротный не был чем-то особенным на фоне нашей армии. Он много пил, курил, но в тоже время его физической форме мог позавидовать любой спортсмен. Рост его был под два метра. Плотно сложенный, крепкий малый, одним ударом своего пудового кулака могущий уложить любого в роте, в батальоне, да и во всём полку не было ему равных. Его уважали и боялись. Уважали за то, что по сравнению с соседними ротами у нас было относительно сносно жить, а боялись потому, что он без разговоров мог сломать нос любому сержанту за не выполнение задач, пусть даже тому оставалось «мало до дома». И вот он вызвал меня…В канцелярии сидел сам ротный и пришедший к нему друг. На столе стояла бутылка дешевой водки и два стаканчика. Ротный взглянул на меня и попросил, да именно попросил сходить в столовую за буханкой черного хлеба.Как бы Вам дорогой читатель объяснить, что такое просьба командира. Это не приказ, нет. Это хуже. Это выражение уважения и доверия к тебе. Почему хуже? Да потому, что приказ тебе отдает начальник, а просит – человек. На приказ можно ЗАБИТЬ, найти тысячу причин, почему его нельзя выполнить, но просьба… Просьба это другое. Ты не можешь сказать «нет», ты внутренне понимаешь — «надо». Ну что ж – надо так надо.Как назло в эти три дня в дивизии царили драконовские меры порядка. Дивизия наша и так была «шизовая», т.е. постоянно была какая-то «шиза». То генерал приедет, то телевидение припрется, то еще какая-нибудь гадость. В общем, выйти из казармы просто так без офицера было нельзя. Тебя мог задержать любой патруль, коих было в достатке и отводил он тебя не обратно в роту, а в комендатуру, откуда мог забрать только твой ротный или комбат. Что и говорить, попасться в моем положении патрулю было никак нельзя. И я пошёл.

Каким-то неведомым чудом мне удалось прошмыгнуть к зданию столовой, не будучи остановленным. Но, что было делать дальше? Своих «земанов» в столовой у меня не было, меня вообще там никто не знал. Правда в роте ребята узнавшие о просьбе командира посочувствовали мне и посоветовали искать ККК работавшего хлеборезом. Подойдя к входу я увидел прапора сидевшего у двери и решив, что терять мне уже нечего направился прямо к нему и задал вопрос где найти хлебореза. Его ответ меня просто убил. Оказалось, что ККК на днях дембельнулся. Ну, делать нечего. Сделав морду кирпичём и спокойно пройдя мимо прапора я направился в зал, где готовили пищу. Подойдя к окну выдачи хлеба, я позвал хлебореза и объяснил, что мне надо. Он на отрез отказался давать хлеб, сославшись на то, что в столовой сейчас ходит какой-то их начальник, который такие вещи не прощает. И всё же после пятнадцати минутных уговоров он сдался и я, засунув хлеб за пазуху, отправился в роту.

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

Когда ты в армии (часть 4)

«Служба»

На «службу» мы мечтали попасть с первых месяцев пребывания в части. «Службой» назывался выезд в Москву на поддержание правопорядка. Варианты были разные. К примеру, после взрыва между станциями "Автозаводская" и "Павелецкая" вагоны стали проверять солдаты из нашей дивизии. Их задачей был поиск «ничейных» сумок и других вещей. Другим вариантом был выезд на большие мероприятия (концерты, футбол, праздники), где солдаты стояли в отцеплении или патрулировали территорию.

Почему же мы хотели попасть на «службу»? Во-первых, многие никогда не видели Москву, во-вторых, это была возможность вздохнуть чуть свободней, посмотреть на девушек, дорогие машины, гражданскую жизнь одним словом. В-третьих, это была реальная возможность добыть деньги или же просто поесть чего-то сладкого (ох как хочется в армии сладкого). Я скажу тебе, дорогой читатель этих строк, что народ у нас очень добрый и отзывчивый. И я в этом убеждался не раз на своем опыте и опыте своих друзей.

Помню свой первый выезд на «службу». Мы стояли вдвоем с другим солдатом на платформе станции метро. К нам подошел мужичок лет 45 и тихонько, чтобы никто не видел, сунул в руку солдату 10 рублей мелочью, сказав, что они вам пригодятся. И это не было чем-то редким и необычным. Сумма в данном случае значения не имела, т.к. человек дал деньги от души. В другом случае, какой-то мужик угостил парней из соседнего взвода обедом (привел их в кафе и оплатил всё, что они заказывали). Счет был на пару тысяч рублей. Плюс к этому он купил им несколько блоков дорогих сигарет (Marlboro, Camel).

И меня угощали, но скромнее, хотя здесь душу греет сам факт. Будучи на службе я пошёл купить в ларек шоколадку. Там стояла группа парней. Отстояв очередь, я купил шоколадку, а парень стоявший рядом спросил – «Служивый, а чё так скромно? Может, чего еще хочешь?». Я помялся и сказал, что водички какой-нибудь бы купить, но денег уже нет. «Нет проблем» сказал парень и купил мне большую бутылку пепси. «Может еще, чего хочешь?», спросил парень. Но я, поблагодарив его, отказался и поспешил спуститься обратно в метро на пост.

Но выше описанные случаи — это скорее удача. Обычно же деньги приходилось добывать самому. Делалось это банальным образом – попрошайничеством. Подходишь к человеку и спрашиваешь «нет ли у вас лишней мелочи?». Сейчас со стороны это может показаться низким, недостойным и бог еще знает чем. Но в тот момент. От этой мелочи зависело многое. В первую очередь на неё можно было купить конверты с марками, которые доходили в четыре раза быстрее до адресата, чем обычные солдатские письма и отправить письмо Маме, любимой девушке, друзьям. Можно было позвонить домой, купив телефонную карточку и услышать голоса родных и близких. Или купить самую дешевую шоколадку, о которой так мечтаешь в первые месяцы службы.

Попрошайничество было довольно заметным явлением, о нём частенько говорили полковники на утренних разводах. Но сама система порой толкала на это солдат. Дело в том, что нас привозили в Москву примерно в 12 часов, а обратно привозили 1-2 ночи (по приезду нас кормили ужином). За это время никакого обеспечения едой или водой не было. Давалось время «на обед» но как обедать, где обедать, не говорилось.

Я ездил на «службу» три раза и в двух случаях было именно так. Обычно на таких выездах «деды» сами не попрошайничают, это делают молодые духи и отдают им большую часть собранных денег. Бывали и другие случаи, например, однажды дембель, которому оставалось совсем немного до дома, хорошо выпив, отобрал гитару у парня в метро. Парень сообщил в милицию и дембель поехал уже не домой, а в дисбат.

Спэшелы

Где мы – там победа

Отряд специального назначения «Русь» базировался на территории дивизии. Это была отдельная неприкасаемая каста солдат, из которых делали боевые машины смерти. Обычно их называли спецназовцами, спэшелами (от англ. Special) или ГСНщиками (группа специального назначения). Мы уважали их и ненавидели одновременно. Уважали за то, что они занимались в армии действительно армейской подготовкой – постоянно бегали, отрабатывали боевые приемы, ездили на стрельбы и т.д. У них на вооружении были новейшие образцы оружия, о которых я лишь читал. Чтобы задействовать их на какие-нибудь общие хозработы не могло идти и речи. Из всей дивизии они был самой подготовленной её частью. А ненавидели мы их за то, что, пользуясь своим особенным статусом они наглели и чувствовали себя безнаказанными.

Есть в армии такой неписанный закон – одно подразделение никогда не пропустит через себя другое, т.е. если идет рота солдат и на перекрестке с боку выходит вторая рота, то этой роте придется ждать пока не пройдет вся первая рота. Соблюдалось это строго, это было своего рода дело чести подразделения. Доходило до драк с кровью и выбиванием зубов. Но, если сквозь роту хотела пройти группа спецназа, то даже самые отчаянные сержанты предпочитали расступиться и пропустить. Ибо в противном случае спэшелы без разговоров начинали драться, а драться они умели. И не дай бог, им было дать отпор (сделать это было можно т.к. обычно их было не много, и задавить количеством не составило бы труда). В этом случае считалось, что задета уже честь спецназа, а это уже означало, что за своих товарищей подымится вся группа, если даже не отряд. И горе той роте, которая позволила себе дерзость.

Спэшелы ходили борзо, ничего не боясь. Им было плевать на обычные патрули, их старались не трогать даже офицеры и «Рэксы». Смотреть прямо в глаза спэшелу считалось оскорблением, они этого не любили. Не дай Бог в одиночку пройти мимо их казарм – могли затащить внутрь и заставить делать самую грязную работу. У самих спешэлов была та же дедовщина, что и в наших полках, «вороны метались на дедов», духи делали грязную работу и т.д. Серьезным отличием в их подразделениях от наших — было отсутствие воровства. Это строго пресекалось.

Рассказывают хрестоматийный случай, как однажды офицер при умывании снял с пальца обручальное кольцо, положил на раковину и забыл надеть обратно. Спохватившись через несколько дней он нашел его на том же самом месте. То же самое было и со случайно оброненными ценными вещами или деньгами. Их не трогали.

У спэшелов былая своя «иерархия крутости». К примеру, за право носить берцы, нужно было сдать определенный норматив, за право носить шеврон спецназа, нужно было сдать еще более жесткий норматив, за право носить стальной жетон еще более жесткий норматив и т.д. Особняком стояли «краповики», т.е. те, кто сдал, на право носить краповый берет. Эта была вершина крутости. Таких было немного они пользовались почетом и уважением. Сам краповый берет, считался своего рода святыней. Дотронуться до него имел право только владелец. Прикосновение к берету другого человека считалось оскорблением чести владельца. Рассказывали, что скучавший «краповик» мог ради прикола закинуть свой берет в комнату, где сидели молодые спэшелы, и тот в кого он попадал, подвергался определенным наказаниям – ведь он как бы дотронулся до святыни, до крапового берета.

Во времена первой чеченской кампании спэшелов весьма оригинально готовили к боевым действиям в городе. К примеру, группе спецназа ставилась задача — «захватить казарму 6-ой роты 4-го полка и удерживать 30 минут». Естественно, что никто эту самую шестую роту не предупреждал. И вот представьте себе ситуацию – стоит у окна шестой роты солдатик, пишет письмо, и вдруг взглянув в окно, видит, как к казарме в полной боевой выкладке бежит спецназ. «Пиздец, сейчас будут захватывать» мелькает в голове у солдата. В следующую секунду дверь казармы распахивается от удара ногой, дневальный не успев даже вскрикнуть, нейтрализуется прикладом. В следующее мгновение ударная группа захватывает канцелярию роты, где, не церемонясь, кладет лицом вниз всех офицеров. Остальные спецназовцы занимают круговую оборону возле окон. Всех солдат роты сгоняют в одно место и связывают. Продержав роту полчаса в захваченном состоянии, группа спецназа снимается и так же быстро уходит в свое расположение.

Иногда этот сценарий изменяли на другой – к примеру, ставилась задача «захватить замполита 4 роты, 5 полка». Операция считалась выполненной, если группа доставляла замполита в качестве пленного в свое расположение. Рассказывали, что бывали приказы на захват и удержание не только рот, но даже штаба полка. Естественно такие «захваты» не доставляли радости обычным офицерам и солдатам, поэтому их запретили и в мою службу они стали уже легендами.

Может возникнуть вопрос – а почему вообще возможны были такие случаи? И почему спецназовцев не могут «поставить на место»? Для ответа на данный вопрос надо знать и понимать специфику нашей армии. Спецподразделения всегда были, и будут оставаться в армии высшей кастой. Ибо от их действий зачастую зависит успех сложнейших операции. Силами небольшой группы порой делалось то на, что у целого полка уходили недели. Перечислять можно бесконечно.

По приезду нового пополнения в часть, первыми ВСЕГДА выбирают представители спецназа и уже потом все остальные. Они стараются забрать к себе самых сильных и выносливых парней. Отбор в спецназ жесткий. Из 300 человек нашего пополнения спецназовец отобрал себе только ОДНОГО человека. Многие кто желал попасть в спецназ и попадал туда, вскоре сами уходили оттуда, не выдержав темпа и нагрузки. Других отчисляли командиры.

Мне приходилось пересекаться со спецназовцами, когда лежал в медсанбате. Впечатление не из приятных. С теми из них кто отслужил больше года, уже трудно было найти общий язык, т.к. им буквально внушали, что они по определению лучше, чем остальные солдаты. Даже те спешэлы, что были моего призыва, никогда не убирали за собой посуду, не мыли полы и т.д. Когда я спросил одного из них – «почему он не убирает за собой посуду в столовой?» — он ответил, что если сделает это, то остальные спэшелы его жестоко изобьют, т.к. он «высшая каста». Этот парнишка был нормальным малым, когда он объяснял, почему так поступает, он смущался. Было видно, что ему неудобно говорить об этом.

Когда ты в армии (часть 3)

Шакалы

Этим неблагозвучным словом в армии зовут офицеров. Для меня офицер и шакал были вещами разными. Всё, что говорилось о чести и достоинстве офицера, как правило, мало совпадало с действительностью. Ярким примером этого был один ротный командир, который воровал, не особо стесняясь. Например, нашу новую форму, которую должны были выдать при выпуске из учебки. Точнее сказать её продавали сержанты, а большую часть денег отдавали ему.

Однажды он переезжал в новую квартиру, поэтому часть вещей привез в роту, чтобы позже отсюда забрать, когда он через несколько дней нашел машину и велел солдатам загрузить в неё вещи, то заодно приказал (именно приказал) бойцу снять в канцелярии телевизор и погрузить его так же в машину. А телевизор был куплен на общие деньги, которые собрали солдаты. Это только вершина айсберга, которую я мог наблюдать. Ротный был примером той части офицерского состава, которой наплевать на жизнь солдата, ему по-фигу в чём он ходит, что ест. У него на первом месте своя жизнь и точка.

Противоположным примером был лейтенант DDD. Это был здоровый мужик, глядя на которого чувствовалось, что он сам по себе стоит взвода, а то и роты. Ему было наплевать на выговоры начальства за мелкие нарушения, которые он не считал существенными. Главной его чертой было отцовское отношение к солдатам. Он мог долго беседовать с ними на задушевные темы, объясняя как поставить себя в новом коллективе, как можно выполнить одну и туже задачу разными путями и т.д. Тренировал он их с умом, давая нагрузки вперемешку с отдыхом. В тоже время он был суров и не любил неуставных отношений. Однажды когда в его взводе один солдат сломал другому нос. Он поднял всех ночью и в бронежилетах по грязи взвод бегал с койками до тира и обратно. А это несколько километров только в одну сторону.

Взводному командиру – лейтенанту SSS было далеко до DDD. Все разговоры взводного сводились к темам, — «какая машина круче» и «как я трахал одну телку». Не скажу, что взводный был совсем никудышным, он был хорошо подготовлен физически, неплохо стрелял, но уважение он не вызывал. Обычный шакал коих было много в дивизии.

Рукоприкладство со стороны офицеров было обычным делом. Это позволяли себе большинство офицеров вплоть до подполковников, кто-то больше кто-то меньше. Комбат однажды ударом кулака в лоб свалил дневального с тумбочки за то, что тот сказал — «Товарищ комбат, докладываю…». Один ротный как-то сломал нос сержанту за какой-то проступок. Командир соседней роты вообще был зверюгой, сержантам от него доставалось очень часто. Я как-то видел, как взяв одного сержанта за шею, он бил его головой о спинку кровати.

Дедовщина

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

А вот сами сержанты, отслужившие полгода (таких называли воронами), уже во всю «метались» на своих дедов исполняя их не мудреные каприза типа – «сигарета пошла», «майонезик к обеду замути», «парчуги сделай через час» и т.д.

Собственно и до армии мне был понятен механизм такого поведения, но здесь я убедился в этом лично. Держалось всё это только по одной причине – никто не хотел разрывать порочный круг (я имею в виду самих солдат и сержантов). Проще говоря, в армии ты попадаешь в отлаженный механизм и видишь, что вокруг все так и живут и тогда многие без раздумий включаются в эту систему. Логика здесь не хитрая – полгода я «пометаюсь» на дедушку, зато потом на меня будут «напрягаться». Естественно когда у такого солдата увольняется «дедушка» и приходят уже «его» духи, он начинает их эксплуатировать так же как до этого «напрягали» его или даже еще хуже. Круг замкнулся.

Почему же круг не разрывается? Да потому что солдату, который на кого-то «метался» естественно становиться обидно – «А почему я метался, а на меня не будут?» и всё повторяется.

Описанное выше я бы называл – вертикальной дедовщиной. Есть еще горизонтальная дедовщина – это когда заставляют работать или издеваются над парнями из своего же призыва. По мне так это не лучше, если даже не хуже. Происходит это обычно по одному сценарию – выбирается самый слабый или туго соображающий солдат, который не в силах дать сдачу. И начинается. В нашем отделении было два таких солдата и почему-то остальные считали своим долгом дать им затрещину перед отбоем, «прокачать», или просто словесно поиздеваться. Причины такого поведения я видел в том, что в нашем взводе было много парней с устоявшимися «ништяково-пацанскими» понятиями. Для них унизить слабого было нормальным делом, остальные, видя это, тоже начинали им подражать. Сказывалось общая усталость и раздражение от каждодневных изнуряющих работ без выходных.

К своей чести могу сказать, что за всю службу я ударил духа лишь один раз перед самым дембелем и то скорее шутя (щелбаном в лоб) за то, что он сидел и подшивался на моей постели, что само по себе являлось нарушением порядка и проявлением неуважения. Будь на моем месте другой, то летать бы духу по кубрику очень долго. Собственно он даже не обижался, зная, что абсолютно не прав и по закону и по совести.

Вообще же «слабые» ребята, с моего взвода поняв, что я не собираюсь их унижать и даже стараюсь помочь морально, стали тянуться ко мне. За право быть со мной в карауле чуть ли не дрались. Ибо я относился к ним как к равным.

Помню одного «слабого» солдата, который любил работать рядом со мной. Глядя на него, я отчетливо представлял его в окружении внуков, которым он читает книгу. Он не вписывался в армейский быт. Он не мог быть злым, он святился внутренней добротой. Таким как он лучше было не попадать в армию, ибо их начинают «грызть». Вот и он не выдержав однажды «грызни» перерезал себе вены (причем за два часа до этого я работал вместе с ним, беседовал на разные темы и он не выглядел подавленно и обиженно). К счастью он остался жив. Как потом он мне объяснил – «на меня просто накатила безысходность, надоело терпеть». А ведь его даже не били, человек просто морально не выдержал армейского быта.

Когда ты в армии (часть 2)

Юбилей

Переломаны буреломами…

Меня угораздило попасть в самую шизовую дивизию внутренних войск, да ещё и в год её 80-летнего юбилея. Плюс к этому у учебного полка, где я служил, так же был юбилей – 50 лет. Жуткое сочетание. Особой остроты придавало то, что ожидался приезд президента России — Путина.

Чтобы читатель проникся атмосферой, царившей в дивизии, я расскажу о некоторых моментах.

С первых месяцев службы мы включились в подготовку дивизии к юбилею. В основном это заключалось в уборке обширной территории тира от старых деревьев, пней, строительного мусора и т.д. Чем-то это напоминало мне классический лесоповал. Одни пилили деревья, другие их оттаскивали, утопая в грязи по щиколотку, третьи складывали. И так изо дня в день. С весны темп работ усилился. Мы практически не вылезали с территории тира. Обычный день строился так – завтрак, работы до обеда, возвращение в роту, для того чтобы почистить сапоги и идем на обед, оттуда сразу обратно на работы до ужина. Усталость была жуткая, времени хватало лишь подшиться и слегка очистить одежду. Написать пару строк домой можно было только с утра в те 5-10 минут, что можно было выкроить перед уходом на работы. Дошло до того, что приходилось напрашиваться в наряды по столовой, где можно было выкроить уже часок и написать письма всем кому хотелось.

Погода для работы не имела значения. Будь-то это морозы под 40 градусов, дожди или палящее солнце.

С весны в дивизии появились гражданские строительные бригады. Разделены они были по национальному признаку – украинцы, белорусы, армяне и т.д. Они занимались ремонтом зданий (к примеру, гарнизонного дома офицеров), казарм, асфальтированием дорог и т.д. С асфальтированием было забавно, т.к. закатали хорошим асфальтом главные дороги, а те дороги по которым, срезая путь, всегда ходили роты так и остались утопать в грязи.

Деньги в этот юбилей вложены были не малые. И многие стремились урвать свой кусок пирога. Один бригадир строителей рассказывал, что за право здесь работать разбирались бандитские «крыши» в Москве.

За месяц до юбилея начались репетиции прохождения строем. Теперь прежде чем пойти на работы мы два часа усиленно маршировали. По возращении с работ, перед ужином, мы опять же маршировали.

Юбилей прошёл. Путин не приехал. Приехал министр внутренних дел Нургалиев. Всё прошло вполне сносно. И дивизия начала подготовку к новым юбилеям, визитам и т.д. Бесконечный круг шизы замкнулся.

Мафия

«Мафия бессмертна»
Из слов моего КО.

Мафию ненавидят практически все и все мечтают на неё попасть. Хотя нет, не все. Примерно десяти процентам не плохо живется и в дивизии. Это те, кто сидят в штабах, на кухнях и прочих теплых местах. Но для остальных мафия остается несбыточной мечтой.

Для тебя читатель я объясню мафия – это любая работа вне территории дивизии. Например, банальное строительство дач. Возможно, кто-то и спросит, что хорошего в том, чтобы с утра до вечера строить чью-то дачу? Объясняю – воля брат, ВОЛЯ! Да, пусть это не та свобода, до которой еще так далеко, но зато у тебя есть возможность посмотреть на людей без формы, вырваться из этого однообразного инкубатора.

Бывали случаи (и не такие уж редкие) когда бойца, еще даже не принявшего присягу, командир отправлял на мафию в Москву, а возвращался он за три дня до дембеля как раз чтобы успеть оформить документы на увольнение. Но это всё же исключения. А в основном на мафии работали от нескольких недель до нескольких месяцев. Пока не кончиться работа или пока не проштрафятся (в основном срезались по пьяни).

Мафия делилась на несколько уровней – ротная, батальонная, полковая и дивизионная. В зависимости от уровня проходило скрытие отсутствия солдат. Т.е. если солдата забирали что-то делать для командования дивизии, то его командиры спокойно говорили об этом любой полковой проверке. Ротный тоже мог на свой риск отправить бойца работать, но скрывать это ему было труднее, поэтому перед любой проверкой такие бойцы возвращались в роту, а сразу после проверки вновь уезжали.

Мафия не всегда такая сладкая как может показаться. Парнишка старшего призыва рассказывал, как попал на одну из мафий. Они что-то строили. Главным был один прапорщик. Утро у них начиналось с раннего подъема, а чтобы лучше вставалось он бил их палкой и пинал ногами. Потом было подобие ужина в виде недоваренных мокорон. На еду давалось минут пять не больше. Потом работа до вечера. Чтоб не было скучно прапор периодически «прокачивал» их, т.е. заставлял отжиматься до изнеможения, а потом сразу за работу. Вечером был ужин, такой же как и завтрак, а с утра всё начиналось по новому. Что и говорить солдаты мечтали попасть обратно в дивизию. Буквально молились на это.

Комбат XXX был предприимчивым мужиком. Он рассылал солдат на мафию как на обыденное дело. Доходило до того, что на утреннем разводе из положенных 100 человек стояло лишь 30 и им приходилось растягиваться, чтобы создать хотя бы видимость полной роты. Но комбата это не смущало. Бойцы работали на самых разнообразных точках, начиная от складов и заводов и заканчивая частными охранными предприятиями Москвы. Естественно, что всё это было с молчаливого попустительства командира полка, которому отстёгивалась доля. Правда потом комбат решил не делиться, и на мафии постоянно было лишь 5-10 человек. Их отсутствие было легче скрыть в случае внезапной проверки.

Обычная схема был такая: солдата сажали в машину с тонированными стеклами и вывозили из дивизии (машина комбата не проверялась). Далее солдата привозили на объект, где он будет работать, давали одежду, и он приступал. В день солдату на еду выдавалось 50 руб. на которые он сам решал, что купить. Примерные цены того года – лапша БП — 2.40 руб., небольшой пакетик майонеза – 7 руб., батон – 8 руб., дешевые пельмени 500 г. – 35 руб. В принципе денег вполне хватало на еду. Тем, кто курил, было чуть сложнее, т.к. приходилось выбирать между едой и куревом. Самым лучшим вариантом было, когда работать нужно было вдвоем, а деньги давались сразу на 10 дней, в этом случае можно было сэкономить и потратить часть денег на мелкие радости.

Вообще же мафия давала путёвку в жизнь многим, кто попадал на неё. Она давала возможность завязать нужные связи и зацепиться за место в Москве. Многие этим пользовались. Я видел человек пять, которые остались в Москве только потому, что работали там на мафии. Причем некоторые даже не уезжали домой после дембеля, они просто приходили на ту же работу уже официально.

Когда ты в армии (часть 1)

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

Когда ты в армии

Дембель – это не звание и не должность – это состояние души.

Пролог

Когда ты попадаешь в армию мир для тебя безвозвратно разделяется на две части – на ДО и ПОСЛЕ. А ты оказываешься между этими частями в начале узкой тропинки длиной в год или два. На тропинке, в конце которой тебя может ждать «дисбат», тюрьма, смерть или родной дом.

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

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

Дзержинка

В любом месте, в любое время, любую задачу.

Отдельная дивизия оперативного назначения ВВ МВД России, больше известная как дивизия им. Дзержинского, а в простонародье просто «дзержинка» или «ОДОН» была образцово-показательной дивизией высокой степени боеготовности. Означало это, что в случае ЧП в Москве личный состав дивизии мог выдвинуться на поддержание правопорядка в течение часа (в идеале конечно), а так же то, что сюда любило заезжать высокое начальство, телевидение, проводились различные мероприятия, что доставляло массу хлопот офицерам и ложилось тяжким бременем на солдат.

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

Весь год я прослужил в учебном полку. Сначала было обучение на сержанта, а потом меня зачислили в «заштат», т.е. я остался в составе роты и не попал под распределение в другой полк.

Пожалуй, будет не безынтересно рассказать, как я узнал о существовании этой дивизии.

Году эдак в 1997 в программе «Совершенно секретно» прошёл репортаж с кадрами издевательств над солдатами. Дембеля снимали, на камеру как они бьют солдат, куражатся, всячески издеваются. Кому кулаком в грудь, кому ногой в живот ну и т.д. А между сюжетами была эмблема, на которой гордо красовалось — «Дивизия им. Дзержинского». Отчетливо помню, как тогда я подумал – «Мда, в армию я хочу попасть, но только не в эту дивизию». Сюжет этот тогда наделал много шума, было серьезное разбирательство, завели дела.

Спустя пять лет, после окончания института мы ехали в гости в Брянскую область. По пути мы забрали дядьку из Балашихи. Когда мы проезжали, мимо длинного забора дядька обратил наше внимание – «А здесь располагается дивизия Дзержинского», в этот момент мы как раз проезжали мимо главного КПП дивизии.

А спустя еще полгода я лежал на койке в казарме четвертого полка этой самой дивизии. А сержант лежавший на соседней койке напомнил мне про сюжет в программе «Совершенно секретно» и сказал, что снимались те кадры в этой же казарме, но на пару этажей ниже. И тогда я вспомнил, как не хотел сюда попадать, как проезжал мимо дивизии, а теперь я здесь. От судьбы не уйдешь, подумал я. Когда-нибудь я напишу об этом рассказ.

«Шиза»

Шизой мы называли любые проверки, комиссии, смотры и т.д. В общем, всё то, что вносило сумятицу в нашу и без того не сладкую жизнь.

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

Чем страшна «шиза»? Да тем, что никто не знает, к чему докопается начальство, поэтому чиститься, моется, красится и стрижется все, на что падает взгляд.

Когда я лежал в медсанбате пронеслась весть, что будет шиза. Проверке подвергнется хозинвентарь. Для половых тряпок нам был выдан материал, который скорее подходил для штор, на нем трафаретом было выведены названия «для пола», «для туалета» и т.д. Но самый прикол заключался в том, что эти тряпки мы обшивали по периметру рюшечками. Если б не надписи, то половые тряпки можно было принять за кухонные салфетки. Настолько хорошо они смотрелись. Стоит ли говорить, что этим тряпкам так, и не суждено было коснуться пола. После «шизы» эти тряпки и новенькие ведра убрали подальше, а мы так и продолжали мыть полы рваными тряпками и пользоваться треснувшими ведрами.

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

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

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

Еще случай — От главного КПП дивизия шла центральная дорога, по которой проезжало всё начальство. Весной рядом с дорогой поработал бульдозер естественно, что гусеницами он разворотил верхний слой земли. Не порядок – сказало начальство – Исправить. Решение в духе армии – с дальнего края лесопарка мы начали лопатками срезать дёрн (верхний слой земли вместе с травой), складывать его на носилки и таскать к дороге, где укладывали поверх земли и утрамбовывали. Этим мы занимались недели три. Как раз начались затяжные дожди. Не беда – комплект ОЗК (прорезиненный плащ и штаны) и вперед на выполнение задачи. Носилки у нас были воплощением армейской инженерной мысли – ящик от снарядов с прибитыми палками.

Стихи

Моей жене

Есть девушка на свете, которую люблю
Душа её на веки влилась в мою душу
Когда я просыпаюсь и на нее смотрю
То сердце замирает и снова жить хочу

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

(8 сентября 2008 г.)

*****

Оксане

Прости мне мелкие обиды
Они пройдут, пройдут года
Зато любовь, что нас скрепила
Нас не оставит никогда

Тебя вернул я из далёка
Пройдя сквозь страх и пустоту
Твой образ чистый и глубокий
Теперь со мною на Яву

(август 2008 г.)

*****

В груди тоска, на сердце боль от раны
На горизонте непроглядный мрак
Когда же время мне затянет раны
Чтоб жить спокойно смог опять

А может быть судьба моя такая
Всю жизнь влюбляться и терять любовь
Всю жизнь за миражами гнаться
Не замечая счастье пред собой

И, наконец, найти, влюбиться
Чтоб больше никогда не потерять
И с упоеньем счастьем насладиться
Остаток дней с любимой проведя

*****

«Пиджак»

«Пиджак» — прозвище даваемое тем кто служит в армии
после института 1 год.

Взвод получил приказ вгрызаться в землю
И ни на шаг назад не отступать
То было равносильно смерти
Но разве можно смерти избежать?

Коль суждено погибнуть мне сегодня
Я умереть с достоинством хочу
Чтоб знали там моя родня и дети
Что я погиб за родину свою

А умирать ребята в правду страшно
В свои неполных 23 годка
Я институт недавно лишь окончил
И жить охота, прям как ни когда

Диплом, защита, выпускной экзамен
Спиртное, водка, танцы до утра
И жизнь казалось только начиналась
Не повезло, и я попал сюда.

А здесь вокруг меня одни салаги
Им 18 стукнуло едва
Они и вовсе жизни не видали
А их на смерь туда же и меня

А духи лезли словно ошалели
А мы вгрызались крепче в высоту
Как будто нам роднее больше нету
Чем эти камни, что лежат вокруг

Атака духов снова захлебнулась
Но нам не выдержать еще одной
Нас пятеро всего осталось
А было, было боже мой…

Теперь от них осталась только память
И где-то тама на родной земле
Возникнут бугорки земли надгробной
Укор всем тем кто выжил в той войне

Всем уходить. Ребята я прикрою.
Вам незачем так рано умирать
Я в жизни повидал уже не мало
И вы сумейте столько увидать

А «духи» подходили ближе, ближе
Я слышал их гартанны голоса
«Урус сдавайся мы тебя не тронем
Лишь голову отрежем, все дела»

Осколками мне руки перебило
Не дотянуться не взвести курок
Патронов нет и лишь одна граната
Что я так до последнего берег

Ну вот и всё, мой смертный час приходит
Вся жизнь передо мною промелькнёт
Всё сделано что было в моих силах
И я зубами выдернул кольцо

А где-то в оренбургском крае
Мать вздрогнула и села на диван
В груди её от боли сжалось сердце
На век оставив незаживший шрам

(март 2005)

*****

Ну вот и все, армейский путь окончен
Передо мною тысячи дорог
Но мне хотелось только лишь с тобою
Гражданской жизни преступить порог

Хотел бы я чтобы всегда со мною
Была лишь ты, кто письма мне писал
Чьи строчки душу мне отогревали
Когда в морозы на посту стоял

Лишь только ты надежду мне дарила
Что вырвусь я из мрачной пелены
Когда не в моготу совсем мне было
Я вновь и вновь читал твои стихи

(январь 2005)

*****

Новый год на дворе наступает
А мне грустно, что я не с тобой
Что тебя не смогу я поздравить
И прижаться к тебе как к родной.

(декабрь 2004)

*****

Людмиле — прекраснейшей из прекрасных

Минули годы без остатка
И их не вернуть никогда
Но в сердце моем ты осталась
Твой образ со мной навсегда

Пока я жив я буду помнить
Свидания наши под луной
И поцелуев трепет томный
И растованья грусти боль

И наши встречи на скамейке
В центральном парке, где сейчас
Как мы когда-то беззаботно
Влюблено парочки сидят

И вот сейчас прошу прощенья
За все что было извини
Прости за боль, обиду, слёзы
За рану в сердце – ты прости

Как жаль, что тогда не успел я
О главном тебе рассказать
И с горечью этой утраты
Я буду по жизни шагать

(осень 2004)

*****

За, что люблю тебя — не знаю
За ум? За красоту?
Скорее нет, люблю тебя я
За чистую душу

За душу, что чиста как снег
Лежащий в январе
За душу, что мила так мне
Что право слова нет

(25 июня 2002)

*****

Одно лишь слово пророни
И я к тебе прейду
Один лишь взгляд мне подари
И в счастье я умру

Готов я быть с тобой всегда
И в горе и в беде
Чтоб только ты была одна
Со мной, всегда, везде

Хочу встречать с тобой рассвет
И ласковый закат
Хочу, чтоб ты всю жизнь была
Со мною счастлива

(20 июня 2002)

*****

Быть может, любишь ты другого
Я той любви разрушить не хочу
Я буду ждать, когда увижу снова
Твой добрый взгляд и девичью косу.

Я буду ждать сквозь бури и туманы
В осенний дождь и зимний снегопад
Когда прейдешь и мне залечишь раны
Что кровоточат в сердце у меня.

Ты любишь бары, дорогие лимузины,
Красивые наряды, жемчуга
Я это предложить тебе не в силах
Прими любовь в подарок от меня

Да! ту любовь, что ночью темной
Мне спать спокойно не дает
Да! Ту любовь, что в день холодный
Мне сердце опаляет, душу жжет

Любовь. Она свершает чудо
Любовь. Она творит добро
Не в силах я расстаться с мыслью
Что жить нам вместе суждено

Быть может, предлагаю я не первый
Любовь до гроба, шалошовый рай
И в ваших силах это все отвергнуть
Но не устану вновь и вновь писать

(18 июня 2002)

*****
Как я хочу к твоим губам прижаться
В твоих очах увидеть лунный свет
Чтоб никогда с тобою не растаться
Чтоб только вместе были мы на век

Чтоб вместе мы встречали горе
И вместе радовал успех
И только так хочу с тобою вместе
Прожить мне отведенный век

*****

Прости меня, застенчивость мою.
Не знаю, что со мною происходит,
И днем, и ночью Бога я молю
Забыть про все, но чувство не проходит.

Прости меня за нежность и Любовь,
Что с некоторых пор живут во мне бесправно
Прости, корю себя я вновь и вновь,
За то, что родилась она недавно.

Прости меня за то, что я молчу,
И каждой ночью мучаюсь в догадках,
Зачем Ты мне? Прости, что я хочу,
Чтоб Ты была моею без оглядки,

Прости меня за все, что было… есть,
Прости за боль, за шутки… И обманы!
Хоть пару строк стихов моих прочесть,
Когда-то сможешь Ты… Писать я не устану..

Прости, что от вопросов, как змея,
Я ускользал… Что раньше не открылся.
Прости, что слишком поздно понял я,
Что я давным-давно в Тебя влюбился

Таблица транслитерации

Один из вариантов преобразования русских букв в английские. Полезно для однообразного создания логинов для имен пользователей в AD и т.д.

а — a
б — b
в — v
г — g
д — d
е — e
ё — yo
ж — zh
з — z
и — i
й – y
к — k
л — l
м — m
н — n
о — o
п — p
р — r
с — s
т — t
ю — yu
ф — f
х — kh
ц — ts
ч — ch
ш — sh
щ — sch
ъ —
ы — y
ь —
э — e
ю — yu
я — ya

Чудеса случаются

Ура! Сегодня был разблокирван мой аккаунт на www.weblancer.net  Для меня это как чудо ибо я уже не надеялся вновь зайти в ставшим родным личный кабинет. Заблокирован аккаунт был исключительно из-за моей глупости и желания попробовать поднять рейтинг договорившись с другим человеком взаимно поставить положительные отзывы. Вобщем разок оступился и последовало суровое наказание. Что в принципе было абсолютно справедливо ибо нефиг было так делать.

Неприятней всего было даже не потерять аккаунт, а надпись которая высвечивалась при попытке войти на мою страничку — что-то вроде «аккаунт блокирован за предоставление лживой информации о стоимости проекта». На тот момент я как раз получил заказ на заполнение крупного каталога фототехники и целый месяц мне было как-то не до аккаунта. Но сейчас заказ выполнен и нужно искать новый. И решил я попытать счастье и отправил покаянное письмо через обратную связь. 

В письме попросил восстановить аккаунт т.к. я раскаился в глупом поступке, а в наказание предложил лишить меня всех отзывов, свести рейтинг к нулю, но всё же дать мне шанс продолжить пользоваться аккаунтом дальше. Упомянул, что отрицательных отзывов у меня не было, были только положительные.

Сильно на удачу я не рассчитывал ибо когда аккаунт заблокировали я спрашивал как можно его восстановить, но мне предложили лишь дать номер кошелька чтобы вывести деньги со счета и на этом всё. А тут произошло чудо! Я получил письмо от техподдержки с уведомлением, что мой аккаунт разблокирован. И что самое приятное — все отзывы и мой рейтинг остались на местах. Я даже не сразу поверил, что такое бывает. До этого прочитал несколько сообщений в разных блогах и форумах, что восстановить аккаунт на этом ресурсе нереально трудно.

Мораль этой истории — не стоит пробовать поднять себе рейтинг левыми путями. 

Администрации www.weblancer.net моя искреняя благодарность за оказанное доверие и шанс продолжить работу.

Кстати, может возникнуть вопрос — почему для меня было так важно восстановить аккаунт. Дело в том, что аккаунт был на мое настоящее имя и не хотелось чтобы до скончания веков там весела позорная надпись. Во-вторых зарегистрировать аккаунт повторно на этом ресурсе проблемно, там работает механизм который довольно эффективно вычесляет тех кто пытается зарегистрироваться после того как его первоначальный аккаунт был заблокирован. А в третьих по ряду моментов www.weblancer.net мне нравится больше чем аналогичные ресурсы, к примеру оформлением портфолио.

Реклама «Адмирала» скрытая и явная

Т.к. у меня дома нет телевизора, то приехав к родителям временами его смотрю. В анонсах первого канала замелькала реклама «Адмирала», причем я так понял чуть ли не в десяти сериях. Но забавней всего было смотреть программу «Моя родословная» с Елизаветой Боярской. В программе она искала корни своих предков и как бы ненавязчиво шло переплетение с судьбой Колчака и вставлялись фрагменты из фильма.  Сделано всё было на высоком профессиональном уровне. Но от такого проталкивания сего «шедевра» стало противно.

Точка в деле с точкой

Ура! В субботу, как и обещали, мне была доставлена точка доступа Trendnet TEW-638APB Настроил шифрование и всё заработало как по маслу. Теперь можно ходить с ноутом по всей квартире.
Вобщем всем рекомендую пользоваться услугами http://orsktrade.ru Пока это единственная фирма подобного рода в Орске которая может привезти товар приняв в качестве оплаты Webmoney. По крайней мере других я не знаю.

Сервис есть даже в Сбербанке

Решил попробовать вывести деньги заработанные на фрилансе на свою карточку Maestro от Сбербанка. Оказалось, что номер на карточке ничего не дает,. нужно знать номер лицевого счета. Документы дома не нашёл и решил отправить запрос через форму обратной связи на сайте Сбербанка. Написал поздно вечером, а на следующий день мне позвонили на сотовый и приятный женский голос объяснил, что на мою карточку вывести деньги с Webmoney нельзя, она не предназначена для этого, но можно завести для этих целей другую карточку.
Самое интересное это то, что я не писал своего номера телефона в запросе, а написл только номер карточки. Получается, что люди не поленились подняли мой договор, нашли номер и позвонили. Удивительно.

Орсктрейд — выход на новую ступень развития

Скопилось у меня немного электронных монет заработаннх честным трудом на ниве фриленса и решил я прикупить себе точку доступа TRENDnet TEW-638APB.  Выбор пал на уже проверенный орский интернет-магазин. Списался по аське с консультантом и спросил о возможности оплаты электронными деньгами. Первый ответ меня расстроил, оказалось, что подобный способ оплаты они не практикуют. Но спустя какое-то время мне написали, что готовы попробовать и выслали номер кошелька. Первая оплата — 30% от суммы заказа, остальная сумма после получения товара. Условия вполне нормальные. Думаю даже проплатить полную сумму сегодня-завтра как только переведу WMZ в WMR.
Вобщем я первый клиент магазина «Орск-трейд» расплатившийся с ними через webmoney. Надеюсь, что всё пройдет удачно. О результатах отпишусь позже.