URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89662
[ Назад ]

Исходное сообщение
"FreeBSD шлюз "

Отправлено Dronissimo , 23-Авг-10 15:45 
Доброго времени суток
такая ситуация
есть FreeBSD
две сетевухи rl1 (10.60.42.252/24) внешняя сеть
             rl0 (192.168.0.201/24) внутренняя          

есть роутер ( 192.168.0.253 )с которого будет идти интернет

на фря

/etc/rc.conf

gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
defaultrouter="10.60.42.253"
ipnat_enable="YES"
ipnat_rules="/etc/ipnat.rules"

/etc/ipnat.rules

map rl0 from 192.168.0.0/24 to 10.60.42.0/24 -> 10.60.42.252

netstat -r

default      10.60.42.253   ugs   0    0    rl1
10.60.42/24  link#2         uc    0    0    rl1
192.168.0    link#1         uc    0    0    rl0


ping 10.60.42.253 ......OK
ping 192.168.0.x .......OK


пробую с локалки достучаться до роутера windows
выстовляю шлюзом адрес 192.168.0.201

tracert 10.60.42.253

1: 1мс   1мс   1мс  192.168.0.201
2:  *    *      *
3:  *    *      *
n:  *    *      *


как сделать так что бы все что отправлялось на 192.168.0.201 перенаправялось в другую сеть ????


Содержание

Сообщения в этом обсуждении
"FreeBSD шлюз "
Отправлено Dronissimo , 23-Авг-10 16:53 
фактически мне нужно сделать только что бы трафик с одного интефейса переходил на другой
а функцию NAT сделает роутер


"FreeBSD шлюз "
Отправлено Grey , 23-Авг-10 17:09 
>фактически мне нужно сделать только что бы трафик с одного интефейса переходил
>на другой
>а функцию NAT сделает роутер

тогда всё просто как трусы:
упоминания ipnat уберите а на роутере (который 10.60.42.253) пропишите маршрут в сеть 192.168.0.0/24 через 10.60.42.252


"FreeBSD шлюз "
Отправлено Dronissimo , 23-Авг-10 17:32 
>тогда всё просто как трусы:
>упоминания ipnat уберите а на роутере (который 10.60.42.253) пропишите маршрут в сеть
>192.168.0.0/24 через 10.60.42.252

ipnat закоментил

не могли бы вы обьяснить , чем именно организуется функция передачи трафика с одного сетевого интерфейса другому ?

ipfw divert ?


"FreeBSD шлюз "
Отправлено Grey , 23-Авг-10 17:47 
>>тогда всё просто как трусы:
>>упоминания ipnat уберите а на роутере (который 10.60.42.253) пропишите маршрут в сеть
>>192.168.0.0/24 через 10.60.42.252
>
>ipnat закоментил
>
>не могли бы вы обьяснить , чем именно организуется функция передачи трафика
>с одного сетевого интерфейса другому ?
>
>ipfw divert ?

gateway_enable="YES"

из локалки 10.60.42.253 не пингуется?
маршрут на 10.60.42.253 добавляли?
если на 10.60.42.253 виндовс, то:
route add 192.168.0.0 mask 255.255.255.0 10.60.42.252 -p
примерно так.


"FreeBSD шлюз "
Отправлено Dronissimo , 23-Авг-10 18:04 
>gateway_enable="YES"

только это и не каких перенаправлений в ipfw или еще чегонибудь ?
(просто эта опция включена...но результат пока 0)

>из локалки 10.60.42.253 не пингуется?

не пингуется =(
>маршрут на 10.60.42.253 добавляли?

нет не добавлял ...
не совсем понял , это критично именно для роутеров ? (добавление маршрута)
просто если у меня будет на пример вторая сетка 10.60.42.0 то мне придется добавлять на каждой машине сети маршрут ?

>если на 10.60.42.253 виндовс, то:
>route add 192.168.0.0 mask 255.255.255.0 10.60.42.252 -p

по 10.60.42.253 находится роутер DFL-210
в котором забиты адресса dns gateway провадера
необходимо что бы во внутренней сети 192.168.0.x прописав gateway адресс 192.168.0.201 (rl1 на freeBSD) можно было достучатся через 10.60.42.252 (rl0 он кстати пингуеться из внутренней сети ) до Dlink DFL-210 который уже и раздаст интернет

3 день бьюсь ...но немогу понять где у меня ошибка
ipfw_type="OPEN" все пропускает .
стал читать другие статьи там делали нечто подобное с помощью прописывания правил в ipfw
ipfw add divert ... тоесть этот вариант перенаправления с rl1 на rl2 посредством фаирвола ? но он у меня тоже не заработал...


"FreeBSD шлюз "
Отправлено reader , 23-Авг-10 20:12 
>[оверквотинг удален]
>на freeBSD) можно было достучатся через 10.60.42.252 (rl0 он кстати пингуеться
>из внутренней сети ) до Dlink DFL-210 который уже и раздаст
>интернет
>
>3 день бьюсь ...но немогу понять где у меня ошибка
>ipfw_type="OPEN" все пропускает .
>стал читать другие статьи там делали нечто подобное с помощью прописывания правил
>в ipfw
>ipfw add divert ... тоесть этот вариант перенаправления с rl1 на rl2
>посредством фаирвола ? но он у меня тоже не заработал...

