The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"divert_packet: no divert tag"
Отправлено mg, 15-Ноя-06 22:02 
>>>>>
>>>>>>Класс ... ответ просто супер. Большой респект за ответ.
>>>>>>По поводу интерфейса для natd в rc.conf то там все в порядке.
>>>>>>Я прочему то начинаю склонятся к мысли, что divert не понимает
>>>>>>какие то особенности 2-го уровня модели ОСИ.
>>>>>>У меня на одной сетевухе два вилана --- два интерфейса, на которых
>>>>>>крутится вся кухня с маршрутизацией.
>>>>>>Все работает, а эти сообщения валятся иногда, но с завидным постоянством. Поэтому
>>>>>>на НАТД
>>>>>>я грешить бы не стал ... А вот с правилами ipfw надо
>>>>>>кардинально переделать ...
>>>>>>Все таки думаю что divert ругается из-за того что  интерфейсы -
>>>>>>vlan.
>>>>>
>>>>>
>>>>>Блин! Я торможу, у тебя же правило стоит
>>>>>$cmd add divert natd all from any to any
>>>>>Оно же у тебя срабатывает кучу раз на одних и тех же
>>>>>пакетах!!!! Ведь у тебя оно стоит до правил с разрешением и
>>>>>запрещением, получается что пакеты после natd снова попадают на natd и
>>>>>так по кругу, вместо того чтоб быть убитыми или пропущенными они
>>>>>у тебя постоянно попадают на natd !
>>>>>Короче вся загвоздка в этом правиле, убери его и всё будет нормально!!!
>>>>>
>>>>Да нету у меня там такого правила ....
>>>>Показываю полностью весь конфиг при котором я получаю что нету дайверт тага
>>>> ....
>>>>#!/bin/sh
>>>>#Quietly flush out rules
>>>>/sbin/ipfw -q -f flush
>>>>
>>>>#Set command prefix (add "-q" option after development to turn on quiet
>>>>mode)
>>>> cmd="/sbin/ipfw add"
>>>># set outside and inside network interfaces
>>>>
>>>> oif="vlan102"
>>>> iif="vlan101"
>>>>
>>>># set private IP of this server and the netmask of the
>>>>whole LAN side
>>>>
>>>> server="X.X.X.X"
>>>> inside="X.X.X.0/24"
>>>>
>>>>######Localhost stuff
>>>>#
>>>>#allow the computer to talk to itself
>>>>
>>>> $cmd allow ip from any to any via lo0
>>>>
>>>>#don't let anything from the "outside" talk to localhost
>>>>
>>>> $cmd  deny ip from any to 127.0.0.0/8
>>>>
>>>>#don't let the computer talk other computers as localhost
>>>>
>>>> $cmd deny log ip from 127.0.0.0/8 to any
>>>>
>>>>#
>>>>#######
>>>>####### DHCP stuff
>>>>#
>>>># you need this to be able to renew your DHCP lease
>>>>from your ISP
>>>># $cmd 00083 allow udp from any 67 to any 68 in
>>>>recv rl0
>>>>#
>>>>#####
>>>>######### deny-and-log bogus packets by tcpflags
>>>>#
>>>># XMAS tree
>>>>
>>>> $cmd deny log tcp from any to any in tcpflags fin,psh,urg
>>>>recv $oif
>>>>
>>>># NULL scan (no flag set at all)
>>>>         $cmd deny log
>>>>tcp from any to any in tcpflags !fin,!syn,!rst,!psh,!ack,!urg recv $oif
>>>># SYN flood (SYN,FIN)
>>>>         $cmd  deny
>>>>log tcp from any to any in tcpflags syn,fin recv $oif
>>>>
>>>># Stealth FIN scan (FIN,RST)
>>>>         $cmd deny log
>>>>tcp from any to any in tcpflags fin,rst recv $oif
>>>># forced packet routing
>>>>         $cmd deny log
>>>>ip from any to any in ipoptions ssrr,lsrr,rr,ts recv $oif
>>>>  $cmd add pass all from me to any via $oif
>>>>
>>>>#
>>>>#######
>>>>######### Things served via this machine directly
>>>>######### Any services on this machine should be placed here,
>>>>######### before the NAT Divert rule
>>>>#
>>>>#HTTP
>>>>         $cmd allow tcp
>>>>from any to any 80 in via $oif
>>>>#SSH
>>>>         $cmd allow tcp
>>>>from any to any 22 in via $oif
>>>>#FTP
>>>>         $cmd allow ip
>>>>from any to any 20 in via $oif
>>>>         $cmd allow ip
>>>>from any to any 21 in via $oif
>>>>         $cmd allow tcp
>>>>from any 21 to any out via $oif
>>>>#OPENVPN
>>>>  $cmd allow udp from any to any 1194 in via
>>>>$oif
>>>>#POP3
>>>>  $cmd allow tcp from any to any 110 in via
>>>>$oif setup
>>>>#SMTP
>>>>  $cmd allow tcp from any to any 25 in via
>>>>$oif
>>>>#
>>>>####
>>>>
>>>>#####NATD stuff
>>>>#natd Divert rule
>>>>
>>>># $cmd divert natd all from any to any via $oif
>>>>        $cmd divert natd all
>>>>from me to any via $oif
>>>>        $cmd divert natd all
>>>>from X.X.X.0/28 to any via $oif
>>>> $cmd divert natd all from X.X.X.1 to any via $oif
>>>> $cmd divert natd all from X.X.X.2 to any via $oif
>>>> $cmd divert natd all from X.X.X.3 to any via $oif
>>>> $cmd divert natd all from X.X.X.4 to any via $oif
>>>> $cmd divert natd all from any to any in via $oif
>>>>
>>>>######
>>>>####All connections originating from my network are allowed
>>>># check to see if a dynamic rule has been created that
>>>>matches this packet
>>>>
>>>>  $cmd check-state
>>>># let everything on your internal network talk to the firewall
>>>>         $cmd allow all
>>>>from any to any via $iif keep-state
>>>># setup a dynamic rule for any connections being started from inside
>>>>
>>>>         $cmd allow all
>>>>from any to any out via $oif keep-state
>>>># deny ACK packets that did not match the dynamic rule table
>>>>- do not log, too many false positives
>>>>         $cmd deny tcp
>>>>from any to any established in via $oif
>>>>#deny fragments as bogus packets
>>>>         $cmd deny log
>>>>all from any to any frag in via $oif
>>>>#####
>>>>
>>>>
>>>>####### ICMP stuff
>>>>
>>>>#allow path-mtu in both directions
>>>> $cmd allow icmp from any to any icmptypes 3
>>>>
>>>>#allow source quench in and out
>>>> $cmd allow icmp from any to any icmptypes 4
>>>>
>>>>#allow outbound traceroutes
>>>> $cmd allow icmp from any to any icmptypes 11 in
>>>>
>>>>#allow outbound pings and incoming ping responses
>>>> $cmd allow icmp from any to any icmptypes 8
>>>> $cmd allow icmp from any to any icmptypes 0 in
>>>>
>>>>########
>>>>
>>>>##### This section is for exposing services to the internet from the
>>>>LAN
>>>>#####  It is placed AFTER the NATD Divert rule, so these
>>>>services can be
>>>>#####  diverted in /etc/natd.conf
>>>>
>>>># Remote desktop - allow it, but log connection attempts (though DON'T
>>>>log traffic for established sessions)
>>>>         $cmd allow log
>>>>tcp from any to any 3389,58585,58586 in setup
>>>>         $cmd allow tcp
>>>>from any to any 3389,58585,58586 in
>>>>         $cmd allow ip
>>>>from any to $inside 58586 in via $oif
>>>>
>>>>####
>>>>
>>>>######## SOME THINGS ARE TOO NOISY TO LIVE
>>>>######## In this section we deny things that would be denied anyway,
>>>>but that we just
>>>>######## don't want logged.  Be careful with this - in general,
>>>>you probably want to
>>>>######## avoid putting anything in here that doesn't specify a known source
>>>>address that
>>>>######## is relatively trustworthy.  You also want to be very careful
>>>>about who knows
>>>>######## what this section of your firewall configs looks like, because they
>>>>can then
>>>>######## use the info to craft probes and attacks they know you
>>>>won't see or log.
>>>>
>>>># Don't bother logging IGMP crap from the ISP
>>>> $cmd deny igmp from M.M.M.M to any in via $oif
>>>>
>>>># Don't bother logging DNS garbage inbound from the ISP's DNS boxes
>>>>
>>>> $cmd deny udp from M.M.M.M 53 to any dst-port 50000-65535 in
>>>>via $oif
>>>>
>>>>#####
>>>>
>>>>######## Stealth scans of closed ports
>>>>########  this section is to deny and log stealth scans that
>>>>we can't really deny
>>>>########  on open ports because doing so would disrupt legitimate services.
>>>>
>>>>
>>>># ACK scan (ACK,RST)
>>>>         $cmd deny log
>>>>tcp from any to any in tcpflags ack,rst recv $oif
>>>>
>>>>#####
>>>>
>>>>#############
>>>>############# DEFAULT RULE - deny it, and log it, 'cause we're secure
>>>>like that.
>>>>#############
>>>>#
>>>> $cmd 65000 deny log all from any to any
>>>
>>>Блин, я ошибся не то написал, я хотел про другое написать вот
>>>такое правило у тебя лишнее
>>>$cmd divert natd all from me to any via $oif
>>>Это ты пытаешься натить пакеты у котрых обратный адрес реальный!
>>>
>>>Смотри, ситуация, отправляем от X.X.X.1 пакет на 194.87.0.8
>>>Пакет пришёл на внутрениий интерфейс прошёл сквозь правило
>>>$cmd divert natd all from X.X.X.1 to any via $oif
>>>т.е. попал в natd прошл процедуру ната и теперь нат генерит пакет
>>>наружу у которого обратный адрес me, а адрес назначения 194.87.0.8, такой
>>>пакет заново проходит проверку и срабатывает уже на правиле
>>>$cmd divert natd all from me to any via $oif
>>>и вот тут natd должен сказать что знаете что, мне некуда девать
>>>этот пакет, его некуда натить, ибо он уже наченный у него
>>>уже реальный обратный адрес выставлен, и в лучшем случае этот пакет
>>>выйдет на маршрутизацию, а в худшем после ната система может решить
>>>что это новый пакет и занвоо пустить его на ipfw, где
>>>опять оно споткнётся на том же самом правиле и опять получишь
>>>такую ругань от natd.
>>>
>>>А правило которое я написал
>>>$cmd divert natd all from any to any in via $oif
>>>всё же, вдруг адрес назначения пакета не ты, а что-то другое, зачем
>>>его натить к тебе в локалку? Поэтому я бы от него
>>>избавился, заменив его хотя бы таким
>>>$cmd divert natd all from any to me in via $oif
>>>
>>>
>>>ну вот,  вроде я не проглючил в очередной раз...
>>
>>Супер ... наконец то начинает проясняться ситуация с ipfw ... Огромное тебе
>>спасибо за ответ, сейчас сконфигурю все корректно и отпишу если поможет
>>:)))). Думаю этот блог многим поможет разобраться :))))
>
>Вообщем не помогло ... Исправил правила на
>        $cmd divert natd all
>from Х.Х.Х.1 to any via $oif -- мой внутренний интерфейс
>        $cmd divert natd all
>from Х.Х.Х.М/28 to any via $oif
>        $cmd divert natd all
>from Х.Х.Х.М1 to any via $oif
>        $cmd divert natd all
>from Х.Х.Х.М6 to any via $oif
>        $cmd divert natd all
>from Х.Х.Х.М3 to any via $oif
>        $cmd divert natd all
>from 1Х.Х.Х.М5 to any via $oif
>        $cmd divert natd all
>from any to me in via $oif
>
>Все пашет отлично. Но в логи все равно валит
>Nov 15 20:30:40 kernel: divert_packet: no divert tag
>Nov 15 20:31:22 kernel: divert_packet: no divert tag
>Неужели ни у кого нет рутеров с интерфейсами организованных на виланах ????
>
>Что за беда такая ...


не понял, как это $oif - внутренний? Он же внешний должен быть!
Во всех доках написано что он должен смотреть наружу в интернет!

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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