Страница 1 из 1

Маршрутизатор на FreeBSD (помогите построить)

Добавлено: 2009-06-22 22:13:39
rewired
Доброй ночи. Хочу построить роутер на FreeBSD 7.2 ipwf+nat, для домашней сети, в нете ничего не нашёл. Подскажите как это можно реализовать или где можно прочитать как это реализуется.Спасибо.

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-06-22 22:54:13
paradox
да полно!
www.lissyara.su/ раздел статей
и вибирай
чего там токо нету

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-06-22 22:58:12
rewired
к сожалению под 7.х не нашёл, но всё равно спасибо.

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-06-22 23:15:15
paradox
а какая разница 7.2 или 6.x или 5.x
все одинаково
правила стандартны
*большинство
новам и тех хватит

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-06-22 23:21:30
rewired
делал по правилам как в статье http://www.lissyara.su/?id=1127 компы за фрёй видели не дальше внешнего IP присвоенного провайдером

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-06-22 23:56:42
paradox
надо было всего два правила добавить
allow all from any to any
и divert

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-06-23 3:00:55
---nebo---
а есть в rc.conf

Код: Выделить всё

gateway_enable="YES"
HANDBOOK 27.2.4-7

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-06-23 7:19:34
Sun
Пример:
Есть
выход в интернет на интерфейсе rl0 с адресом 78.105.65.8
локальная сеть 192.168.0.0/24 на интерфейсе rl1 с адресом 192.68.0.1
нужно организовать доступ из локальной сети в интернет, для этого ставим freebsd версия не принцепиальна.

1 Собираем ядро с поддержкой IPFW + NAT для этого шагаем:

Код: Выделить всё

[/]# cd /sys /i386/conf
[/usr/src/sys/i386/conf/]# cp GENERIC MYCORE
после чего правим конфигурацию ядра добавляя/удаляя туда нужные нам опции, при этом вдумчиво читаем комментарии, а в частности необходимо изменить переменную ident GENERIC на ident MYCORE и добавить нужные нам опции :

Код: Выделить всё

options IPFIREWALL # Поддержка файрвола
options IPDIVERT     #  NAT (трансляция адресов)
options IPFIREWALL_FORWARD # перенаправление (форвардинг) пакетов например, для прозрачного прокси
options IPFIREWALL_DEFAULT_TO_ACCEPT # дефолтовое правило(последнее) разрешает все всем
это минимум опций для того чтобы сделать транслирующую железку, подробнее смотри на сайте и форуме.
после этого нужно скомпилить новое ядро, для этого в каталоге с конфигурацией ядра создаем скрипт такого вида:

Код: Выделить всё

[/usr/src/sys/i386/conf/]# ee make-core.sh
#!/bin/sh
kernel=”MYCORE”
config ${kernel}
cd ../compile/${kernel}
make cleandepend && make depend && make -j8 -B && make install && shutdown -r now
сделать файл исполняемым и запустить:

Код: Выделить всё

[/usr/src/sys/i386/conf/]# chmod +x make-core.sh
[/usr/src/sys/i386/conf/]# ./make-core.sh
2 после сборки ядра настраиваем rc.conf:

Код: Выделить всё

[/]# ee /etc/rc.conf
gateway_enable="YES"
sshd_enable="YES"
defaultrouter="78.105.65.1" # стандартный шлюз(настройки провайдера)
ifconfig_rl0="inet 78.105.65.8 netmask 255.255.255.240"
ifconfig_rl1="inet 192.168.0.1 netmask 255.255.255.0"
natd_enable="YES"
natd_interface="rl0"
natd_flags="-f /etc/natd.conf"
firewall_enable="YES"
firewall_script="/etc/ipfw.conf"
3 далее создаем если не создан или редактируем если создан resolv.conf и указываем в нем dns сервера провайдеа:

Код: Выделить всё

[/]# ee /etc/resolv.conf
nameserver 217.234.23.6
nameserver 89.145.87.109
4 далее создаем конфиг для nat:

Код: Выделить всё

[/]# ee /etc/natd.conf
log yes
use_sockets yes
same_ports yes
dynamic yes
unregistered_only yes
5 после чего создаем правила для межсетевого экрана

Код: Выделить всё

[/]# ee /etc/ipfw.conf
#!/bin/sh
fwcmd="/sbin/ipfw -q"
oif="rl0" #
${fwcmd} -f flush
${fwcmd} add pass all from any to any via lo0
${fwcmd} add deny all from any to 127.0.0.0/8
${fwcmd} add deny all from 127.0.0.0/8 to any
${fwcmd} add divert 8668 ip from any to any via ${oif}
6 после чего перезагружаете систему и пользуйтесь интернетом.

ЗЫ: настройки взяты произвольно, так что для работа способности используйте выданные вам провайдером, это касательно внешнего(интернет) интерфейса, настройки для локального интерфейса будут справедливы и для вашей сети.
ЗЫ2: для того чтобы локальные пользователи могли попасть в интернет необходимо присвоить им адреса с диапазона 192.168.0.0/24, например 192.168.0.2,192.168.0.3 ... 192.168.0.254, маска подсети 255.255.255.0, шлюзом указать вашу машину 192.168.0.1, а в dns серверах прописать dns сервера провайдера те что указываете в resolv.conf
ЗЫ3: более подробное описание настроек ищите на сайте и в интернет это минимум для поднятия шлюза.

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-06-23 10:54:54
Sun
+ можно прикрутить биллинг, сейчас настраивал stg-2.405, как корпаративный или домашний пойдет вполне, имеется возможность поднять впн и авторизация через радиус, самое главное в пакете и на сайте идет исчерпывающий набор подсказок и документации, конфиги прокомментированы на русском

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-06-23 11:25:55
rewired
Спасибо огромное! Всё работает просто потрясающе :Yahoo!:

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-06-23 13:04:23
snorlov
Sun писал(а):Пример:
Есть
выход в интернет на интерфейсе rl0 с адресом 78.105.65.8
локальная сеть 192.168.0.0/24 на интерфейсе rl1 с адресом 192.68.0.1
нужно организовать доступ из локальной сети в интернет, для этого ставим freebsd версия не принцепиальна.

1 Собираем ядро с поддержкой IPFW + NAT для этого шагаем:

более подробное описание настроек ищите на сайте и в интернет это минимум для поднятия шлюза.
Отличное пособие для чайников(начинающих), вот только ядро можно и не пересобирать, а грузить сразу модулями... :smile:

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-06-23 13:11:37
Sun
Просто ни разу модулем не подгружал, не пробовал, да и побыстрее оно в ядре будет. Дополните как их модулями подгружать и можно в вики запихать :roll:

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-06-25 15:33:54
snorlov
Sun писал(а):Просто ни разу модулем не подгружал, не пробовал, да и побыстрее оно в ядре будет. Дополните как их модулями подгружать и можно в вики запихать :roll:
Чего там сложного в /boot/loader.conf

Код: Выделить всё

ipfw_load="YES"
ipfw_nat_load="YES"
libalias_load="YES"

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-12-07 21:49:02
rewired
а на 8-ке все тоже самое в ядре прописывается? или какие то свои заморочки?

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-12-10 12:23:49
Sun
не пробовал пока 8ку,но думаю тоже самое, пробуйте

Re: Маршрутизатор на FreeBSD 7.2 (помогите построить)

Добавлено: 2009-12-11 20:56:29
distemper
в восьмерке тоже самое, только юзаю до сих пор 7.1))))) что то ломает обновлять... дома на тест восьмерку поставил.
по моим потребностям ничего нового... quagga и на 7.1 есть, так же как ipfw xD и snort)