там наверно nat  делается, нужный что бы ответы приходили.
вы тоже можете на интерфейсе с 10.60.42.252 сделать nat, а можете обойтись маршрутизацией (nat будет происходить в Dlink), но тогда в Dlink то же нужно будет прописать маршрут к 192.168.0.x через 10.60.42.252


"FreeBSD шлюз "
Отправлено Dronissimo , 23-Авг-10 20:37 

>там наверно nat  делается, нужный что бы ответы приходили.
>вы тоже можете на интерфейсе с 10.60.42.252 сделать nat, а можете обойтись
>маршрутизацией (nat будет происходить в Dlink), но тогда в Dlink то
>же нужно будет прописать маршрут к 192.168.0.x через 10.60.42.2

тоесть есть ли делать NAT до роутера  то маршрутизация не понадобится ?


"FreeBSD шлюз "
Отправлено reader , 23-Авг-10 20:52 
>
>>там наверно nat  делается, нужный что бы ответы приходили.
>>вы тоже можете на интерфейсе с 10.60.42.252 сделать nat, а можете обойтись
>>маршрутизацией (nat будет происходить в Dlink), но тогда в Dlink то
>>же нужно будет прописать маршрут к 192.168.0.x через 10.60.42.2
>
>тоесть есть ли делать NAT до роутера  то маршрутизация не понадобится
>?

то в Dlink маршруты писать не нужно будет, будут использоваться те что там сами прописываются
Dlink будет считать что все обращения идут от 10.60.42.252, а маршрут к нему он будет знать


"FreeBSD шлюз "
Отправлено Grey , 23-Авг-10 21:19 
>стал читать другие статьи там делали нечто подобное с помощью прописывания правил
>в ipfw
>ipfw add divert ... тоесть этот вариант перенаправления с rl1 на rl2
>посредством фаирвола ? но он у меня тоже не заработал...

Вы для начала руководство по FreeBSD прочитали?
nat на FreeBSD делается за 3 секунды средствами ipfw и даже без диверта и natd демона.
правильно скомпилить ядро (или подключить нужные модули) и в rc.conf прописать пару строк... в /etc/default/rc.conf есть все примеры.

или Вам готовый конфиг надо дать? :)

P.S. если роутером у вас D-Link, то nat на вашей машине необходим. Тонкость в том, что D-Link выпустит наружу только свою подсеть, т.е. ту, что прописана у него на внутреннем интерфейсе. маршрут можно прописать, но именно наружу выйти не получится.


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 00:00 
>P.S. если роутером у вас D-Link, то nat на вашей машине необходим.
>Тонкость в том, что D-Link выпустит наружу только свою подсеть, т.е.
>ту, что прописана у него на внутреннем интерфейсе. маршрут можно прописать,
>но именно наружу выйти не получится.

это потому что маршрутом ,не будет отображения внутренних адресов во внешние ?
и фря будет выходить , внутренняя сеть не сможет ..


"FreeBSD шлюз "
Отправлено Grey , 24-Авг-10 07:44 
>>P.S. если роутером у вас D-Link, то nat на вашей машине необходим.
>>Тонкость в том, что D-Link выпустит наружу только свою подсеть, т.е.
>>ту, что прописана у него на внутреннем интерфейсе. маршрут можно прописать,
>>но именно наружу выйти не получится.
>
>это потому что маршрутом ,не будет отображения внутренних адресов во внешние ?
>
>и фря будет выходить , внутренняя сеть не сможет ..

какое ещё отображение?
вы основы то хоть чуть почитайте ....

А про такое поведение ДЛинка: вот такой софт для этих железок пишут ... SOHO всё таки, много ждать не приходится ... :) потому я всегда на фре роутеры поднимаю, а клиентам "домохозяйкам" советую SOHO, им хватает :)


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 12:43 
....решил поставить все с нуля и сделать четко по мануалу

и так собираю ядро с двумя опциями
options IPFIREWALL
options IPDIVERT

/etc/rc.conf

gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
natd_interface="rl1" #внешний 10.60.42.252
natd_flags=""

ifconfig_rl0="inet 192.168.0.201 netmask 255.255.255.0"
ifconfig_rl1="inet 10.60.42.252 netmask 255.255.255.0"


беру любую машину с 192.168.0.0/24 (gateway 192.168.0.201)

ping 192.168.0.201 -OK
ping 10.60.42.252-OK
ping 10.60.42.253-FAIL

tracert 10.60.42.253
1:192.168.0.201
2: *    *    *

need help ...что не так ?
(где то на форуме читал ..что с firewall_type="OPEN" nat не работает ...
попробовал..firewall_type=/etc/firewall.conf) все равно не могу достучатся до второй сетки

я так понимаю что  просто не происходит перенаправления трафика с 192.168.0.201 к 10.60.42.252


"FreeBSD шлюз "
Отправлено Кирилл_Н , 24-Авг-10 13:11 
>[оверквотинг удален]
>1:192.168.0.201
>2: *    *    *
>
>need help ...что не так ?
>(где то на форуме читал ..что с firewall_type="OPEN" nat не работает ...
>
>попробовал..firewall_type=/etc/firewall.conf) все равно не могу достучатся до второй сетки
>
>я так понимаю что  просто не происходит перенаправления трафика с 192.168.0.201
>к 10.60.42.252

