Граница на замке Антон Карпов, toxa@cterra.ru Спецвыпуск: Хакер, номер #051, стр. 051-030-2 RULES="$RULES\npass out inet6 proto icmp6 all icmp6-type routersol" RULES="$RULES\npass in inet6 proto icmp6 all icmp6-type routeradv" Очевидно, pf ругается на отсутствие поддержки inet6 и падает лапками кверху. Закомментируй эти строчки или просто откажись от сборки своего ядра - на это вряд ли есть веские причины. Сконфигурировать OpenBSD не сложнее, чем установить его. Классическое решение - шлюз, отделяющий локальную сеть с внутренней адресацией (сети 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 согласно RFC1918) от интернета. В этом случае нужно сконфигурировать оба интерфейса, включить маршрутизацию между интерфейсами (форвардинг) и настроить Network Address Translation (NAT). В OpenBSD сетевые карты настраиваются путем занесения в файл /etc/hostname.%26lt;имя_интерфейса%26gt; необходимой информации. Внешний адрес: # cat /etc/hostname.vr0 inet 62.89.2XX.XX 255.255.255.192 NONE Внутренний адрес: # cat /etc/hostname.vr1 inet 192.168.0.1 255.255.255.0 NONE В /etc/sysctl.conf раскомментируй строчку: net.inet.ip.forwarding=1 Информация о шлюзе провайдера (default gateway) заносится в файл /etc/mygate: # cat /etc/mygate 62.89.2XX.1 Для пользователей локальной сети шлюзом по умолчанию станет внутренний интерфейс машины - 192.168.0.1. Наконец, если провайдер внес в свою зону имен A-запись для твоего шлюза (или если ты собираешься поднять свой dns-сервер, что вряд ли потребуется для домашней сети), то внеси имя машины в файл /etc/myname: # cat /etc/myname puffy.toxahost.ru Если имя не обслуживается ни одним dns-сервером, то внеси то же имя в /etc/hosts: 62.89.2XX.XX puffy.toxahost.ru Некоторые провайдеры предоставляют клиентам только внешние IP-адреса. В таком случае на твою локальную сеть будет выделена подсеть из диапазона адресов, принадлежащих провайдеру, а шлюз будет выполнять роль моста (bridge), прозрачного для сети. Поднять мост на OpenBSD просто как пять копеек: # cat /etc/bridgename.bridge0 add vr0 add vr1 blocknonip vr0 blocknonip vr1 up где vr0 и vr1 - интерфейсы, которые мы будем "бриджить". Хоть мост работает на втором уровне модели TCP и имеет дело исключительно с MAC-адресами, ему, тем не менее, можно присвоить IP-адрес для удаленного доступа. Строго говоря, "прозрачный мост" (transparent bridge) и мост с присвоенными адресами - разные вещи, так как ведут себя по-разному в некоторых случаях. В нашем случае требуется удаленный доступ к машине, но нет нужны присваивать адреса обоим интерфейсам, поэтому /etc/hostname.vr0 оставим как есть, а в /etc/hostname.vr1 пропишем просто поднятие интерфейса: # echo up %26gt; /etc/hostname.vr1 Шлюзом по умолчанию для клиентов в таком случае будет роутер провайдера. Функциональность прежде всего Определимся с тем, что будет крутиться на шлюзе, кроме стандартного sshd для удаленного администрирования. Для получения почты с отчетами о работе системы мы запустим pop3-сервер pop’a3d (входит в штатную поставку), для подсчета трафика соорудим систему trafd/mysql. Экономить на трафике путем кеширования web-страниц будем с помощью прокси-сервера squid. Наконец, чтобы обеспечить контроль над пользователями, в качестве метода "на коленке" для защиты сети от любителей менять IP-адрес на адрес соседа поставим arpwatch, который будет вести таблицу записей "IP-MAC" и сигнализировать об аномалиях. Разумеется, для "хакера", охочего до чужого трафика, не составит труда поменять и MAC-адрес. Но по большому счету, более-менее адекватную защиту может обеспечить разве что фильтрация MAC на порту свитча (а такие приборы стоят денег) или организация VPN. Но хочешь ли ты ходить из квартиры в квартиру и показывать недалеким пользователям, где у них в Windows настраиваются политики IPSec? |