The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите пожалуйста настроить маршрутизатор!!!"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от DEX (ok) on 30-Янв-07, 18:06 
Чем больше нахожу статей по настройке FreeBSD как маршрутизатора, тем больльше путаюсь.
Есть сеть - 192.168.10... , есть маршрутизатор FreeBSD с двумя сетевухами fxp0 ( смотрит в интернет ) и fxp1 - 192.168.10.254 ( смотрит в локалку ). Задача - настроить IPFW и разрешить пользователям выход в интернет.Делал вот так : В ядро добавил
options IPFIREWALL
options IPDIVERT , пересобрал.

//rc.conf

firewall_enable="YES"
firewall_script="/usr/local/billing/rc.firewall"
firewall_type="OPEN"
natd_enable="YES"
natd_interface="fxp0"
gateway_enable="YES"
ifconfig_fxp0="inet 212.119.109.58 netmask 255.255.255.252"
ifconfig_fxp1="inet 192.168.10.254 netmask 255.255.255.0"
defaultrouter="212.119.109.57" //Шлюз провайдера

Далее
cd /usr/local
mkdir billing
cd billing
vi rc.firewall

файл rc.firewall :
ipfw="/sbin/ipfw -q"
${ipfw} -f flush
${ipfw} add divert natd all from any to any via fxp0
${ipfw} add allow all from any to any
Далее :
chmod 0700 rc.firewall

В /etc/resolv.conf пишу -

nameserver       212.119.97.5 //DNS1 провайдера
nameserver       212.119.96.33 //DNS2 провайдера

Перегружаю

С сервера пингуется только локалка. Вот что выдает netstat -nr -

Internet

Destination        gateway           flags      Refs        Use       Netif     Expire
Default            212.119.109.57     UGS         0          42        fxp0
127.0.0.1          127.0.0.1          UH          0          0         lo0
192.168.10         link#2             UC          0          0         fxp1
212.119.109.56/30  link#1             UC          0          0         fxp0
212.119.109.57     link#1             UHLW        2          0         fxp0


ГРОМАДНЕЙШАЯ просьба, напишите что, где и как нужно сделать.Огромное Вам спасибо

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от Kos (??) on 30-Янв-07, 19:33 
А если так?
${ipfw} -f flush
${ipfw} add allow all from any to any

Пингуете как, по имени или по ip?
что выдает ipfw list?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от DEX (ok) on 31-Янв-07, 12:58 
>А если так?
>${ipfw} -f flush
>${ipfw} add allow all from any to any
>
>Пингуете как, по имени или по ip?
>что выдает ipfw list?

Пингуется по IP

ipfw list выдает -

00100   0      0     divert 8668 ip from any to any via fxp0
00200   24    2327   allow ip from any to any
00500   0      0     divert 8668 ip from any to any via fxp0
65535   0      0     deny ip from any to any

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от yuriy email(??) on 30-Янв-07, 19:55 
>
>С сервера пингуется только локалка. Вот что выдает netstat -nr -
>
С какого сервера пингуется только локалька, с маршрутизатора что-ли, выражайся точнее.
Сервер провайдера не обязательно может отвечать на echo пакет.
с маршрутизатора попробуй echo пакет на сервер www.freebsd.org, этот сервак
всегда отвечает на эхо пакеты, traceroute тоже работает. Настрой
сначала маршрутизатор, что-бы определялись символьные адреса в числовой адрес,
пинг проходил.
natd демон открывает порт natd (8668) netstat -a проверь.
все станции в локальной сети должны иметь маршрутизатор по умолчанию адрес
твоего маршрутизатора (192.168.10.254).
правила вроде правильно написаны. Раньше у меня тоже был ipfw, только
правила более сложные были, но в целом именно так. (лучшее правило политики защиты это
все запрещено, что не разрешено ИМХО.)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от Giro on 31-Янв-07, 09:28 

>${ipfw} add divert natd all from any to any via fxp0
>${ipfw} add allow all from any to any

add divert natd all from (local_net) to not {local_net} out via fxp0
add divert natd all from not {local_net} to me in via fxp0

Вот так попробуй, только сеть свою подставь.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от DEX (ok) on 31-Янв-07, 13:19 
>
>>${ipfw} add divert natd all from any to any via fxp0
>>${ipfw} add allow all from any to any
>
>add divert natd all from (local_net) to not {local_net} out via fxp0
>
>add divert natd all from not {local_net} to me in via fxp0
>
>
>Вот так попробуй, только сеть свою подставь.