когда пингуете 10.60.42.253 из локалки посмотрите тисипидампом на rl0 и rl1 icmp трафик. При этом попробуйте совсем отключить фаервол и нат. При маршруте по умолчанию через 10... и включённой опции gateway с rl1 должны уходить ицмп пакеты с адресом отправителя 192.168..


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 13:33 
>когда пингуете 10.60.42.253 из локалки посмотрите тисипидампом на rl0 и rl1 icmp
>трафик. При этом попробуйте совсем отключить фаервол и нат. При маршруте
>по умолчанию через 10... и включённой опции gateway с rl1 должны
>уходить ицмп пакеты с адресом отправителя 192.168..

на маашине из 192.168.0.0/24
ping 10.60.42.253

в это время на фря

tcpdump host 192.168.0.201
arp who-has 192.168.0.201 tell 192.168.0.247
arp reply 192.168.0.201 is-at $macaddr (oui Unknown) #вот тут что происходит непонятное
                                                             #и трафик не куда не идет (

tcpdump host 10.60.42.252
просто молчит....


"FreeBSD шлюз "
Отправлено Кирилл_Н , 24-Авг-10 13:38 
>tcpdump host 192.168.0.201
>tcpdump host 10.60.42.252
>просто молчит....

tcpdump host 192.168.0.201 это пакеты от 192.168.0.201 или к 192.168.0.201 вам надо:

tcpdump -i rl0 icmp
и
tcpdump -i rl1 icmp

или, если хочется ловить именно пакеты к 10.60.42.253:
tcpdump -i rl0 host 10.60.42.253 icmp
и
tcpdump -i rl1 host 10.60.42.253 icmp


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 13:55 
отключил фаирвол (firewall_enable="NO")
отключил нат ( убрал имя интерфейса )
/etc/netstart

на машине во внутренней сети #(192.168.0.247 шлюз 192.168.0.201
ping 10.60.42.253

tcpdump -i rl0 icmp #(rl0 192.168.0.201)

IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512,

IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512,

IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512,


tcpdump -i rl1 icmp #(rl0 192.168.0.201)

IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512,

IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512,

IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512,


0_o то есть все проходит получается


"FreeBSD шлюз "
Отправлено Кирилл_Н , 24-Авг-10 14:01 
>[оверквотинг удален]
>IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512,
>
>
>tcpdump -i rl1 icmp #(rl0 192.168.0.201)
>
>IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512,
>
>IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512,
>
>IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512,

вот теперь видно, что пакеты с rl0 попадают на rl1 уходят дальше. но назад они не возвращаются, т.к. 10...253 не знает куда отправлять пакеты для сети 192.168.0.0/24. включите нат и фаервол и опять посмотрите траф на rl1. если нат настроен правильно, то пакеты будут уходить с адреса 10.60.42.252


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 14:13 

>[оверквотинг удален]
>пакеты для сети 192.168.0.0/24. включите нат и фаервол и опять посмотрите
>траф на rl1. если нат настроен правильно, то пакеты будут уходить
>с адреса 10.60.42.252
>>tcpdump -i rl1 icmp #(rl0 192.168.0.201)
>>
>>IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512,
>>
>>IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512,
>>
>>IP 192.168.0.247 > 10.60.42.253: ICMP echo request, id 512

все тоже самое ...
подскажите что можно попробовать %)
как запустить NAT
в /etc/rc.conf

natd_interface="rl1"
natd_flags=""

это все что я настраивал для nat
(ну и ядре опцию IPDIVERT)


"FreeBSD шлюз "
Отправлено Grey , 24-Авг-10 14:26 
>[оверквотинг удален]
>options IPFIREWALL
>options IPDIVERT
>
>/etc/rc.conf
>
>gateway_enable="YES"
>firewall_enable="YES"
>firewall_type="OPEN"
>natd_interface="rl1" #внешний 10.60.42.252
>natd_flags=""

где defaultrouter="10.60.42.253" ?
где natd_enable="YES" ?

>
>ifconfig_rl0="inet 192.168.0.201 netmask 255.255.255.0"
>ifconfig_rl1="inet 10.60.42.252 netmask 255.255.255.0"
>
>

с вашей машины
ping 10.60.42.253-OK  ?

>беру любую машину с 192.168.0.0/24 (gateway 192.168.0.201)
>
>ping 192.168.0.201 -OK
>ping 10.60.42.252-OK
>ping 10.60.42.253-FAIL
>
>tracert 10.60.42.253
>1:192.168.0.201
>2: *    *    *

полный rc.conf и вывод ipfw show в студию.


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 15:08 
>с вашей машины
>ping 10.60.42.253-OK  ?

в 192.168.0.0/24 пинга нет
с фряхи пинг есть

>полный rc.conf и вывод ipfw show в студию.

/etc/rc.conf
getway_enable="YES"
firewall_enable="YES" #пробовал NO нечего не меняется
firewall_type="OPEN"
natd_enable="YES"
natd_interface="rl1" #10.60.42.252 внешний адресс
natd_flags=""
sshd_enable="YES"
usbd_enable="YES"
if_config_rl1=" inet 10.60.42.252 netmask 255.255.255.0"
if_config_rl0="inet 192.168.0.201 netmask 255.255.255.0"
defaultrouter="10.60.42.253"

#ipfw show

100 allow ip from any to any via lo0
200 deny ip from any to 127.0.0.0/8
300 deny ip from 127.0.0.0/8 to any
65000 allow ip from any to any
65535 deny ip from any to any

я так понял что NAT не работает
tcpdump -i rl1 icmp
ip 192.168.0.247 > 10.60.42.253

