Показать полную графическую версию : Маршрутизатор
Не могу настроить роутер.
Имеется две сетевухи:
ed0 - (10.10.1.5) на ету подается инет
ed1 - (192.168.0.1) на ету надо подать инет
С сети под ed1 видно внешнюю сетевуху(10.10.1.5),
но пакеты не перенаправляются.
10.0.0.1 - мой шлюз
Пробовал такие команды:
fwd 10.0.0.1 ip from 10.10.1.5 to any out xmit ed1
или
fwd 10.0.0.1 ip from 192.168.0.1 to any out xmit ed1
менял местами ed0 и ed1 - все равно не канает.
Помогайте
ruslandh
26-05-2004, 19:29
Не знаю особенности FreeBSD, но задам один вопрос : А форвардинг включён ?
надо либо natd пускать, либо ipnat.
Читайте доки :)
Добавлено:
+ gateway_enable = "yes"
Все ето я включил в rc.conf, но не канает.
"все это" - это что?
а natd еще необходимо и параметры предавать...
Какие параметры? Об етом я не знаю. Подробнее...
B o s s
а в ядре что-нибудь типа
options IPFILTER
#и/или
options IPFIREWALL
и тд включено? Ядро перекомпилячено и система перезагружена? (это к вопросу ruslandh)
Вот недавно перекомпилил, буду пробовать.
доки читать надо! :)
http://dreamcatcher.ru/docs/nat.html
alexeyrostov
27-05-2004, 16:47
Доки читать обязательно!
http://www.bsdportal.ru/kb.php
Ну вообще маловато будет править только rc.conf , в ядро надо включить options IPDIVERT... При таком раскладе мне больше не понадобилось никаких настроек...
Вот минимальная конфа при которой все работает:
rc.conf
gateway_enable = "YES"
defaultrouter="xxx.xxx.xxx.xxx"
natd_program="/sbin/natd"
natd_enable="YES"
natd_interface="твой интерфейс в инет"
natd_flags="-dynamic -u"
Ядро
options MROUTING
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_DEFAULT_TO_ACCEPT
option IPDIVERT
Собственно этого должно хватить...
socrat
погоди, так ты хочешь сказать, что даже не прописываешь в /etc/rc.conf внутренний и наружный интерфейсы и не пишешь нат-правил типа map на наружный интерфейс проход из внутренней сетки наружу?
Исправлено: mar, 22:12 1-06-2004
Почему нет... просто я думаю это само собой подразумевается...
rc.conf
network-interfaces=""интерфейс смотрящий в инет" lo0 "в сеть""
по типу network-interfaces="tun0 lo0 rl0"
Правил для nat действительно не писал... все работает по умолчанию...
Belansky
03-06-2004, 11:28
socrat
Нет,само собой это не подразумевается. Правила нужны для natd.
Попробовал как пишете: ядро перекомпилил со всеми IPFIREWALL... , в rc.conf прописал все настройки, кроме правил для natd, но... : natd не запускается, network_interfaces="ed0 lo0 ed1" пишет not found, хотя сеть пашет нормально, но роутинг дальше не пашет. В чем проблема?
ну ссылку же уже нужную положили, искать ничего не надо, осталось взять и просто почитать и подставить свои значения - все. Так нет, люди не любят читать доки, faq'и и прочее, им нужно готовое решение...
naskolko ponyal ed1 smotrit v vnutrenuyu setc,a chrez ed0 ti doljen vixoditc n inet esli da to pichesh v rc.conf
Ifconfig_ed0="inet 10.0.0.1 netmask 255.255.255.0"(naprimer)
Ifconfig_ed1="inet 192.168.0.1 netmask 255.255.255.0"
defaultrouter="10.10.1.5"
привожу работающий пример целиком:
во-первых, вот ссылка на Кузмича (http://www.hub.ru/modules.php?name=Sections&sop=viewarticle&artid=24&page=2) Комментарии восновном оттуда
/usr/src/sys/i386/conf/router // файл конфига ядра
Сам конфиг:
# это куски моего, тут пока для роутинга непринципиально
cpu * * * * * * I586_CPU
cpu * * * * * * I686_CPU
ident * * * * * router # название файла конфига ядра
maxusers * * * *512 # тут завизит от задач
#options * * * *MATH_EMULATE * * * * * *#Support for x87 emulation
options * * * * INET * * * * * * * * * *#InterNETworking
options * * * * INET6 * * * * * * * * * #IPv6 communications protocols
## дальше добавляем:
options * * * * IPFIREWALL * * * * * *# Включение поддержки firewall в ядро.
* * * * * * * * * * * * * * * * * * *# Если нужны только простейшие функции,
* * *# вроде запрета или разрешения прохождения пакетов,
* * *# то эту опцию можно не включать -
* * *# FreeBSD загрузит соответствующий модуль автоматически,
* * *# если в /etc/rc.conf разрешено использование firewall,
* * *# но поддержка возможностей будет минимальной.
IPFIREWALL_VERBOSE * * * * *# При включении данной опции firewall может записывать
* * *# все "происшествия" в лог-файл.
options * * * * IPFIREWALL_VERBOSE_LIMIT=10 #Ограничение числа попадающих в лог сообщений.
* *# При отсутствии лимита хакер или просто сбойный компьютер в сети
* *# способны в считанные минуты сгенерировать столько пакетов,
* *# что лог-файл firewall'а займет все имеющееся дисковое пространство
option * * * * *IPDIVERT * * * *# Поддержка возможности передать пакет на обработку внешней программе.
# Примером такой программы служит natd - демон,
# маскирующий локальную сеть и переписывающий заголовки IP-пакетов.
# Программа обработки обязательно должна быть запущена на этой-же машине
ну и так далее, остальное в конфиге к делу не относится
сохраняем работающее ядро под каким-нибудь простым именем,
чтобы в случае чего с него загрузиться.
компилируем ядро:
# cd /usr/src/sys/i386/conf
config router
cd /usr/src/sys/compile/router
make depend
make all (идем обедать)
make install *(или make install clean)
файл /etc/rc.conf
defaultrouter="xxx.xxx.xxx.xxx" * #IP Адрес шлюза
hostname="router.some.net" * * * #имя хоста + доменное имя
ifconfig_rl0="inet xxx.xxx.xxx.xxx *netmask 255.255.255.0" * * *#Внешний интерфейс
ifconfig_rl1="inet 192.168.85.1 netmask 255.255.255.0" *#Внутренний интерфейс
inetd_enable="YES"
kern_securelevel_enable="NO"
linux_enable="YES"
nfs_reserved_port_only="YES"
sendmail_enable="YES"
sshd_enable="YES"
# ru
keymap="ru.koi8-r"
#keychange="61 ^[[K"
scrnmap="koi8-r2cp866"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
firewall_enable="YES" * * * * * * * * * * * *# Запускаем при старте работу ipfw
firewall_script="/etc/rc_my_router.firewall" * * # Скрипт с правилами ipfw
natd_enable="YES" * * # Разрешаем использовать natd
natd_interface="rl0" * * # Оъявляем интерфейс для трансляции
* * # внутренних адресов во внешний
gateway_enable="YES" * * # эта машина - шлюз
######----------------------
дальше создаем и прааим файл /etc/rc_my_router.firewall * * #Скрипт с правилами ipfw
#открываем все для всех
#настоящие правила пишем,
#когда заработает
ipfw='/sbin/ipfw -q'
${ipfw} -f flush
${ipfw} add divert natd all from any to any via rl0
${ipfw} add allow all from any to any
######----------------------
chmod 0700 /etc/rc_my_router.firewall
su-2.05b# ls -l /etc/rc_my_router.firewall
-rwx------ *1 root *wheel *130 *8 июн 10:31 /etc/rc_my_router.firewall
reboot
Все! все должно работать
(те из машины внутренней сети
можно вылезти наружу,
не забыв установить ей в виде шлюза
ip внутренней карточки роутера)
После этого можно подумать о настоящих правилах для подсетки.
Исправлено: mar, 19:53 9-06-2004
Belansky
12-06-2004, 10:03
B o s s
mar абсолютно рабочий пример конфига выложила, попробуйте.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.