Nobody about something

Шлюз на FreeBSD

Написано 18 июня 2008 в 16:13 - Рубрики: *nix

Для начала, для чего он нужен и что должен уметь

  1. Раздача интернета. То есть нат
  2. Наиболее простой способ подключения компутера к сети. Без запоминания или ручного ввода каких-либо параметров. Короче DHCP сервер
  3. Уменьшить задержку на DNS, а заодно и скрыть от юзера адреса DNS провайдера. Короче кэширующий DNS сервер.


Что для чего будет использоваться.Пойдём в обратном порядке:
Что за система, я уже писал, но напишу ещё раз.
ОС FreeBSD 7.0 установлена на Celeron 300 (на основе Pentium II) c 160 Мб ОЗУ. 20 Gb HDD

  1. ДНС. В качестве ДНС сервера я не стал изобретать велосипед. Есть BIND, входящий в комплект, его и заюзал. Причём, я его абсолютно не настраивал. То есть оставил «искаропки».
    Единственное, что сделал — это прописал в /etc/rc.conf строку named_enable=”YES” и сделал /etc/rc.d/named start.
    Как ни странно, но он отдаёт то что нужно и даже кеширует. Правда я не понял, где изменить время кэширования и какое оно. Может, кто подскажет?
  2. 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
  3. Собственно раздача интернета – NAT.
    Для этой цели я использую PF (OpenBSD Packet Filter). Но его настройка (да и установка во FreeBSD) не тривиальна.
    Об этом я расскажу отдельно в следующий раз.
    UDPATED: уже рассказал
Метки:

Оставить комментарий