а должно быть вроде как 10.60.42.252 > 10.60.42.253
то есть 192.168.0.247 должен быть 10.60.42.252


"FreeBSD шлюз "
Отправлено Кирилл_Н , 24-Авг-10 15:22 
>[оверквотинг удален]
>300 deny ip from 127.0.0.0/8 to any
>65000 allow ip from any to any
>65535 deny ip from any to any
>
>я так понял что NAT не работает
>tcpdump -i rl1 icmp
>ip 192.168.0.247 > 10.60.42.253
>
>а должно быть вроде как 10.60.42.252 > 10.60.42.253
>то есть 192.168.0.247 должен быть 10.60.42.252

я не силён в ipfw, но на сколько я понимаю должно быть правило, которое заворачивает пакеты на нат демон. что-то вроде
ipfw add 2 divert 8668  all from 192.168.0.0/24 to any via rl1
а для нат демона должен быть указан флаг -p 8668 для этого правила
вот тут что-то есть по этому поводу
http://www.opennet.me/base/net/fire.txt.html


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 15:51 

>я не силён в ipfw, но на сколько я понимаю должно быть
>правило, которое заворачивает пакеты на нат демон. что-то вроде
>ipfw add 2 divert 8668  all from 192.168.0.0/24 to any via
>rl1
>а для нат демона должен быть указан флаг -p 8668 для этого
>правила
>вот тут что-то есть по этому поводу
>http://www.opennet.me/base/net/fire.txt.html

читал уже пробовал
сейчас пробую еще раз

добавил
>ipfw add 2 divert 8668  all from 192.168.0.0/24 to any via rl1

нет нечего не изменилось

пробовал еще добавить
ipfw add 1 divert 8668 all from any to 10.60.42.0/24 via rl1

тоже нечего , только
tcpdump -i rl1 icmp не чего не выводит


"FreeBSD шлюз "
Отправлено Кирилл_Н , 24-Авг-10 15:56 
>[оверквотинг удален]
>>ipfw add 2 divert 8668  all from 192.168.0.0/24 to any via rl1
>
>нет нечего не изменилось
>
>пробовал еще добавить
>ipfw add 1 divert 8668 all from any to 10.60.42.0/24 via rl1
>
>
>тоже нечего , только
>tcpdump -i rl1 icmp не чего не выводит

а для натд указали читать пакеты с порта 8668?


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 16:02 

>а для натд указали читать пакеты с порта 8668?

пардон ищу как это сделать ...


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 16:06 
>
>>а для натд указали читать пакеты с порта 8668?
>
>а разве это не его стандартный порт ?

"FreeBSD шлюз "
Отправлено Grey , 24-Авг-10 16:02 
>[оверквотинг удален]
>300 deny ip from 127.0.0.0/8 to any
>65000 allow ip from any to any
>65535 deny ip from any to any
>
>я так понял что NAT не работает
>tcpdump -i rl1 icmp
>ip 192.168.0.247 > 10.60.42.253
>
>а должно быть вроде как 10.60.42.252 > 10.60.42.253
>то есть 192.168.0.247 должен быть 10.60.42.252

всё верно, но правила для диветра нет .... думаю что в ядре нет options IPDIVERT
это надо вписать и пересобрать ядро, а ен просто вписать.

и ещё, надеюсь родной rc.firewall не ковыряли руками? там всё из коробки должно работать.


P.S. чуть не забыл:
if_config_rl1=" inet 10.60.42.252 netmask 255.255.255.0"
if_config_rl0="inet 192.168.0.201 netmask 255.255.255.0"
это надеюсь опечатка, должно быть:
ifconfig_rl1=" inet 10.60.42.252 netmask 255.255.255.0"
ifconfig_rl0="inet 192.168.0.201 netmask 255.255.255.0"
разницу заметно?


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 16:09 
>[оверквотинг удален]
>>я так понял что NAT не работает
>>tcpdump -i rl1 icmp
>>ip 192.168.0.247 > 10.60.42.253
>>
>>а должно быть вроде как 10.60.42.252 > 10.60.42.253
>>то есть 192.168.0.247 должен быть 10.60.42.252
>
>всё верно, но правила для диветра нет .... думаю что в ядре
>нет options IPDIVERT
>это надо вписать и пересобрать ядро, а ен просто вписать.

есть IPDIVERT 100% посмотрел конфиг ядра с которого собирал ...есть там
а как вписать этот диверт для ipfw ?
>и ещё, надеюсь родной rc.firewall не ковыряли руками? там всё из коробки
>должно работать.

не трогал
>
>P.S. чуть не забыл:
>if_config_rl1=" inet 10.60.42.252 netmask 255.255.255.0"
>if_config_rl0="inet 192.168.0.201 netmask 255.255.255.0"
>это надеюсь опечатка, должно быть:
>ifconfig_rl1=" inet 10.60.42.252 netmask 255.255.255.0"
>ifconfig_rl0="inet 192.168.0.201 netmask 255.255.255.0"
>разницу заметно?

да ,извиняюсь опечатка .


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 16:14 
>[оверквотинг удален]
>>
>>P.S. чуть не забыл:
>>if_config_rl1=" inet 10.60.42.252 netmask 255.255.255.0"
>>if_config_rl0="inet 192.168.0.201 netmask 255.255.255.0"
>>это надеюсь опечатка, должно быть:
>>ifconfig_rl1=" inet 10.60.42.252 netmask 255.255.255.0"
>>ifconfig_rl0="inet 192.168.0.201 netmask 255.255.255.0"
>>разницу заметно?
>
>да ,извиняюсь опечатка .

