Per aspera ad astra

admin

Для того чтобы просматривать статистику на своём сайте я решил поставить на сервер 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

Читать далее

Цель: подсоединить к локальной сети 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 не так уж сложна.

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

Для начала нужно рассказать для чего может понадобиться использование сервиса 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

Эпилог

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

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

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

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

Шлюхи

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

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

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

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

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

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

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

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

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

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

Граната

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

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

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

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

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

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

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

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

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

Фотографии из жизни
Исторический парк Аркаим Исторический парк Аркаим Исследуем яму День железнодорожника. 4 август 2012 года. Часть 2 День города Орска. Парк Железнодорожников. 25 августа 2012 года День Советского района города Орска. 8 июня 2013 года
Подписка