802.1Q VLAN - реализация 802.1Q VLAN на FreeBSD

Уже довольно большой период времени все сетевые интерфейсы настраиваю с поддержкой 802.1Q VLAN. Решил описать процедуру настройки, возможно мой опыт пригодится еще кому-либо.

Итак, не будем забывать о том, что есть сетевые карты, которые поддерживают vlan на аппаратном уровне, а есть которые не поддерживаются. Если сетевая карта не поддерживает vlan, во FreeBSD предусмотрена software поддержка, но карточка должна поддерживать oversized пакеты. Этим требованиям удовлетворяет большинство современных сетевых карт.

FreeBSD позволяет использовать vlan-интерфейсы двух типов:

  • псевдоинтерфейс vlan
  • cisco-like интерфейс

Псевдоинтерфейс vlan

Исходные данные:

Описание основ работы VLAN, принципы построения сетей с использованием VLAN

Введение

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

C появлением Ethernet-маршрутизаторов, пользователей сети стали группировать в рабочие группы с общим доменном коллизий. Это не только улучшило эффективность сети внутри каждой группы, но и уменьшило перегрузки общей сети, вызванное внезапным широковещательным штормом. Однако разделение общей сети маршрутизаторами на рабочие группы вызвало другие проблемы. Связь между рабочими группами стала возможно только через маршрутизаторы уровня 3. Это замедлило доступ к глобальным серверам компании.

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 под свои нужды. В моем случае конфигурация получилась следующая:

RFC 3022 — Традиционная трансляция сетевых адресов IP (NAT)

Статус документа

Этот документ содержит информацию для сообщества Internet и не определяет каких-либо стандартов. Документ может распространяться свободно.

Тезисы

Базовая трансляция сетевых адресов или Basic NAT представляет собой метод отображения адресов IP из одной группы в другую, прозрачного для конечных пользователей. Трансляция сетевых адресов и номеров портов или NAPT — метод, с помощью которого множество сетевых адресов и соответствующих портов TCP/UDP (Transmission Control Protocol/User Datagram Protocol) преобразуется в один сетевой адрес и номер порта TCP/UDP. Оба метода вместе называют традиционной трансляцией адресов (traditional NAT). NAT обеспечивает механизм подключения областей с приватными адресами к внешним областям, в которых используются уникальные в глобальном масштабе зарегистрированные адреса.

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 минимальной длины;

RSS-материал

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

Литература