как можно вписать этот диверт
я так понял что надо вписать в natd и в ipfw
(ищу но пока немогу найти ..что бы про divert nat было )


"FreeBSD шлюз "
Отправлено Grey , 24-Авг-10 16:16 
>есть IPDIVERT 100% посмотрел конфиг ядра с которого собирал ...есть там
>а как вписать этот диверт для ipfw ?

вообще, если всё верно сделано, то ничего вписывать дополнительно не надо. Если выбран тип OPEN и прописан natd, то в набор правил добавляется правило диверта (см. rc.firewall)
ищите опечатки и т.п.

вообще, то что вы хотите сделать - самое первое и простое, чему обычно стоит научиться, когда начинаешь заниматься сетевыми делами на FreeBSD :)


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 16:18 
>обычно стоит научиться, когда начинаешь заниматься сетевыми делами на FreeBSD :)

epic fail :)

>прописан NATd

natd_enable="YES"
natd_interface="rl1"
natd_flags=""


этого должно хватит при базовой настройке что бы он заработал ?


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 16:23 
РЕБяТАААААААА УРАААААА кто будет в КАЛИНИНГРАДЕ С МЕНЯ ПИВО
(те кто помогал )

заработал NAT
достучался до роутера
ЭТО конечно еще не еще но я уже ужасно РАД


"FreeBSD шлюз "
Отправлено Grey , 24-Авг-10 16:24 
>РЕБяТАААААААА УРАААААА кто будет в КАЛИНИНГРАДЕ С МЕНЯ ПИВО
>(те кто помогал )
>
>заработал NAT
>достучался до роутера
>ЭТО конечно еще не еще но я уже ужасно РАД

... ну и подробнее? интересно всё же, правильно ли я догадки строил или нет :) (уже спортивный интерес появился)


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 16:42 
:)

"FreeBSD шлюз "
Отправлено Grey , 24-Авг-10 16:23 
>
>>обычно стоит научиться, когда начинаешь заниматься сетевыми делами на FreeBSD :)
>
>epic fail :)

можете смеяться :) но за последнее время вы тут не первый с таким вопросом...
меня вот только удивляет, как так можно настраивать, что самое простое сделать не получается?
беру диск, устанавливаю ось, ещё с часик времени и роутер с nat готов. это при условии что под "пограничников" обычно берут древнее железо и оттранслить ядро не всегда получается быстро. попутно ставлю несколько софтин, которые потом бывают очень полезны.
Что тут такого страшного - не понятно :) А самое классное, что не надо педалить с нуля набор правил для фаервола! Из коробки всё заводится с полпинка :)


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 16:43 
>... ну и подробнее? интересно всё же, правильно ли я догадки строил
>или нет :) (уже спортивный интерес появился)

я уже не знаю что помогло ( то что вы помогли это точно ,за что именно вам СПАСИБО!!!)

вот что я сделал

natd_enable="NO"

/etc/netstart

natd_enable="YES"

/etc/netstart

и побежал NAT'ик

предстоит раздавать через этот шлюз инет в локалку
я вот хотел спросить
вы писали , что если сделать без НАТ , а маршрутом то будет видеться только 10.60.42.0/24
а внутренняя сеть не сможет выйти ....
не могу понять почему ? потому что при маршруте( rl0 to rl1) он бы доходил до роутера ,который бы НАТил трафик в инет , но вернуть в во внутреннюю сеть (192.xx.xx.xx) не смог
потому что незнал бы кому возращать

просто мне придеться еще с этим столкнуться ( да и понравилась мне FreeBSD) поэтому хотел узнать все до конца


"FreeBSD шлюз "
Отправлено Кирилл_Н , 24-Авг-10 16:51 
>[оверквотинг удален]
>вы писали , что если сделать без НАТ , а маршрутом то
>будет видеться только 10.60.42.0/24
>а внутренняя сеть не сможет выйти ....
>не могу понять почему ? потому что при маршруте( rl0 to rl1)
>он бы доходил до роутера ,который бы НАТил трафик в инет
>, но вернуть в во внутреннюю сеть (192.xx.xx.xx) не смог
>потому что незнал бы кому возращать
>
>просто мне придеться еще с этим столкнуться ( да и понравилась мне
>FreeBSD) поэтому хотел узнать все до конца

если не поднимать нат на сервере, то пакеты на 10...253 будут уходить с адресами 192.168..  если на следующем девайсе настроить нат с этих адресов и прописать маршрут в подсеть 192.168.. через 10...252, то теоретически пакеты будут проходить через фрю обратно в 192.168..


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 16:56 
делаю tracert 10.60.42.253
показывает только
1: 192.168.0.201
2:  *     *     *

вопрос не критичен просто получается не понятно почему он не может увидеть
(ну я понимаю что NAT это делает )


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 16:56 

>если не поднимать нат на сервере, то пакеты на 10...253 будут уходить
>с адресами 192.168..  если на следующем девайсе настроить нат с
>этих адресов и прописать маршрут в подсеть 192.168.. через 10...252, то
>теоретически пакеты будут проходить через фрю обратно в 192.168..

спасибо понял


