пятница, 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

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

10 коммент.:

  1. Анонимный8 июля 2008 г., 6:42

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

    ОтветитьУдалить
  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. Анонимный17 мая 2011 г., 13:31

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

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

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

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