подставил вместо local_net 192.168.10.254 , но перестала пинговаться и локалка

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от DEX (ok) on 31-Янв-07, 13:27 
>>
>>>${ipfw} add divert natd all from any to any via fxp0
>>>${ipfw} add allow all from any to any
>>
>>add divert natd all from (local_net) to not {local_net} out via fxp0
>>
>>add divert natd all from not {local_net} to me in via fxp0
>>
>>
>>Вот так попробуй, только сеть свою подставь.
>
>
>подставил вместо local_net 192.168.10.254 , но перестала пинговаться и локалка


Напишите пожалуйста для НОВИЧКА,

1. Что добавляем в ядро
2. Что пишем в rc.conf
3. Что пишем в правилах
4. Где и что еще надо сделать на сервере FreeBSD
Что бы у пользователей был выход в интернет?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от Giro on 31-Янв-07, 14:50 
Это в ядро:

options         IPFIREWALL
options         IPFIREWALL_FORWARD
options         IPFIREWALL_FORWARD_EXTENDED
options         IPDIVERT

Это в /etc/rc.conf

firewall_enable="YES"
firewall_type="OPEN"
natd_enable="YES"
natd_interface="rl0" (Или какой там у тебя?)

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

В rc.firewall
Там есть раздел посвященный NAT.
У меня вот так примерно:
local_net="192.168.160.0/24" (Локальная сеть)
out_if="rl0" (Внешний интерфейс)

${fwcmd} add 10 divert natd all from ${local_net} to any out via ${out_if}
${fwcmd} add 11 divert natd all from any to me in via ${out_if}

Если будешь еще вешать правила на пакеты после ната - поставь в sysctl параметр
net.inet.ip.fw.one_pass=0

Должно работать...
Дай команду

ipfw show

покажет статистику по правилам...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от A Clockwork Orange on 31-Янв-07, 14:59 
net.inet.ip.fw.one_pass - если 1, то просмотр правил ipfw прекращается сразу после подпадание под queue или pipe правило. Если 0, то продолжается обработка далее идущих правил;
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от Giro on 31-Янв-07, 15:02 
>net.inet.ip.fw.one_pass - если 1, то просмотр правил ipfw прекращается сразу после подпадание
>под queue или pipe правило. Если 0, то продолжается обработка далее
>идущих правил;

Да точно, у меня очереди же еще... Тогда сорри за неправильную инфу - давно настраивал

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от A Clockwork Orange on 31-Янв-07, 15:04 
firewall_type="OPEN"
в данном случае не к чему, это для правил которые в поставке по-умолчанию в /etc/rc.firewall, в них есть раздел OPEN
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от Giro on 31-Янв-07, 15:16 
>firewall_type="OPEN"
>в данном случае не к чему, это для правил которые в поставке
>по-умолчанию в /etc/rc.firewall, в них есть раздел OPEN
Это чтобы у него после перезагрузки не отрубилось все - вдруг сервер в другом городе :-)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от DEX (ok) on 31-Янв-07, 15:51 
>>firewall_type="OPEN"
>>в данном случае не к чему, это для правил которые в поставке
>>по-умолчанию в /etc/rc.firewall, в них есть раздел OPEN
>Это чтобы у него после перезагрузки не отрубилось все - вдруг сервер
>в другом городе :-)

А в rc.conf надо добавлять gateway_enable="YES" ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от Giro on 31-Янв-07, 16:00 
>>>firewall_type="OPEN"
>>>в данном случае не к чему, это для правил которые в поставке
>>>по-умолчанию в /etc/rc.firewall, в них есть раздел OPEN
>>Это чтобы у него после перезагрузки не отрубилось все - вдруг сервер
>>в другом городе :-)
>
>А в rc.conf надо добавлять gateway_enable="YES" ?

Ну у тебя же роутер получается, значит gateway_enable="YES"

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от DEX (ok) on 31-Янв-07, 17:12 
>>>>firewall_type="OPEN"
>>>>в данном случае не к чему, это для правил которые в поставке
>>>>по-умолчанию в /etc/rc.firewall, в них есть раздел OPEN
>>>Это чтобы у него после перезагрузки не отрубилось все - вдруг сервер
>>>в другом городе :-)
>>
>>А в rc.conf надо добавлять gateway_enable="YES" ?
>
>Ну у тебя же роутер получается, значит gateway_enable="YES"

Фигня какая-то получается.Совсем я запарился.

/usr/local/billing/rc.firewall  -