"FreeBSD шлюз "
Отправлено Grey , 24-Авг-10 17:05 
>[оверквотинг удален]
>вы писали , что если сделать без НАТ , а маршрутом то
>будет видеться только 10.60.42.0/24
>а внутренняя сеть не сможет выйти ....
>не могу понять почему ? потому что при маршруте( rl0 to rl1)
>он бы доходил до роутера ,который бы НАТил трафик в инет
>, но вернуть в во внутреннюю сеть (192.xx.xx.xx) не смог
>потому что незнал бы кому возращать
>
>просто мне придеться еще с этим столкнуться ( да и понравилась мне
>FreeBSD) поэтому хотел узнать все до конца

Именно с вашей моделью длинка я не сталкивался, но на парочке других (а-ля DIR-100 и DIR-300) и ещё на одном SOHO роутере (точнее ADSL мопеде с функциями "пограничника") видел такую картину:
после SOHO внутри сети стоит маршрутизатор (FreeBSD, хотя не суть) за ним ещё подсеть (не такая же как прописана на SOHO). на SOHO прописываю маршрут во вторую подсеть за FreeBSD, всё пашет нормально и правильно, но из этой второй подсети выход в инет через SOHO не получается. Делаю для себя вывод: на SOHO роутерах (возможно специально) деалется возможным проход в инет ТОЛЬКО для подсети, которая прописыватеся на внутреннем интерфейсе роутер.
Почему так - вопрос почти риторический.
К примеру на 604 длинке нельзя прописать статический маршрут. а если пройти про известному урлу, то становится доступным прописать статический маршрут :) Почему? :)


"FreeBSD шлюз "
Отправлено Dronissimo , 24-Авг-10 17:10 
>[оверквотинг удален]
>>вы писали , что если сделать без НАТ , а маршрутом то
>>будет видеться только 10.60.42.0/24
>>а внутренняя сеть не сможет выйти ....
>>не могу понять почему ? потому что при маршруте( rl0 to rl1)
>>он бы доходил до роутера ,который бы НАТил трафик в инет
>>, но вернуть в во внутреннюю сеть (192.xx.xx.xx) не смог
>>потому что незнал бы кому возвращать
>>
>>просто мне придется еще с этим столкнуться ( да и понравилась мне
>>FreeBSD) поэтому хотел узнать все до конца

спасибо еще раз

завтра буду пробовать выходить в инет через связку шлюз-роутер
(сегодня не могу т.к. придется отключить действующий интернет)



"FreeBSD шлюз "
Отправлено Grey , 24-Авг-10 17:12 
>я уже не знаю что помогло ( то что вы помогли это
>точно ,за что именно вам СПАСИБО!!!)

приятно ;)

а помогло видимо то, что не достаточно просто прописать нужное в rc.conf, надо ещё сделать то, что вы написали или просто ребутнуть машинку :)
>[оверквотинг удален]
>
>natd_enable="NO"
>
>/etc/netstart
>
>natd_enable="YES"
>
>/etc/netstart
>
>и побежал NAT'ик

если у вас длинк - это ADLS мопед, то можно его перевести в режим бриджа, после него включить FreeBSD, штатными средствами (ppp) поднять на ней PPPoE (если это необходимо) и вопрос с выпуском наружу нескольких внутренних подсетей отпадёт сам собой :) и подозреваю, что потом захочется сайтик на FreeBSD поднять и DNS, чёб зону для сайта самому поддерживать, а потом ещё захочется воткнуть во фрю пару винтов и забацать сетевое хранилище (SMB) :) а ещё контру там поднять ... :) много чего можно сделать ... на SOHO роутере такого не поднимешь, хотя для домохозяйки и только для выхода в инет с одного парочки компов и холодильника - самое оно :)


