Первый поднятый сервер не стал пошагово протоколировать, на этот раз решил записать все шаги (ну почти все)

Итак, ставим операционку, делаем все необходимые обновления, доустанавливаем нужные пакеты, конфигурим сетевые интерфейсы и стартующие службы. Все это проще всего делать через webmin, поэтому для упрощения нашей задачи я это и делаю

rpm -ihv webmin-****-.rpm

Набираю http://server:10000 и вуаля.

Моя задача создать dhcp область, присвоить всем клиентам Ip адреса и пустить всех через прокси сервер в интернет. Подсчетом и ограничением трафика будет заниматься sams, заворачиванием трафика будет заниматься Iptables. Авторизация будет проводиться по айпи адресам. Приступим!

/etc/dhcpd.conf делаю примерно таким:
# DHCP erver Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
ddns-update-style interim;
ignore client-updates;
authoritative;

# DEZ-KP
subnet 192.168.101.0 netmask 255.255.255.0 {
option routers 192.168.101.1;
option subnet-mask 255.255.255.0;
option nis-domain «dez.org»;
option domain-name «dez.org»;
option domain-name-servers 192.168.101.1;
option time-offset -18000;
range dynamic-bootp 192.168.101.10 192.168.101.20;
default-lease-time 9999999;
max-lease-time 9999999;
}

Стартуем dhcpd

service dhcpd start

Теперь клиенты в сети смогут получать айпи адреса из диапозона 192.168.101.10-192.168.101.20 (как обычно с конца) Шлюзом по умолчанию они получают наш маршрутизатор 192.168.101.1

Теперь ставлю все необходимые компоненты для sams, есть в этой статье: http://blog.mysoarer.ru/?p=206

Далее ставим или настраиваем если уже установлен dnsmasq

Разработанный для небольших сетей Dnsmasq является кэширующим DNS, а также DHCP и TFTP-сервером. Объединение DNS и DHCP-серверов в одной программе дает ряд преимуществ. Обмен данными «DNS – DHCP» упрощен, и как только что-то делает одна часть, вторая тут же узнает об этом, на лету корректируя свои установки. Скажем, полученный при помощи DHCP IP-адрес сразу же попадает в DNS-таблицу. Сервер Dnsmasq умеет загружать информацию из файла /etc/hosts, которую и будет использовать как для службы DNS, так и для DHCP. Полученный клиентом IP может заноситься в hosts. Ставим:

$ sudo yum install dnsmasq

Настройки Dnsmasq производятся в единственном файле /etc/dnsmasq.conf. В самом простом случае достаточно уточнить в нем интерфейс, чтобы он принимал запросы только из внутренней сети:

listen-address=127.0.0.1, 192.168.0.1

Как вариант, можно использовать параметр «interface».

Теперь открываем /etc/resolv.conf и добавляем в самом начале строку «nameserver 127.0.0.1», указывая, что при опросе первым сервером имен станет локальная система. Если провайдер для раздачи IP-адресов использует DHCP, то файл /etc/resolv.conf будет переписан при следующем подключении. Чтобы этого избежать, в /etc/dhcp3/dhclient.conf снимаем комментарий с записи:

prepend domain-name-servers 127.0.0.1;

Теперь при обновлении первой строкой в resolv.conf будет вставлена ссылка на 127.0.0.1. При необходимости сюда через запятую можно добавить IP-адреса других предпочитаемых DNS-серверов. Перезапускаем dnsmasq:

$ sudo /etc/init.d/dnsmasq restart

Минимальная настройка DHCP-сервера фактически сводится к настройке директивы dhcp-range, при помощи которой задаются границы диапазона IP-адресов для выдачи клиентов:

dhcp-range=192.168.1.100,192.168.1.150,255.255.255.0,24h

В этом примере был задан диапазон 192.168.1.100-192.168.1.150. Сетевая маска необязательна, – Dnsmasq способен подобрать оптимальную, исходя из текущих настроек. Так же из системных настроек берутся имена домена, DNS-сервера и IP-адрес маршрутизатора. Последним идет необязательный параметр, указывающий на время выдачи адреса, после которого клиент повторяет запрос на его получение. Кроме того, в файле можно найти еще несколько директив, начинающихся на dhcp-. С их помощью под силу задать практически любые настройки DHCP. Например, чтобы клиенту с определенным MAC-адресом всегда выдавался один и тот же IP-адрес, используем dhcp-host:

dhcp-host=00:11:AA:BB:22:CC,192.168.1.200,dejavu

Кстати, у dhcp-host есть несколько дополнительных опций. Так, чтобы игнорировать систему с определенным адресом, в конце предыдущего правила добавляем «ignore».

Далее, при правильной настройке самс, и создании пары правил в файрволе

NAT назначения    Если протокол TCP и назначение не 192.168.100.0/24 и входящий интерфейс eth1 и порты назначения 80,8080 (В dnat нужно указать что все эти пакеты нужно заворачивать на наш прокси, т.е. на 192.168.101.1 порт 8080)

Маскировать    Если протокол TCP и порт назначения 5190

интернет заработает у клиентов.