Забегая несколько вперед, замечу, что такой статический маршрут представляет собой обычное правило перенаправления трафика, поэтому его можно реализовать и средствами пакетного фильтра IPTables:

# iptables -P FORWARD DROP

# iptables -A FORWARD -S 192.168.1.0/24 -d 192.168.2.0/24 -j ACCEPT

# iptables -A FORWARD -S 192.168.2.0/24 -d 192.168.1.0/24 -j ACCEPT

А вот более сложный пример, приведенный в документации по IPTables. Пусть у нас имеется одно-единственное соединение с Интернетом и мы не хотим, чтобы кто-либо вошел в нашу сеть извне:

## Загрузим модули для отслеживания соединений

# (не нужно, если они встроены в ядро)

# insmod ip_conntrack

# insmod ip_conntrack_ftp

## Создадим цепь block, которая будет блокировать

# соединения извне.

# iptables -N block

# iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT

# iptables -A block -m state --state NEW -i ! ppp0 -j ACCEPT

# iptables -A block -j DROP

## Весь входящий и маршрутизированный трафик будет

# проходить через block

# iptables -A INPUT -j block

# iptables -A FORWARD -j block

<p>19.2.2. Демон gated — правильный выбор</p>

В последнее время демон gated используется чаще, чем стандартный routed. Объясняется это тем, что gated более гибок в конфигурировании и обладает большими возможностями, в частности, им поддерживаются протоколы RIP-2 и OSFP.

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

♦ RIP версий 1 и 2

♦ HELLO

♦ OSPF версии 2

♦ EGP версии 2

♦ BGP версии 2, 3 и 4.

Таблица 19.1 поможет вам сравнить возможности демонов routed и gated.

Протоколы, поддерживаемые gated и routed Таблица 19.1

ДемонПротоколы внутренних маршрутизаторовПротоколы внешних маршрутизаторов
RIPHELLOOSPFBGPEGP
routedV1
gated, версий 2V1+V1+
gated, версия 3V1, V2+V2V2, V3+

Рассмотрим классическое подключение локальной сети к Интернету. Пусть адрес нашей локальной сети 143.100.100.0, а на шлюзе установлены две сетевые платы с IP-адресами 143.100.100.1 и 143.100.200.1. Пусть в нашей сети есть машина с IP-адресом 143.100.100.5, на которой также установлен gated. Настроим gated сначала на этой рабочей станции, а потом — на сервере. Для настройки может использоваться утилита gdc, поставляемая вместе с самим gated.

Настройка gated осуществляется путем редактирования файла конфигурации /etc/gated.conf. Содержимое этого файла для рабочей станции приведено в листинге 19.1, а для сервера — в листинге 19.2.

Листинг 19.1. Файл конфигурации /etc/gated.conf для рабочей станции

# Это IP-адрес рабочей станции

interface 143.100.100.5 passive;

# используем протокол RIP (Route Internet Protocol)

rip yes;

Листинг 19.2. Файл конфигурации /etc/gated.conf для сервера

# Описываем интерфейсы и протокол

interface 143.100.100.1 passive;

interface 143.100.200.1 passive;

rip yes;

export proto rip interface 143.100.100.1

{

 proto direct {

  announce 143.100.200.0 metric 0;

 };

};

export proto rip interface 143.100.200.1

{

 proto rip interface 143.100.100.1 {

  announce all;

 };

};

Первая директива export объявляет подсеть 143.100.100.0 (наша сеть) через интерфейс 143.100.100.1, который объявляется шлюзом в данную подсеть, то есть считается, что интерфейс 143.100.100.1 принадлежит узлу, входящему в эту сеть. Директива proto direct говорит о том, что пакеты для подсети нужно посылать непосредственно на интерфейс, а нулевая метрика означает, что интерфейс стоит на шлюзе в подсеть.

Перейти на страницу:

Все книги серии Полное руководство

Похожие книги