fwcmd="sbin/ipfw -q"
local_net="192.168.10.0/24"
out_if="fxp0"
${fwcmd} -f flush
${fwcmd} add 10 divert natd all from ${local_net} to any out via ${out_if}
${fwcmd} add 10 divert natd all from any to any fo me in via ${out_if}


ipfw show -

00010   0     0     divert 8668 ip from 192.168.10.0/24 to any out via fxp0
0001    0     0     divert 8668 ip from any to me in via fxp0
00500   0     0     divert 8668 ip from any to any via fxp0
65535   107  9596   deny ip from any to any

ping 192.168.10.1

.... Permission denied

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от A Clockwork Orange on 31-Янв-07, 17:23 
fxp0 - внешний интерфейс
ipfw -f flush
ipfw add divert ip from any to any via fxp0
ipfw add allow from any to any

не работает?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от A Clockwork Orange on 31-Янв-07, 17:29 
пардоню

fxp0 - внешний интерфейс
ipfw -f flush
ipfw add divert natd ip from any to any via fxp0
ipfw add allow from any to any

не работает?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от DEX (ok) on 31-Янв-07, 17:52 
>пардоню
>
>fxp0 - внешний интерфейс
>ipfw -f flush
>ipfw add divert natd ip from any to any via fxp0
>ipfw add allow from any to any
>
>не работает?

Расскажите мне "болбесу" все действия по порядку и с самого начала ПОЖАЛУЙСТА.
с указанием полного пути до файла, в котором что-то меняем и какие команды вводим и где.
Вообщем пошаговую инструкцию.IP адреса для настройки смотрите вначале.Заранее ОГРОМНОЕ ВАМ СПАСИБО !!!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от blackp email on 31-Янв-07, 22:23 
>>пардоню
>>
>>fxp0 - внешний интерфейс
>>ipfw -f flush
>>ipfw add divert natd ip from any to any via fxp0
>>ipfw add allow from any to any
>>
>>не работает?
>
>Расскажите мне "болбесу" все действия по порядку и с самого начала ПОЖАЛУЙСТА.
>
>с указанием полного пути до файла, в котором что-то меняем и какие
>команды вводим и где.
>Вообщем пошаговую инструкцию.IP адреса для настройки смотрите вначале.Заранее ОГРОМНОЕ ВАМ СПАСИБО !!!
>
http://www.lissyara.su/?id=1127
http://www.lissyara.su/?id=1071
и там вокруг еще посмотри

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от чччч on 01-Фев-07, 08:56 
не взрывайте человеку моск
судя по счетчикам, у тебя пакеты в divert сокет не попадают почему-то, соответственно нифига не натится и не работает.
Тщательно проверь все конфиги на предмет тупых ошибок, типа О вместо 0 или там например досовских переносов строк вместо никсовых  и т.д.
Если не найдешь ошибки - ставь в фаерволе первым правилом что-то типа count log logamount 0 ip from any to any и кури логи (токо учти их будет очень много - держи открытую рутовую консоль под руками и пальцы на спусковом крючке шоб убить все это дело, а то легко задосишь машину) - сразу станет ясно, видит у тебя ipfw твои пакеты или нет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от iasb (??) on 01-Фев-07, 21:56 
http://www.opennet.me/base/net/unix_server_short.txt.html

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от DEX (??) on 02-Фев-07, 16:18 
>http://www.opennet.me/base/net/unix_server_short.txt.html


Сделал следующее ...

1.- Переустановил FreeBSD

2.- cd /sys/i386/conf
cp GENERIC MYKERNEL
vi MYKERNEL
Добавил туда...
options         IPFIREWALL
options         IPFIREWALL_FORWARD
options         IPFIREWALL_FORWARD_EXTENDED
options         IPDIVERT

3.- cd /usr/src
make kernel KERNCONF=MYKERNEL

4.- shutdown -r now

5.- vi /etc/rc.conf ...
gateway_enable="YES"
sendmail_enable="YES"
firewall_enable="YES"
firewall_script="/etc/ipfw.conf"
natd_enable="YES"
natd_interface="fxp0"
natd_flags="-m -u"
ifconfig_fxp0="inet 212.119.109.58 netmask 255.255.255.252" - смотрит наружу
ifconfig_fxp1="inet 192.168.10.254 netmask 255.255.255.0"  - смотрит в локалку
defaultrouter="212.119.109.57"  - шлюз провайдера

6. - vi /etc/resolv.conf ...

nameserver     212.119.97.5   - DNS1 провайдера
nameserver     212.119.96.33   - DNS2 провайдера

