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

Рассмотрим типичную ситуацию: один входящий канал, несколько компьютеров, желание разделить доступ и собирать статистику использования канала. В Сети очень много руководств и howto на эту тему. Моя статья не претендует на замену аналогичных статей из wiki, это скорее записки из собственного опыта.

Итак, начальные условия: три компьютера, соединены через хаб(свич), на одном из них две сетевые карты и линукс (в моем случае - Gentoo). Одна сетевая карта смотрит в локалку, вторая - в мир (кабельный модем Arris). Что мы сделаем: настроим dhcp и маскарадинг для доступа в мир машин из внутренней сети.

Установка dhcp.

Зачем нужен dhcp для такой маленькой сети, спросите Вы? Отвечаю: лично я - программист. С администрированием сталкивался в ранней молодости. Часто конфигурирование сети вызывало проблемы. Смена сетевых адресов, смена провайдеров. dhcp позволяет управлять сетевыми настройками всех внутренних машин с одной, поэтому я рекомендую его использовать.

Итак, этап первый - устанавливаем dhcp:

emerge -av dhcp

Опционально, его можно установить в chroot - это на Ваше усмотрение.

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

Я настроил dhcp на привязки к mac-адресам сетевых карт. Зачем? Чтобы попинговать компы и получить доступ по ssh, в случае чего, и при этом не искать в логах, какой адрес был кому назначен. Зачем тогда dhcp? Я уже говорил. У меня нет опыта в настройке сетей, часто менял конфигурацию, менял несколько раз провайдера. Каждый раз менять настройки на компьютере брата и своем ноуте - слегка утомительно. А так - dhcp отдает клиентам параметры прокси, шлюза, DNS и т.п.

В общем, все понятно. Настраиваем:

dhcpd.conf

ddns-update-style ad-hoc;

default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;

subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.100 192.168.0.150;
    option subnet-mask 255.255.255.0;
    option netbios-name-servers 192.168.0.1;
    option broadcast-address 192.168.0.255;
    option routers 192.168.0.1;
    option domain-name-servers 194.6.196.250, 194.6.196.4;
    host solshark_ibm {
        hardware ethernet 00:01:03:86:95:B1;
        fixed-address 192.168.0.2;
    }
    host gellan {
        hardware ethernet 00:17:31:e6:bb:67;
        fixed-address 192.168.0.3;
    }
}

Назначение строчек конфига самоочевидно:

  • range - диапазон адресов для динамического выделения;
  • routers - шлюз по умолчанию;
  • domain-name-servers - DNS;

Теперь настроим маскарадинг для того, чтобы выпускать машины из внутренней сети в мир:

simplefirewall.sh

EXTIF='eth1'
INTIF='eth0'
IPT='/sbin/iptables'
# Включаем форвардинг ip в ядре.
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
# Включаем маскарадинг для разрешения доступа в интернет
$IPT -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
echo "Включаем форвардинг"
# Форвардить сетевой трафик с $INTIF1 на интерфейс $EXTIF
$IPT -A FORWARD -i $INTIF -o $EXTIF -m state --state NEW,ESTABLISHED -j ACCEPT

 

Статьи

Новости

Я вернулся.

29.12.08 16:06

Сабж. Посмотрим, что можно будет выхать из этого сайта. Держитесь,...

[подробнее]

Блог

04.04.08 18:27

Хочется странного... Решил открыть блог.

[подробнее]

Форум

19.04.07 20:01

Открыл форум. Просьба обсуждать Джона там.

[подробнее]

Новое на форуме

 

Вход в систему

Введите имя пользователя и пароль для входа в систему:

Имя пользователя:

Пароль:

Создать аккаунт

Поиск

 

Спонсоры

 

Google area