среда, 15 июля 2009 г.

Настройка домашнего интернета (7): напильник и Shorewall, dhcp и прочие..

Нашел свой старый конфиг для shorewall; не скажу, что он идеальный, но должно быть как раз что-то такое..

В policy все просто, как в примере - все запрещено, ибо нефиг; а в rules понаписано такое:

# чтоб шлюз мог резолвить адреса на внешних серверах, а локальная сеть
# получать адреса у него
DNS/ACCEPT $FW net
DNS/ACCEPT loc $FW

# чтобы шлюз мог ходить в интернет
ACCEPT $FW net tcp www

# для удаленного доступа из локальной сети и из офиса (у него постоянный ip)
SSH/ACCEPT net:11.22.33.44 $FW
SSH/ACCEPT loc $FW

# в модеме закрыты все порты, кроме 60606 - для торентов
ACCEPT net $FW tcp 60606
ACCEPT net $FW udp 60606

# для "личных нужд" у меня есть свой svn
SVN/ACCEPT net:11.22.33.44 $FW

# разрешу доступ к своему веб-серверу только мне
# хотя позже я ослабил это правило, когда установил gallery
HTTP/ACCEPT net:11.22.33.44 $FW
HTTPS/ACCEPT net:11.22.33.44 $FW

# пинги (можно макросами, можно протоколами)
Ping/ACCEPT loc $FW
Ping/REJECT net $FW
ACCEPT $FW loc icmp
ACCEPT $FW net icmp

# для нормальной работы самбы надо открыть эти порты (еще раз - сейчас у меня в policy
# все запрещено - только loc -> net разрешено - так что все исключения надо перечислить)
ACCEPT loc $FW tcp 135
ACCEPT loc $FW udp 137
ACCEPT loc $FW udp 138
ACCEPT loc $FW tcp 139
ACCEPT loc $FW tcp 445
ACCEPT $FW loc udp 137
ACCEPT $FW loc udp 138

Хорошо бы, чтобы в сети надо было делать как можно меньше настроек; первый шаг к этому - установка своего dhcp-сервера: тогда клиентские компьютеры IP-адреса, сетевую маску, адреса шлюза по умолчанию и dns будут получать автоматически:

sudo apt-get install dhcp3-server
# надо настроить конфиг для dhcp-сервера
sudo pico /etc/default/dhcp3-server

# находим и меняем строку таким образом - указываем интерфейс локальной сети:
INTERFACES="eth1"

# настроим собственно параметры сервера
sudo pico /etc/dhcp3/dhcpd.conf

# можно посмотреть на пример, но остаться должно следующее:
# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;

# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ubuntu;

default-lease-time 600;
max-lease-time 7200;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

subnet 192.168.5.0 netmask 255.255.255.0 {
range 192.168.5.10 192.168.5.200;
option routers 192.168.5.1;
option domain-name-servers 192.168.5.1;
option broadcast-address 192.168.5.255;
}

# сохраняем и запускаем сервер
sudo /etc/init.d/dhcp3-server start

# открываем /etc/shorewall/interfaces и в опции того интерфейса,
# для которого создает адреса dhcp, добавляем dhcp (иначе shorewall
# заблокирует порты 67/68 и клиенты не смогут получить ip):
loc eth1 detect dhcp,tcpflags,nosmurfs

Проверим, все ли нормально - на windows-компьютере в свойствах сетевой карты указываем - получать адреса автоматически:

Перед этим я отключил сетевую карту - теперь включаю и вижу:

Видим, что от dhcp получен новый адрес (раньше руками был установлен 192.168.5.2, новый адрес - первый из пула - 192.168.5.10); интернет продолжает работать, т.е. и с dns все нормально

Комментариев нет:

Отправить комментарий