Чтение онлайн

ЖАНРЫ

Linux-сервер своими руками

Колисниченко Денис Николаевич

Шрифт:

IP forwarding/gatewaying (CONFIG_IP_FORWARD) [y]

IP multicasting (CONFIG_IP_MULTICAST) [у]

IP firewalling (CONFIG_IP_FIREWALL) [у]

IP accounting (CONFIG_IP_ACCT) [y]

Можно также поэкспериментировать с набором опций Advanced Router, если данные функции есть в вашем ядре. Более подробно о процессе компилирования ядра вы можете прочитать в следующей главе.

17.1.2. Настройка сети

После перекомпилирования ядра нужно включить IP-forwarding.

Сделайте это при помощи следующей команды:

# echo "1" > /proc/net/ip_forward

Настройку сетевых карт произведите с помощью программы netconf. О том, как это сделать, было рассказано в гл. 8.

17.1.3. Конфигурирование IpChains

Теперь приступим к настройке IPChains. Создайте цепочку, через которую пойдет весь трафик от провайдера:

ipchains –N prov

ipchains –A input –i eth0 –j prov

Запретите ip-spoofing:

ipchains –A prov –s 192.168.1.1/16 –1 –j DENY

ipchains –A prov –s 127.0.0.1/8 –1 –j

DENY Запретите Telnet снаружи:

ipchains –A prov –p tcp –destination-port 23 –j REJECT

Если вы не хотите, чтобы samba «светилась» наружу, запретите порты 137-139:

ipchains –A prov –p tcp –destination-port 137 –j REJECT

ipchains –A prov –p udp –destination-port 137 –j REJECT

To же самое проделайте для портов 138 и 129.

О настройке samba вы можете прочитать в Samba-HOWTO.

Создайте цепочку для подсчета трафика:

ipchains –N trafin

ipchains –I input –i eth0 –s ! 123.123.123.0/24 –p all –j trafin

ipchains –A trafin –d 123.123.123.123

Для того, чтобы ваши правила были постоянными (при перезагрузке машины правила IpChains теряются), используйте скрипты ipchains-save и ipchains-restore. Настройте свои правила, а затем выполните команду:

# ipchains-save > /etc/ipchains.rules

Далее создайте скрипт, подобный тому, что приведен в листинге 17.1.

Листинг 17.1. Скрипт управления пакетной фильтрацией

#!/bin/sh

# Скрипт управления пакетной фильтрацией.

# Если правил нет, то ничего не делать.

[-f /etc/ipchains. rules] || exit 0

case "$1" in

start)

 echo –n "Включение пакетной фильтрации:"

 /sbin/ipchains-restore </etc/ipchains.rules || exit 1

 echo 1 > /proc/sys/net/ipv4/ip_forward

 echo "." ;;

stop)

 echo –n "Отключение пакетной фильтрации:"

 echo 0 >/proc/sys/net/ipv4/ip_forward

 /sbin/ipchains –X

 /sbin/ipchains –F

 /sbin/ipchains –P input ACCEPT

 /sbin/ipchains –P output ACCEPT

 /sbin/ipchains –P forward ACCEPT

 echo "." ;;

*)

 echo "Использование: /etc/init.d/packetfilter {start|stop}"

 exit 1 ;;

esac

exit 0

Этот

скрипт добавьте в сценарии загрузки системы.

17.1.4. Настройка DNS

Напомню, что основной задачей сервера доменных имен (Domain Name System) является преобразование мнемонических имен машин в IP-адреса и обратно. Обычно сервер DNS устанавливается на шлюзе, который используется для выхода в Интернет.

Прежде чем приступить к настройке сервера, нужно определить, запущен ли он:

# ps –ax | grep named

Если он запущен, его нужно остановить (с помощью ndc), а если он вообще не установлен, то придется установить пакет bind. Для работы сервера должен быть активизирован сервис network.

Теперь приступим к непосредственной настройке сервера. Основная информация о параметрах сервера содержится в файле /etc/named.conf (см. листинг 17.2).

Листинг 17.2. Файл named.conf

logging {

 category cname {null; } ;

};

options {

 directory "/var/named";

};

zone "." {

 type hint;

 file "named.ca";

};

zone "dhsilabs.com" {

 type master;

 file "dhsilabs.com";

 notify no;

};

zone "0.0.127.in-addr.arpa" {

 type master;

 file "named. local";

};

zone "1.168.192.in-addr.arpa" {

 type master;

 file "192.168.1";

 notify yes;

};

Основной каталог сервера — /var/named. В нем сервер будет искать файлы dhsilabs.com.named.local, 192.168.1, named.ca (см. листинги 17.3, 17.4, 17.5). Обслуживаемая нашим сервером зона (домен) — dhsilabs.com (см. листинг 17.3). Файл named.са — корневой кэш — содержит информацию о корневых серверах DNS. Позже займемся его обновлением.

Листинг 17.3. Файл dhsilabs.com (для преобразования имен в IP-адреса)

@ IN SOA den.dhsilabs.com. hostmaster.dhsilabs.com. (

93011120 ; серийный номер

10800 ; обновление каждые 3 часа

3600 ; повтор каждый час

3600000 ; хранить информацию 1000 часов

86400 ) ; TTL записи — 24 часа

IN NS delden.dhsilabs.com.

Поделиться с друзьями: