Заметки про сетевой мост

  • FreeBSD
Наверно, многие замечали — в Windows существует такая штука — как организация сетевого моста. Выбираются две сетевых карты и из низ получается один сетевой мост. Выглядит так, как будто витую пару из первой сетевой карты скрутили с витой парой второй сетевой карты. И все это дело прекрасно работает. Но это только введение, попробуем разобраться как это работает.

Что же из себя представляет так называемый сетевой мост? Попробуем разобраться. Думаю, все представляют как работает один из базовых элементов ЛВС — коммутатор. В него вставляются хвосты витой пары и все товарищи объединяются в один локальный домен рассылки, или ethernet-сегмент. Компьютер, подключенный в порт 1 может без каких либо проблем обмениваться информацией с компьютером, подключенным к порту 2.
Разумеется, этот свич запоминает, за каким портом закреплен определенный компьютер на основании MAC-адреса. Все элементарно.

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

Представим себе след. картину:

Есть компьюер, у которого существует 4 сетевых интерфейса. Причем не обязательно, что сетевой интерфейс — это сетевая карта, это может спокойно и виртуальный интерфейс.

Читать дальше →

squid, pf и таблицы адресов

Появилась задача — использовать в сквиде список адресов не из фиксированного файла, а прямиком из таблиц firewall (pf).
Напомню, в сквиде можно объявить список адресов, например вот так:
acl dst_free dst "/etc/firewall/net.free"

ну и в файле /etc/firewall/net.free прописать наши адреса, например:
10.0.0.0/8
62.76.176.0/20
78.132.128.0/17
82.179.144.0/20
83.234.112.0/24
91.202.20.0/22
91.211.28.0/22
93.186.96.0/20
172.16.0.0/12
192.168.135.12/30
192.168.140.0/24
193.33.62.0/23
193.34.12.0/22
193.203.60.0/22
195.19.96.0/19
213.135.128.0/19

Таким образом, после запуска сквид в acl dst_free будут находиться эти адреса.
А у нас задача — использовать адреса, которые сейчас актуальные в таблице pf.
Для примера, на текущий момент в таблице net_free находятся такие адреса:
[16:36 dk@mira ~]> pfctl -t net_free -T show
   10.0.0.0/8
   62.76.176.0/20
   78.132.128.0/17
   82.179.144.0/20
   83.234.112.0/24
   91.202.20.0/22
   91.211.28.0/22
   93.186.96.0/20
   172.16.0.0/12
   192.168.135.12/30
   192.168.140.0/24
   193.33.62.0/23
   193.34.12.0/22
   193.203.60.0/22
   195.19.96.0/19
   213.135.128.0/19

Читать дальше →

Используем несколько каналов Интернет для загрузки торрент-трафиком

Итак, есть 4 узла: А, Б, В, Г. Каждый из узлов подключен к сети Интернет. Задача: на узле А запущен торрент-клиент, который должен поглощать интернет с узлов Б, В, Г.
Скорость между узлами А-Б, А-В, А-Г — заведомо выше скорости подключения к Интернет каждого из услов, другими словами, трафик считается внутрисетевым.

Первым делом потребуется собрать все узлы в один виртуальный сегмент. После недолгих размышлений — решаем использовать в этом сегменте адресацию 192.168.130.1, и распределяем адреса следующим образом:
— узел А — 192.168.130.1;
— узел Б — 192.168.130.2;
— узел В — 192.168.130.3;
— узел Г — 192.168.130.4.

Для построения сегмента был выбрна openvpn (http://openvpn.net/)

Читать дальше →