"FreeBSD шлюз "
Отправлено Dronissimo , 25-Авг-10 12:11 
Доброго времени суток
как и следовало ожидать интернет не побежал (сейчас все пробую через фря) =(

делаю
ping opennet.ru
ping: cannot resolve opennet.ru: Host name lookup failur

find /etc/resolv.conf
can't find /etc/resolv.conf

создаю /etc/resolv.conf
со строкой
nameserver 10.60.42.253

делаю
ping opennet.ru
ping: cannot resolve opennet.ru: Host name lookup failure

(на второй консоли в это время )

tcpdump -i rl1

ip 10.60.42.252.55761 > 10.60.42.253.domain: 23280+ A? opennet.ru. (27)

адресса DNS серверов забиты на роутере (Dlink dfl-210) по адрессу 10.60.42.253 он же defaultrouter="10.60.42.253"

как можно перенаправить запорсы DNS что бы они доходили до роутера ?
а тот как я понимаю сам разберется что куда отправить ...


"FreeBSD шлюз "
Отправлено Grey , 25-Авг-10 12:31 
>[оверквотинг удален]
>ping opennet.ru
>ping: cannot resolve opennet.ru: Host name lookup failure
>
>(на второй консоли в это время )
>
>tcpdump -i rl1
>
>ip 10.60.42.252.55761 > 10.60.42.253.domain: 23280+ A? opennet.ru. (27)
>
>адресса DNS серверов забиты на роутере (Dlink dfl-210) по адрессу 10.60.42.253

а если их сюда вбить? (каждый адрес на новой строке:
nameserver xx.xx.xx.x1
nameserver xx.xx.xx.x2


"FreeBSD шлюз "
Отправлено Dronissimo , 25-Авг-10 12:55 

>а если их сюда вбить? (каждый адрес на новой строке:
>nameserver xx.xx.xx.x1
>nameserver xx.xx.xx.x2

тогда на фря все пингуется  (10.60.42.252)
ping opennet.ru ....OK

НО из локалки пинга нет (192.168.0.0/24)
ping opennet.ru .....FAIL

как я понимаю если их (DNS адреса) вбивать в rc.conf то он просто сразу запрос посылает на них
а надо что бы пришло на роутер ,а роутер сам разбрался что куда ...
Возможно ли такое ?


"FreeBSD шлюз "
Отправлено Grey , 25-Авг-10 13:10 
>[оверквотинг удален]
>ping opennet.ru ....OK
>
>НО из локалки пинга нет (192.168.0.0/24)
>ping opennet.ru .....FAIL
>
>как я понимаю если их (DNS адреса) вбивать в rc.conf то он
>просто сразу запрос посылает на них
>а надо что бы пришло на роутер ,а роутер сам разбрался что
>куда ...
>Возможно ли такое ?

Возможно, если роутер ваш правильно настроен ... трафик ходит, инет доступен, а вот запросы ДНС ваш роутер не отрабатывает


"FreeBSD шлюз "
Отправлено Dronissimo , 25-Авг-10 13:23 

>Возможно, если роутер ваш правильно настроен ... трафик ходит, инет доступен, а
>вот запросы ДНС ваш роутер не отрабатывает

ситуация такая до этого был рабочий шлюз на BSD и работал он через роутер
шлюз канул в лету ( сломался HDD) на роутере все настройки теже ..что и были до этого
тоесть должен быть какойто вариант на фря

если nameserver 10.60.42.253 #(Dlink)
вот что выдает tcpdump -i rl1 #(внешний интерфейс на фря)

ip 10.60.42.252.55761 > 10.60.42.253.domain: 23280+ A? opennet.ru. (27)

это нормально что к адресу роутера добовляеться .domain ?


"FreeBSD шлюз "
Отправлено reader , 25-Авг-10 13:41 
>[оверквотинг удален]
>ситуация такая до этого был рабочий шлюз на BSD и работал он
>через роутер
>шлюз канул в лету ( сломался HDD) на роутере все настройки теже
>..что и были до этого
>тоесть должен быть какойто вариант на фря
>
>если nameserver 10.60.42.253 #(Dlink)
>вот что выдает tcpdump -i rl1 #(внешний интерфейс на фря)
>
>ip 10.60.42.252.55761 > 10.60.42.253.domain: 23280+ A? opennet.ru. (27)

вы уверены что на шлюзе не было кеширующего dns? как бы логичней его было использовать.
>
>это нормально что к адресу роутера добовляеться .domain ?

.domain - это порт, запускайте с -n и будите видеть цифры


"FreeBSD шлюз "
Отправлено Grey , 25-Авг-10 14:41 
>[оверквотинг удален]
>шлюз канул в лету ( сломался HDD) на роутере все настройки теже
>..что и были до этого
>тоесть должен быть какойто вариант на фря
>
>если nameserver 10.60.42.253 #(Dlink)
>вот что выдает tcpdump -i rl1 #(внешний интерфейс на фря)
>
>ip 10.60.42.252.55761 > 10.60.42.253.domain: 23280+ A? opennet.ru. (27)
>
>это нормально что к адресу роутера добовляеться .domain ?

Вы поройтесь в доке и в самом роутере на предмет ДНС.
Если нужного вам он (роутер) не умеет, то на FreeBSD надо поднимать кеширующий ДНС

P.S. вот нашёл ... на DIR-100 в настройке LAN есть такая галочка "Enable DNS Relay"
выставляете её и адрсе роутера можно прописывать у клиентов как DNS. И это работает 100%


"FreeBSD шлюз "
Отправлено Dronissimo , 25-Авг-10 15:00 
>P.S. вот нашёл ... на DIR-100 в настройке LAN есть такая галочка
>"Enable DNS Relay"
>выставляете её и адрсе роутера можно прописывать у клиентов как DNS. И
>это работает 100%

а как сделать так что бы у клиетов я прописывал
gateway 192.168.0.201 # адрес шлюза во внутренней сети
DNS sever 192.168.0.201

посмотрел в логах роутера ....
если я прописываю в /etc/resolv.conf
nameserver 10.60.42.253 #Dlink

то влогах идет подключение TCP на порт 443 ( как я понимаю этот по стандарту https идет к роутеру )

а если у меня прописано
nameserver $provaderDNS #ДНС адрес провайдера

тогда идет подключение UDP на порт 53 $provaiderDNS

тоесть Dlink просто не может понять куда этот пакет деть ...
можно ли изменить или что то сделать что бы UPD шло ..и завернуть трафик с 53 порта на $provaiderDNS


"FreeBSD шлюз "
Отправлено Grey , 25-Авг-10 15:16 
>[оверквотинг удален]
>а как сделать так что бы у клиетов я прописывал
>gateway 192.168.0.201 # адрес шлюза во внутренней сети
>DNS sever 192.168.0.201
>
>посмотрел в логах роутера ....
>если я прописываю в /etc/resolv.conf
>nameserver 10.60.42.253 #Dlink
>
>то влогах идет подключение TCP на порт 443 ( как я понимаю
>этот по стандарту https идет к роутеру )

вы писали?:
если nameserver 10.60.42.253 #(Dlink)
вот что выдает tcpdump -i rl1 #(внешний интерфейс на фря)
ip 10.60.42.252.55761 > 10.60.42.253.domain: 23280+ A? opennet.ru. (27)

domain - это 53 порт
>
>а если у меня прописано
>nameserver $provaderDNS #ДНС адрес провайдера
>
>тогда идет подключение UDP на порт 53 $provaiderDNS
>
>тоесть Dlink просто не может понять куда этот пакет деть ...
>можно ли изменить или что то сделать что бы UPD шло ..и
>завернуть трафик с 53 порта на $provaiderDNS

всё же разберитесь (перепроверьте) настройки вашего длинка ... может там режется чего или не включено что-то ... а потом уже паникуйте :) что б поднять кеширующий DNS на FreeBSD вам, думаю, придётся не мало почитать и попотеть, хотя делается не сложно в общем :)
и потом, как длинк получает DNS от провайдера? подняв PPPoE? или эти адреса выданы провайдером на бумажке и прописаны вручную на длинк?
если DNS выдаётся при поднятии PPPoE соединения, то лучше всё же разбираться с длинком... а если адреса DNS выданы "на бумажке", то есть варианты :)


