Шлюз на FreeBSD
Написано 18 июня 2008 в 16:13 - Рубрики: *nix
Для начала, для чего он нужен и что должен уметь
- Раздача интернета. То есть нат
- Наиболее простой способ подключения компутера к сети. Без запоминания или ручного ввода каких-либо параметров. Короче DHCP сервер
- Уменьшить задержку на DNS, а заодно и скрыть от юзера адреса DNS провайдера. Короче кэширующий DNS сервер.
Что для чего будет использоваться.Пойдём в обратном порядке:
Что за система, я уже писал, но напишу ещё раз.
ОС FreeBSD 7.0 установлена на Celeron 300 (на основе Pentium II) c 160 Мб ОЗУ. 20 Gb HDD
- ДНС. В качестве ДНС сервера я не стал изобретать велосипед. Есть BIND, входящий в комплект, его и заюзал. Причём, я его абсолютно не настраивал. То есть оставил «искаропки».
Единственное, что сделал — это прописал в /etc/rc.conf строку named_enable=”YES” и сделал /etc/rc.d/named start.
Как ни странно, но он отдаёт то что нужно и даже кеширует. Правда я не понял, где изменить время кэширования и какое оно. Может, кто подскажет? -
DHCP сервер. Тут тоже не стал заморачиваться.
- Устанавливаем
cd /usr/ports/net/isc-dhcp30-server/ make install clean
-
Пример конфига есть в /usr/local/etc/dhcpd.conf.sample
Сам конфиг должен быть /usr/local/etc/dhcpd.conf
Вот мой конфиг:# dhcpd.conf # #Обязательная опция, что-то связанное с dyn-dns. #Не стал заморачиваться, так как не юзаю ето. Поставил none ddns-update-style none; #Настройки логов. Оставил по дефолту log-facility local7; # Собственно настройки для сети subnet 192.168.0.0 netmask 255.255.255.0 { #Собственно сеть range 192.168.0.10 192.168.0.30; #Диапазон адресов option domain-name-servers 192.168.0.1; #ДНС сервера через пробел option domain-name "tralala.ru"; #хз для чего. От балды. option routers 192.168.0.1; #Шлюз по умолчанию option broadcast-address 192.168.0.255; #Широковещательный адрес. #Нафиг не нужен, но мало ли } #фиксированные IP для компов по MAC адресу. #Нужны для корректной раздачи инета.Об этом потом host tuupic { #имя хоста. Типа, ID hardware ethernet 00:11:22:33:AA:BB; #MAC адрес сетевухи server-name "tuupic"; #ещё раз имя хоста. Хз зачем. Видимо что-то с ДНС fixed-address 192.168.0.2; # собственно адрес } host rasta { hardware ethernet 00:11:22:33:AA:CC; server-name "rasta"; fixed-address 192.168.0.3; } - Правим /etc/rc.conf
dhcpd_enable="YES" #включаем dhcpd dhcpd_ifaces="vr0" #интерфейс, на котором он слушает. dhcpd_conf="/usr/local/etc/dhcpd.conf" #путь где конфиг лежит.
Путь к конфигу стал обязательной опцией после недавнего обновления
Если у вас сервер между локалкой провайдера и своей, то не надо «обижать» провайдера и мешать его DHCPD. Пишем интерфейс сетевухи, смотрящей внутрь. У меня ADSL, но нафиг лишняя дырка на внешнем интерфейсе
Пускай и закрытая модемом
-
Для красоты я сделал
ln -s /usr/local/etc/rc.d/isc-dhcpd /usr/local/etc/rc.d/dhcpd
Запускаем.
/usr/local/etc/rc.d/dhcpd start
- Устанавливаем
- Собственно раздача интернета – NAT.
Для этой цели я использую PF (OpenBSD Packet Filter). Но его настройка (да и установка во FreeBSD) не тривиальна.
Об этом я расскажу отдельно в следующий раз.
UDPATED: уже рассказал


