Документация по ОС FreeBSD Понедельник, 29.04.2024, 17:31
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Net

Шлюз в интернет на FreeBSD за полчаса [2010]
Допустим у нас встала задача быстро развернуть шлюз да выхода в интернет небольшой сети (домашней или небольшого офиса). Фактически задача сводится к установке операционной системы и развёртывании DHCP, DNS и NAT. Далее будет показано как можно быстро и легко решить эту задачу используя ОС FreeBSD 8.0.

Для начала нужно установить ОС на сервер. Ставить систему можно даже с bootonly CD докачивая необходимое по сети. Нужно поставить только самый минимум.

Допустим что у сервера два интерфейса: le0, который "смотрит" в интернет и em0, к которому подключена локальная сеть. В локальной сети мы будем использовать пространство 172.31.255.0/24, причём первый адрес (172.31.255.1) будет использоваться сервером.

Первым делом нужно добавить в файл /etc/rc.conf строку:

gateway_enable="YES"

Эта строка при загрузке сервера разрешает пересылку IP-пакетов. Без неё не возможно использование сервера в качестве маршрутизатора. Чтобы это изменение вступило в силу до перезагрузки нужно выполнить команду:

sysctl net.inet.ip.forwarding=1

Следующим шагом сконфигурируем DNS. Сначала нужно в файле /etc/namedb/named.conf заменить строку:

listen-on { 127.0.0.1; };

На:

listen-on { any; };

После этого разрешим запуск DNS-сервера добавив в /etc/rc.conf строку:

named_enable="YES"

И запустим сервис:

/etc/rc.d/named start

Проверить работу DNS-сервера можно командой:

nslookup www.ylsoftware.com 127.0.0.1

В случае нормальной работы DNS вывод должен выглядеть примерно вот так:

Server: 127.0.0.1
Address: 127.0.0.1#53

Non-authoritative answer:
Name: www.ylsoftware.com
Address: 89.108.78.131

Обновляем дерево портов:

portsnap fetch extract

Затем установим DHCP-сервер:

/usr/ports/net/isc-dhcp31-server && make install clean

Далее создадим файл /usr/local/etc/dhcpd.conf следующего содержания:

default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
log-facility local7;

subnet 172.31.255.0 netmask 255.255.255.0 {
  range 172.31.255.100 172.31.255.200;
  option domain-name-servers 172.31.255.1;
  option domain-name "office.localdomain";
  option routers 172.31.255.1;
  default-lease-time 600;
  max-lease-time 7200;
}

Конфигурация DHCP-сервера более подробно уже была рассмотрена ранее и сейчас останавливаться на ней мы не будем. Для запуска DHCP-сервера нужно добавить в /etc/rc.conf строки:

dhcpd_enable="YES"
dhcpd_ifaces="em0"
dhcpd_flags="-q"

Запускаем DHCP-сервер:

/usr/local/etc/rc.d/isc-dhcpd start

Теперь осталось только настроить пакетный фильтр. Из всего многообразия оных во FreeBSD выберем pf. Создадим файл /etc/pf.rules следующего содержания:

# Базовые настройки
if_ext = "le0"
if_int = "em0"
net_int = "172.31.255.0/24"

set block-policy drop
set state-policy if-bound

scrub all reassemble tcp fragment reassemble

# NAT для локальной сети
nat pass on $if_ext from $net_int -> ($if_ext) static-port

# Запрещаем весь лишний трафик
block drop all

# Разрешаем всё на loopback-интерфейсе
pass quick on lo0 all

# Разрешаем исходящий трафик
pass out quick on $if_ext inet proto tcp from ($if_ext) to any flags S/SA keep state
pass out quick on $if_ext inet proto { udp, icmp } from ($if_ext) to any keep state
pass out quick on $if_int from ($if_int) to $net_int

# Разрешем любой трафик со стороны локальной сети
pass in quick on $if_int from $net_int to any keep state

Добавляем в /etc/rc.conf строки:

pf_enable="YES"
pf_rules="/etc/pf.rules"

Запускаем пакетный фильтр:

/etc/rc.d/pf start

Теперь компьютеры в локальной сети смогут получать сетевые настройки по DHCP и спокойно выходить в сеть. На этом всё. Приятной работы!


Источник: http://www.ylsoftware.com/news/566
Категория: Net | Добавил: oleg (09.07.2010) | Автор: MooSE
Просмотров: 1292 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024