Про установку и настройку DHCP перенес на wiki
[[http://wiki.calculate-linux.org/ru/Установка*и*настройка_DHCP*сервиса*на_Calculate_Directory_Server]]
Настройка шлюза
Для настройки Calculate Directory Server в качестве шлюза используется Shorewall. Shorewall или более точно Shoreline Firewall — инструмент для настройки файрвола (межсетевого экрана). Технически является надстройкой над подсистемой Netfilter (iptables/ipchains) ядра Linux и обеспечивает упрощённые методы конфигурирования данной подсистемы. Он предоставляет более высокий уровень абстракции для описания правил работы файрвола.
Программа не является демоном, то есть не работает постоянно. Правила хранятся в текстовых файлах, при запуске shorewall считывает свои файлы конфигурации и преобразует их в настройки понятные ipchains/iptables, после чего данные настройки файрвола могут дейстовать до перезапуска операционной системы.
компьютеры внутренней сети имеют адреса 10.10.0.0/24
Calculate Directory Server, подключенный к внутренней сети через интерфейс eth1 с установленным ip адресом 10.10.0.1, и имеющий выход в интернет через интерфейс eth0 с установленным ip адресом 192.168.0.77 (шлюз)
Для начала определим необходимые зоны: net - интернет, loc - локальная сеть, fw - CDS. В /etc/shorewall/zones поместим записи:
# mcedit /etc/shorewall/zones
###############################################################################
#ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
fw firewall
net ipv4
loc ipv4
Теперь необходимо указать, что зона net обслуживается интерфейсом eth0, а зона loc - интерфейсом eth1. Входящий трафик на обоих интерфейсах будем пропускать через фильтры: tcpflags,routefilter,nosmurfs,logmartians. В /etc/shorewall/interfaces поместим записи:
# mcedit /etc/shorewall/interfaces
###############################################################################
#ZONE INTERFACE BROADCAST OPTIONS
net eth0 detect tcpflags,nosmurfs,routefilter,logmartians
loc eth1 detect tcpflags,nosmurfs,routefilter,logmartians
Опишем правила по умолчанию (политики) для трафика проходящего через шлюз: локальной сети (loc) и шлюзу ($FW) разрешен доступ во все зоны, пакеты из сети (net) сбрасывается, к остальным применяется правило REJECT c логом. В /etc/shorewall/policy поместим записи:
# mcedit /etc/shorewall/policy
###############################################################################
#SOURCE DEST POLICY LOG LIMIT: CONNLIMIT:
# LEVEL BURST MASK
loc all ACCEPT
$FW all ACCEPT
net all DROP
all all REJECT info
Добавим маскарадинг для пакетов исходящих из локальной сети в интернет. В /etc/shorewall/masq поместим записи:
# mcedit /etc/shorewall/masq
###############################################################################
#INTERFACE:DEST SOURCE ADDRESS PROTO PORT (S) IPSEC MARK USER/
# GROUP
eth0 10.10.0.0/24 192.168.0.77
Шлюз обеспечивающий выход в интернет локальной сети готов
Разрешаем запуск shorewall, для этого устанавливаем параметр STARTUP_ENABLED=Yes в файле /etc/shorewall/shorewall.conf
# mcedit /etc/shorewall/shorewall.conf
Запустим
# /etc/init.d/shorewall start
/etc/init.d/shorewall start
shorewall | * Starting shorewall …
shorewall | ERROR: Invalid interfaces file entry (too many columns) /etc/shorewall/interfaces (line 12) [ !! ]
shorewall | * ERROR: shorewall failed to start
Ругается на эту строчку
net eth0 detect tcpflags,nosmurfs,routefilter,logmartians
Попробовал это:
# emerge net-firewall/shorewall
В файле mcedit /etc/shorewall/shorewall.conf сделал параметр IP_FORWARDING=yes
# mcedit /etc/shorewall/shorewall.conf
Не помогло. В чем моя ошибка?