Поднятие локалки в Линуксе с нуля

Xakep, номер #044, стр. 044-052-3


$ORIGIN server.ru.

ns IN CNAME server.ru.

www IN CNAME server.ru.

irc IN CNAME server.ru.

; CNAME - алиас для одного и того же компьютера - в данном случае server.ru

client1 IN A 192.168.0.2

client2 IN A 192.168.0.3

client3 IN A 192.168.0.4

users IN A 192.168.0.5

; Записываем реверс IP-адресов в соответствующие имена.

После изменений (либо первых составлений) в этих файлах, следует перезапустить named командой "killall -1 named"

Запускать демон нужно при старте машины (для этого достаточно написать "ln -s /etc/rc.d/init.d/named /etc/rc.d/rcX.d/S45named", где X - текущий runlevel машины).

Учитывай важное обстоятельство: всем клиентским машинам в свойствах локальной сети следует прописать первичный DNS-сервер 192.168.0.1.

Мутим Интернет

После того как все успешно зарезолвилось и заработало (если нет, то подними глаза выше и перечитай все заново), пора расслабиться и настроить выход в глобал. Разумеется, на сервере должен быть выход в Интернет (через модем либо через выделенный канал - последнее, конечно, предпочтительней =). Тебе, как админу своей, хоть и не большой сетки, просто необходимо дать всем пользователям, а не только себе, возможность выхода в Инет и от души там повеселиться =). На этот случай есть 2 варианта. Либо поставить proxy-server, либо воспользоваться встроенным файрволлом Ipchains. Остановимся на втором варианте.

Почему Masquerade безопаснее Squid?

С помощью IP Masquerade можно подключить к Интернету компьютеры, которые не имеют зарегистрированных IP-адресов, через шлюз с Linux. При этом будет работать большинство протоколов, но снаружи компьютеры во внутренней сети не будут видны. С помощью же Squid будут проходить только http- и ftp-запросы.

Для удобства работы напишем небольшой скрипт маскарадинга, работающий через Ipchains. Его следует запускать при каждом старте сервера.

#!/bin/bash

test -x /sbin/ipchains || exit 1

case $1 in

start|restart|force-reload)

echo -n "Включаем IP Masquerading"

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

## Включаем forward для проброса пакетов изнутри наружу.

/usr/sbin/routed -q

## Включаем роутинг для внутренней подсети.

/sbin/ipchains -P forward DENY

## Запрещаем forward для всех адресов.

/sbin/ipchains -A forward -s 192.168.0.0/255.255.255.0 -j MASQ

## Pазрешаем masquerade для локальной сети 192.168.0.0/24 с соответствующей ## маской 255.255.255.0

echo "done."

;;

stop)

;;

esac

После активизации данного скрипта будет включен маскарадинг на всю подсеть, и все юзеры, собственно, смогут юзать Инет через главный сервер.

На вершине безопасности

Интернет тесно соприкасается с безопасностью. Чтобы никто не смог порутить твой сервак через Инет, нужно запретить все соединения извне. Тут Ipchains снова приходит к нам на помощь. Записываем новое правило, к примеру, запрещающее все коннекты на SSH извне:

Назад на стр. 044-052-2  Содержание  Вперед на стр. 044-052-4