"FreeBSD шлюз "
Отправлено Dronissimo , 25-Авг-10 15:23 

>если DNS выдаётся при поднятии PPPoE соединения, то лучше всё же разбираться
>с длинком... а если адреса DNS выданы "на бумажке", то есть
>варианты :)

именно на бумажке выданны ...
и просто прописанны в Dlink


"FreeBSD шлюз "
Отправлено reader , 25-Авг-10 15:31 
>
>>если DNS выдаётся при поднятии PPPoE соединения, то лучше всё же разбираться
>>с длинком... а если адреса DNS выданы "на бумажке", то есть
>>варианты :)
>
>именно на бумажке выданны ...
>и просто прописанны в Dlink

да не сложно там, тем более сидя за NAT
http://www.freebsd.org/doc/ru/books/handbook/network-dns.html


"FreeBSD шлюз "
Отправлено Dronissimo , 25-Авг-10 17:57 
читаю читаю ...
что то не могу понять
сказано что мол

Кэширующий сервер имён - это сервер имён, не отвечающий ни за какую зону. Он просто выполняет запросы от своего имени и сохраняет результаты для последующего использования. Для настройки такого сервера достаточно исключить все описания зон из стандартной конфигурации сервера имён.

тоесть даже основную первую зону не надо настраивать ...


"FreeBSD шлюз "
Отправлено reader , 25-Авг-10 23:32 
>читаю читаю ...
>что то не могу понять
>сказано что мол
>
>Кэширующий сервер имён - это сервер имён, не отвечающий ни за какую
>зону. Он просто выполняет запросы от своего имени и сохраняет результаты
>для последующего использования. Для настройки такого сервера достаточно исключить все описания
>зон из стандартной конфигурации сервера имён.

берем конфиг который там уже есть.
в options

forwarders { ip_dns_1; ip_dns_2; };
forward only;

если прописаны ограничения на использование, то разрешаем для своей подсети и вперед.

>
>тоесть даже основную первую зону не надо настраивать ...


"FreeBSD шлюз "
Отправлено Dronissimo , 27-Авг-10 12:44 
настроил DNS инет раздается все нормально )))
спасибо всем кто помогал (ПИВО в Калининграде ждет вас)

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

теперь же если менять провайдера то придется заходить и менять forwards (сейчас там указанны DNS провайдера ) это не страшно ...просто хотелось бы понять как возможно это сделать как раньше было?
пробовал в forwards писать 10.60.42.253 (адресс роутера )но так не работает


"FreeBSD шлюз "
Отправлено Кирилл_Н , 27-Авг-10 13:19 
>[оверквотинг удален]
>спасибо всем кто помогал (ПИВО в Калининграде ждет вас)
>
>но есть один момент :)
>до того как я сломался шлюз у меня менялся провайдер ..и все
>что мне было необходимо сделать это поменять настройки на роутере
>
>теперь же если менять провайдера то придется заходить и менять forwards (сейчас
>там указанны DNS провайдера ) это не страшно ...просто хотелось бы
>понять как возможно это сделать как раньше было?
>пробовал в forwards писать 10.60.42.253 (адресс роутера )но так не работает

Укажите внешний адрес какого-нибудь днс сервера поближе к обоим провайдерам и не переключайте ничего при смене. Адрес может быть даже одного из ваших провайдеров, если он доступен извне


"FreeBSD шлюз "
Отправлено Grey , 27-Авг-10 16:36 
>[оверквотинг удален]
>спасибо всем кто помогал (ПИВО в Калининграде ждет вас)
>
>но есть один момент :)
>до того как я сломался шлюз у меня менялся провайдер ..и все
>что мне было необходимо сделать это поменять настройки на роутере
>
>теперь же если менять провайдера то придется заходить и менять forwards (сейчас
>там указанны DNS провайдера ) это не страшно ...просто хотелось бы
>понять как возможно это сделать как раньше было?
>пробовал в forwards писать 10.60.42.253 (адресс роутера )но так не работает

выясните всё же умеет ли релеить запросы ДНС ваш длинк ... это самое правильное будет ... если не умеет, ну тогда ищите какой-нить ДНС поближе к вам и на него настраивайтесь (как уже писали).