Блоги

Exim - retry time not reached for any host

Exim логотип

Почтовый сервер переехал в новый офис, где услуги предоставляет другой провайдер. Соответственно нужно было перенастроить сервер на новые IP-адреса. Проблемка еще усугублялась тем, что я был  в другом городе. Но, с "помощью лома и какой-то матери", новые IP-адреса присвоены, и можно подключиться по SSH-у.

После перенастройки почтовика и его рестарта, обнаружил в логах почтового сервера следующие записи:

Работы над ресурсом продолжаются

Хеллоу, ув. посетитель ресурса...

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

Ок, хватит излияний, и приступим к описи нововведений:

Скрипт отображения HTML-кода цветовой палитры

Думаю этот материал пригодится прежде всего web-мастерам. Но возможно еще кто-то найдет ему применение. Для начала - собственно скрипт:

NAT - реализация с помощью PF

Решил "пощупать" реализацию NAT с помощью PF. Ознакомившись с документацией, убедился, что все не так и сложно.

Итак, исходные данные:

  • офисная сеть 10.200.106.0/24;
  • интерфейс vlan106 - "смотрит" в офисную сеть;
  • интерфейс vlan684 - "смотрит" в Internet, default;
  • интерфейс vlan685 - "смотрит" в UA-IX, получает от вышестоящего маршрутизатора список сетей UA-IX.

Исходя из указанного построения сети, понятно, что НАТить необходимо на двух внешних интерфейсах одновременно (на vlan684 и vlan685 соответственно).

Итак, для начала отредактируем конфигурационный файл pf.conf под свои нужды. В моем случае конфигурация получилась следующая:

Back-resolv для блока IP-адресов

Пора заняться поддержкой бек-резолва для выделенного блока IP-адресов. Для начала, для зарегистрированного блока IP-адресов необходимо создать на DNS-сервере PTR-записи, чтобы IP-адрес мог отрезолвиться в имя. Напомню, RIPE выдал следующий блок адресов: 194.28.100.0/22.

У меня на сервере DNS работает под управлением BIND 9. Сервер работает на IP 194.28.100.100 (ns.valor.net.ua). Файлы зон располагаются в каталоге /var/named/zones. Именно в этом каталоге необходимо создать 4 файла зон (для каждой подсети). Пример отработаем на сети 194.28.100.0/24 (остальные - по аналогии).

Создаем файл зоны:

PHP - вывод случайного содержимого

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

Реализовать это можно несколькими способами. Один из самых простых:

  1. Создать на сервере текстовый файл data.txt
  2. Наполнить этот файл содержимым (каждый новый вариант - с новой строки)
  3. Добавить на страницу следующий php-код:
<?php
$phrases = "data.txt"; //файл содержимого
$z = file ($phrases);
$cz = count ($z) -1;
$r = rand (0, $cz);
print $z[$r];
?>

Для примера, на этой странице будет генерироваться три афоризма:


Афоризм 1: На честное слово и плюнуть приятнее!

Афоризм 2: Спасибо дуракам: в сравнении с ними многие считают себя умными.

Афоризм 3: Чаще всего в милицию попадают милиционеры.


Ничего сложного. Единственный ньюанс - необходимо, чтобы кодировка текстового файла совпадала с кодировкой веб-страницы.

 

BGP - как происходит выбор наилучшего маршрута

BGP всегда выбирает один из маршрутов - как наилучший. Когда маршрут выбран, BGP помещает его в свою таблицу маршрутизации, и передает его своим neighbor'ам. Для выбора наилучшего маршрута BGP использует следующие критерии:

1. Если путь, указанный в поле next-hop, недоступен, этот update убивается.

2. Лучшим считается путь с наибольшим значением weight;

3. Если weight путей одинаковы, то выбирается путь с наибольшим lpref;

4. Если weight и lpref одинаковы, то выбирается путь, который появился в таблице маршрутов BGP на данном роутере. (подразумевается, что это будет самый наикратчайший путь);

5. Если нет путей, которые "родились" на данном роутере, то выбирается путь с AS_path минимальной длины;

Добавлены переводы man-страниц

 

FreeBSDДобавлено значительное количество переводов на русский man-страниц. Рекомендую "пробежаться" по названиям, возможно что-то заинтересует. Сам обнаружил несколько полезных утилит, о которых не подозревал. Если есть чем поделиться - регистрируйтесь и добавляйте материал самостоятельно.

Просмотреть доступные переводы можно в разделе Русские man-ы

BGP - настраиваем Border Gateway Protocol c помощью Quagga

Вообще-то по настройке Quagga уже есть статья, но решил, что настройке BGP необходимо посвятить отдельную статью. Итак, на днях получила дружественная сеть свою автономную систему и блок адресов. Соответственно необходимо все это дело настроить под собственные нужды, и с этой просьбой и обратилась ко мне.

Для глобальной маршрутизации будем использовать протокол BGP, информацию можно получить здесь. Ознакомившись с литературой, приступим к настройке.

Поставленная задача: получить от провайдера по одному BGP-соединению список сетей UA-IX, по второму - Full-view. Ну а дальше уже можно будет по представленной схеме настраивать соединения с несколькими аплинками.

Ddrescue - поиск сбойных блоков на жестком диске

Возникла необходимость в поиске сбойных блоков на жеском диске. Порыскав по интернету, нашел описание утилиты ddrescue. Решил попробовать. Итак, устанавливаем утилиту из портов:

# cd /usr/ports/sysutils/ddrescue && make install clean && rehash

Проверка не составляет труда. Проверим, для примера, раздел /dev/ad5s1d:

# ddrescue --force /dev/ad5s1d /dev/null

RSS-материал

Вставай, Україно!

Литература