7.- vi /etc/ipfw.conf .....

FwCMD="/sbin/ipfw -u" # собственно где лежит бинарник ipfw
LanOut="fxp0"            # внешний интерфейс
LanIn="fxp1"            # внутренний интерфейс
IpOut="212.119.109.58" # внешний IP адрес машины
IpIn="192.168.10.254"   # внутренний IP машины
NetMask="24"            # маска сети (если она разная для внешней
                        # и внутренней сети - придётся вводить ещё
                        # одну переменную, но самое забавное, что
                        # можно и забить - оставить 24 - всё будет
                        # работать, по крайней мере я пробовал -
                        # работаало на 4-х машинах, в разных сетях,
                        # с разными масками - настоящими разными! но -
                        # это неправильно.)
NetIn="192.168.10.0"    # Внутренняя сеть

${FwCMD} -f flush
${FwCMD} add check-state
${FwCMD} add allow ip from any to any via lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
${FwCMD} add deny icmp from any to any frag
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
${FwCMD} add deny ip from 10.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 172.16.0.0/12 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${LanOut}
${FwCMD} add allow tcp from any to any established
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}
${FwCMD} add allow udp from any 53 to any via ${LanOut}
${FwCMD} add allow udp from any to any 53 via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 49152-65535 via ${LanOut}
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
${FwCMD} add allow ip from any to any via ${LanIn}


Вот собственно и всё, но наружу сервер FreeBSD не пускает .

ipfw show ...

Во всех правилах нули, кроме этих :

00500  119   6392   0    divert 8668 ip from any to any via fxp0
00700  495   4334   6    deny ip from any to 192.168.0.0/16 in via fxp0
01000  40    2006   4    deny ip from any to 240.0.0.0/4 in via fxp0
01600  7     58     8    deny ip from any to 192.168.0.0/16 to any out via fxp0
02700  390   3553   2    allow ip from any to any via fxp1

Локалка с FreeBSD пингуется, а шлюз провайдера нет. В интернет выхода нет.
Подскажите , что не так сделал, или что недоделал?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

22. "Помогите пожалуйста настроить маршрутизатор!!!"  
Сообщение от iasb (??) on 03-Фев-07, 18:40 
   Локалка с FreeBSD пингуется, а шлюз провайдера нет. В интернет выхода нет.

${FwCMD} add deny icmp from any to any frag - убери

полный ipfw show давай

меняй местами правила, твоя система - пиши интерфейсы в их именах а не в подстановках


${FwCMD} -f flush

${FwCMD} add allow ip from any to any via lo0

${FwCMD} add deny ip from any to 10.0.0.0/8 via fxp0
${FwCMD} add deny ip from any to 172.16.0.0/12 via fxp0
${FwCMD} add deny ip from any to 192.168.0.0/16 via fxp0
${FwCMD} add deny ip from any to 0.0.0.0/8 via fxp0
${FwCMD} add deny ip from any to 169.254.0.0/16 via fxp0
${FwCMD} add deny ip from any to 240.0.0.0/4 via fxp0


${FwCMD} add deny ip from 10.0.0.0/8 to any via fxp0
${FwCMD} add deny ip from 172.16.0.0/12 to any via fxp0
${FwCMD} add deny ip from 192.168.0.0/16 to any via fxp0
${FwCMD} add deny ip from 0.0.0.0/8 to any via fxp0
${FwCMD} add deny ip from 169.254.0.0/16 to any via fxp0
${FwCMD} add deny ip from 224.0.0.0/4 to any via fxp0
${FwCMD} add deny ip from 240.0.0.0/4 to any via fxp0


${FwCMD} add allow udp from any 53 to any via fxp0
${FwCMD} add allow udp from any to any 53 via fxp0

${FwCMD} add divert natd ip from any to any in recv fxp0
${FwCMD} add divert natd ip from any to any out xmit fxp0

${FwCMD} add allow ip from any to any

${FwCMD} add allow icmp from any to any


в реальности правило диверта будет отображаться для внешнего интерфейса

04850 257988190 175972668051 divert 8668 ip from any to any in recv ed0
04852 254897665 146976215204 divert 8668 ip from any to any out xmit ed0


пока не добился пингов на провайдера - нечего защищаться

поставь для начала правило - уже в загруженной системе

ipfw add 10 allow ip from any to any via fxp0
ipfw add 11 allow icmp from any to any via fxp0

проверь пинги

ipfww delete 10
ipfw delete 11

и проверяй НАТ

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру