Linux: Полное руководство
Шрифт:
Чтобы добавить адрес 192.168.0.1/24 с маской подсети 255.255.255.0 со стандартным широковещательным адресом и именем eth0:Alias, введите команду
Используются еще следующие варианты команды:
ip address delete предназначена для удаления адресов. Для удаления адреса 192.168.0.1/24 с устройства eth0 введите команду
ip address show выводит информацию об адресе.
19.3.5.
Команда ip route управляет таблицей маршрутизации:
ip route add — добавить новый маршрут;
ip route change — изменить маршрут;
ip route replace — заменить маршрут.
Добавим маршрут к сети 192.168.0.0/24 через 192.168.1.1:
19.3.6. Динамическая маршрутизация
Команда ip route позволяет добавить динамический маршрут; шлюз будет выбираться в зависимости от текущей нагрузки на нега. Всегда будет выбираться шлюз с минимальной нагрузкой.
Пусть у нас есть два устройства — ppp0 и ppp1. Маршрут по умолчанию — через устройство ppp0, но если этот маршрут недоступен, будет использоваться ppp1:
Для удаления маршрута используйте команду ip route delete:
19.3.7. Управление правилами маршрутизации
Для решения этой задачи предназначена команда ip rule. Маршрутизация производится в зависимости от:
♦ адреса получателя;
♦ адреса отправителя;
♦ IP-протокола;
♦ транспортного протокола.
По умолчанию используются три таблицы правил маршрутизации:
♦ Local — содержит таблицы для локальных и широковещательных адресов;
♦ Main — самая обыкновенная таблица маршрутизации;
♦ Default — пустая таблица по умолчанию.
Аргументы команды ip rule:
1. адрес отправителя;
2. адрес назначения;
3. имя интерфейса, с которого получен пакет;
4. метка пакета, которая устанавливается брандмауэром;
5. идентификатор таблицы маршрутизации: им может быть номер или строка из файла
6. приоритет таблицы (число).
Вот несколько примеров. Требование пересылать пакеты с сети 192.168.0.0/24 согласно таблице Main:
Теперь допустим, что у нас есть два канала в Интернет (два провайдера): ppp1 с адресом 193.168.99.99, который связан с 193.168.99.100, и ppp2 с адресом 193.168.100.99, связанный с 195.1.1.1. Пользователь ivanov хочет, чтобы мы его пакеты отправляли через ppp2 (второго провайдера):
Теперь
Рассмотрим еще один практический пример. Направим весь трафик на порт 21 через устройство eth1:
Теперь нужно создать правила для помеченных пакетов
19.4. Что такое брандмауэр
Брандмауэр (межсетевой экран, бастион, firewall) — это компонент системы, обеспечивающий защиту сети от несанкционированного доступа.
Как известно, весь трафик в сети состоит из пакетов. Каждый пакет состоит из двух частей: заголовка и тела. В заголовке пакета находится информация об источнике, адресате, типе пакета, а также прочая информация, которая характерна для пакетов определенных типов. В теле пакета находится собственно передаваемая информация. Так вот, брандмауэр представляет собой пакетный фильтр: он просматривает заголовок каждого проходящего через него пакета, а потом решает, что с этим пакетом делать: принять, игнорировать или отказать с уведомлением отправителя.
Обычно брандмауэр используется на шлюзах, соединяющих две сети. Например, на шлюзе между локальной сетью и Интернетом можно запретить передавать или принимать пакеты некоторых категорий, отграничив таким образом свою хорошо организованную сеть от всемирного хаоса.
Фильтрация пакетов встроена в ядро ОС Linux. В старых дистрибутивах (ядро 2.2 и ниже) стандартным брандмауэром служит IPChains, в новых (ядро 2.4 и выше) — IPTables. Оба они позволяют защититься от таких распространенных атак, как пинг смерти, атака на отказ, IP-спуфинг, фрагментация пакетов. Возможности пакетного фильтра IPTables значительно шире, чем у IPChains, но на практике дополнительные возможности используются редко — в основном применяются средства, присутствовавшие уже в IPChains. Поэтому я начну изложение принципов и приемов настройки брандмауэра с этого устаревшего фильтра.