пятница, 28 сентября 2007 г.

Настройка роутера на FreeBSD



Что для этого нужно:
  • Компьютер с 2-мя сетевыми картами
  • Клава
  • CD-Rom
  • Диск с системой FreeBSD (чем выше версия, тем лучше)
  • Интернет
Роутер на FreeBSD можно сделать очень быстро, но это не очень интерессно. Поэтому я буду описывать настройку от простого к сложному. Для начала, можно просто включить NAT, указать что наш сервер является роутером, прописать DNS-ы провайдера и на всех остальных компьютерах, которым необходим выход в интернет - прописать IP адрес сервера в качестве основного шлюза. И все, интернет уже льется рекой.



Начну....
Про установку ОС, думаю рассказывать не нужно, а если нужно, то в хэндбуке это есть.
После того, как установилась система, необходимо настроить сетевые интерфейсы. Это можно сделать в программе sysinstall сразу после установки системы или прописать все настройки руками в файл /etc/rc.conf
Далее необходимо узнать модель сетевой карты. Пишем команду
#ifconfig
и смотрим на название сетевой карты, для того, чтобы знать, что именно нужно настроить. После ввода команды можно увидеть, что-то в этом роде:











Пока нам нужно знать только название сетевой карты (eth0, dc0, rl0 и т.д.)
Там могут быть и другие устройства например:
plip0 - это параллельный порт.
lo0 - это интерфейс для работы с localhost адрес 127.0.0.1
tun0 - это тунельный интерфейс ppp

С помощью текстового редактора "ее" открываем и правим файл /etc/rc.conf
#ee /etc/rc.conf

ifconfig_eth0="inet 222.11.222.12 netmask 255.255.255.0"     #Установка IP для внешнего интерфейса
ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0"       #Установка IP для внутренего интерфейса
hostname="gw.example.com"                                  #Указал имя серверу
defaultrouter="222.11.222.1"                              #Указал Основной шлюз. Это IP адресс провайдера.
gateway_enable="YES"                                     #Эта машина будет работать в качестве шлюза
natd_enable="YES"                                       #Включил NAT
natd_interface="eth0"                                  #Повесил его (NAT) на внешний интерфейс, смотрящий на провайдера
sshd_enable="YES"                       #Включил SSH демон, чтобы можно было управлять сервером, лежа на берегу моря :)
sendmail_enable="NONE"                  #Запрещаю запуск почтаря Sendmail, он пока не нужен

Теперь нужно прописать DNS-ы провайдера. Конфигурационный файл находится здесь /etc/resolv.conf.
#ee /etc/resolv.conf

nameserver 172.27.137.10
nameserver 172.27.137.20

Пока всё!!! Нажимаем ESC, подтверждаем сохранение документа и перезапускаем систему:

#shutdown -r now или #reboot

Теперь компьютеры в сети, должны получить выход в интернет. После перезагрузки нужно потестить слепленное. Попинговать себя, другие компы в сети и "мир".
________

11 комментариев:

  1. да будь я ламо, в рот мне ноги, но скриншот не фряшный! пингвинятиной попахивает!

    ОтветитьУдалить
  2. хз, может быть, картинка с википедии, её назначение - показать как выглядят названия интерфейсов.

    ОтветитьУдалить
  3. А не подскажешь как быть если у меня провайдер через DHCP инет раздаёт (привязывая его к маку)? Попробовал сделать как у тебя описанно.. но не получается. Заранее спс.

    ОтветитьУдалить
  4. Если по DHCP то для внешнего интерфейса запись будет выглядеть так:

    ifconfig_rl0="DHCP"

    и опцию defaultrouter="222.11.222.1" можно удалить!!!

    ОтветитьУдалить
  5. я так понял автор знает как nat-ить трафик из rc.conf без ipfw...

    ОтветитьУдалить
  6. Он просто взял freebsd 8 =
    Я отредактировал rc.conf и все пошло без компиляции ядра.
    У меня 8.0R i386

    ОтветитьУдалить
  7. Он просто взял freebsd 8 =
    Я отредактировал rc.conf и все пошло без компиляции ядра.
    У меня 8.0R i386

    ОтветитьУдалить
  8. что-то я туплю, как это у вас так получилось. Попробовал повторить, нат дальше внешнего (к прову обращенному) интерфейса не пускает. rc.conf и resolv.conf редактировал по образу и подобию. Фря 8.2

    ОтветитьУдалить
  9. ssh и пинг по адресу идет,
    а пинг по имени не идет фря 8.2
    что делать с dns ?

    ОтветитьУдалить
  10. 1. можно в файл hosts добавить имя+IP шлюза, тогда будет пинг по имени
    или
    2. добавить А запись в днс сервер имя+IP шлюза

    ОтветитьУдалить
  11. defaultrouter="xx.xx.xx.xx"
    gateway_enable="YES"
    hostname="bla.bla.ru"
    ifconfig_rl0="inet xx.xx.xx.yy netmask 255.255.255.zzz"
    ifconfig_rl1="inet 192.168.0.1 netmask 255.255.255.0"
    keymap="ru.koi8-r"
    linux_enable="YES"
    sshd_enable="YES"
    natd_enable="YES"
    natd_interface="rl0"
    firewall_enable="YES"
    firewall_type="open"
    router_enable="YES"
    router="/sbin/routed"
    router_flags="-q"

    Вот мой конфиг, всё работает

    ОтветитьУдалить