The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Почему не открывается страница?, !*! Hot2107, 07-Фев-17, 10:14  [смотреть все]
Я написал скрипт позволяющий проходить с локальной сети наружу только одному MAC адресу
#!/bin/sh -

fwcmd="/sbin/ipfw"
${fwcmd} -f flush
${fwcmd} table all flush
${fwcmd} nat 1 delete

# NETWORK CONNECTIONS
if_inet="igb0"
if_lan="igb1"

# Local
${fwcmd} add allow 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

# NAT
${fwcmd} nat 1 config if ${if_inet} same_ports reset log
${fwcmd} add nat 1 ip from "table(0)" to any out via ${if_inet}
${fwcmd} add nat 1 ip from any to any in via ${if_inet}

# TABLE (0):
${fwcmd} add allow ip from any to any
${fwcmd} table 0 add 10.44.5.55. #(это ip c нужным mac адресом)

# MAC addresses to alow
# These only take effect if sysctl net.link.ether.ipfw=1
GOOD_MACS_F=" { MAC any 00:1c:c0:f1:cb:c8 }"
GOOD_MACS_T=" { MAC 00:1c:c0:f1:cb:c8 any }"

# Allow the ARP traffic from everyone
${fwcmd} add 4 allow ip from any to any layer2 mac-type arp

# Allow traffic from specific MAC addresses
${fwcmd} add 5 allow ip from any to any $GOOD_MACS_F in recv $if_lan

# Allow traffic to specific MAC addresses
${fwcmd} add 6 allow ip from any to any $GOOD_MACS_T out xmit $if_lan

# Allow all IP-level traffic
${fwcmd} add 7 allow ip from any to any via $if_lan

# Deny all MAC-level traffic
${fwcmd} add 8 deny ip from any to any MAC any  via $if_lan
Пакеты и пинг на нужную страницу проходят но страница не открывается. Почему? Где тормозит IPFW?
ipfw -at show
00004  1161   51570 Mon Jan 30 08:28:59 2017 allow ip from any to any layer2 mac-type 0x0806
00005   791  148912 Mon Jan 30 08:29:00 2017 allow ip from any to any MAC any 00:1c:c0:f1:cb:c8 in recv igb1
00006   400   56502 Mon Jan 30 08:29:00 2017 allow ip from any to any MAC 00:1c:c0:f1:cb:c8 any out xmit igb1
00007 14703 2307557 Mon Jan 30 08:29:00 2017 allow ip from any to any via igb1
00100     0       0                         allow ip from any to any via lo0
00200     0       0                         deny ip from any to 127.0.0.0/8
00300     0       0                         deny ip from 127.0.0.0/8 to any
00400   982  256760 Mon Jan 30 08:28:59 2017 nat 1 ip from table(0) to any out via igb0
00500  1920  316385 Mon Jan 30 08:29:00 2017 nat 1 ip from any to any in via igb0
00600 14455 2237783 Mon Jan 30 08:29:00 2017 allow ip from any to any
65535      0         0                         deny ip from any to any
Сайт  открывается если заменить 1 на 0 в команде sysctl net.link.ether.ipfw=0

  • Почему не открывается страница?, !*! Hot2107, 10:34 , 08-Фев-17 (1)
    >[оверквотинг удален]
    > 00500  1920  316385 Mon Jan 30 08:29:00 2017 nat 1
    > ip from any to any in via igb0
    > 00600 14455 2237783 Mon Jan 30 08:29:00 2017 allow ip from any
    > to any
    > 65535      0      
    >    0        
    >            
    >       deny ip from any to
    > any
    > Сайт  открывается если заменить 1 на 0 в команде sysctl net.link.ether.ipfw=0

    Сайт пишет что превышен timeout. Я думаю что именно включение layer2 для фильтрации  MAC и формируют этот слишком большой timeout.


    • Почему не открывается страница?, !*! Hot2107, 10:51 , 08-Фев-17 (2)
      >[оверквотинг удален]
      >> 00600 14455 2237783 Mon Jan 30 08:29:00 2017 allow ip from any
      >> to any
      >> 65535      0
      >>    0
      >>
      >>       deny ip from any to
      >> any
      >> Сайт  открывается если заменить 1 на 0 в команде sysctl net.link.ether.ipfw=0
      > Сайт пишет что превышен timeout. Я думаю что  включение слой2 для
      > фильтрации  MAC  формируют этот слишком большой timeout.

      Мне приходится ставить промежуточный компьютер Linux с iptables, который проблему фильтрации mac  адресов решает с полпинка

  • Почему не открывается страница?, !*! reader, 12:32 , 08-Фев-17 (3)
    запустите что нибуть типа tcpdump на внешнем интерфейсе и посмотрите что там в данных передается
    • Почему не открывается страница?, !*! Hot2107, 12:58 , 08-Фев-17 (4)
      > запустите что нибуть типа tcpdump на внешнем интерфейсе и посмотрите что там
      > в данных передается

      Да .Ответ по существу.Это называется пойди туда не знаю куда...Tcpdump за 10 сек файл создал в 33245 Кб. LOL
      А если серьезно то udp различной длины на разные сайты  например: UDP, length 1427 и разную чушь типа seq 29954832:29954870, ack 1824314610, win 65535, length 38

      • Почему не открывается страница?, !*! Hot2107, 13:16 , 08-Фев-17 (5)
        >> запустите что нибуть типа tcpdump на внешнем интерфейсе и посмотрите что там
        >> в данных передается
        > Да .Ответ по существу.Это называется пойди туда не знаю куда...Tcpdump за 10
        > сек файл создал в 33245 Кб. LOL
        > А если серьезно то udp различной длины на разные сайты  например:
        > UDP, length 1427 и разную чушь типа seq 29954832:29954870, ack 1824314610,
        > win 65535, length 38

        Я честно говоря сколько по форумам с IPFW не лазил ни одного внятного,  рабочего примера фильтрации mac не нашел (в отличие от iptables где примеры на каждом шагу)
        А если по вашему совету я и определю с помощью tcpdump что lenght слишком длинный или чего ещё, то это и так ясно из ответа сайта : timeout превышен при включенном layer2

        • Почему не открывается страница?, !*! reader, 13:34 , 08-Фев-17 (6)
          >>> запустите что нибуть типа tcpdump на внешнем интерфейсе и посмотрите что там
          >>> в данных передается
          >> Да .Ответ по существу.Это называется пойди туда не знаю куда...Tcpdump за 10
          >> сек файл создал в 33245 Кб. LOL
          >> А если серьезно то udp различной длины на разные сайты  например:
          >> UDP, length 1427 и разную чушь типа seq 29954832:29954870, ack 1824314610,
          >> win 65535, length 38

          LOL к тому что вы тут показали.
          у Tcpdump есть фильтры.
          Если вы идете на веб-сайт, то какой наx UDP. Если вас удивляют пакеты разной длины то ..., в общем непонятно какой помощи вы ждете с таким подходом.

          > Я честно говоря сколько по форумам с IPFW не лазил ни одного
          > внятного,  рабочего примера фильтрации mac не нашел (в отличие от
          > iptables где примеры на каждом шагу)

          потому что нужно искать не готовые примеры, а описания какие ограничения и нюансы добавляет net.link.ether.ipfw

          > А если по вашему совету я и определю с помощью tcpdump что
          > lenght слишком длинный или чего ещё, то это и так ясно
          > из ответа сайта : timeout превышен при включенном layer2

          перечитайте тот ответ, размер пакета и данные которые передаются - это не одно и тоже

          • Почему не открывается страница?, !*! Hot2107, 14:05 , 08-Фев-17 (7)

            Чего перечитывать? Если layer2 включен и разрешен например определенный mac то абсолютно все сайты не открываются а не какой-то конкретный. А  пинги  и трассировка туды идут без сбоя (если только один mac разрешен, а если разрешен десяток маков - то наблюдается до 80 %
            потерянных пакетов)
            • Почему не открывается страница?, !*! Hot2107, 14:06 , 08-Фев-17 (8)
              >[оверквотинг удален]
              >> нюансы добавляет net.link.ether.ipfw
              >>> А если по вашему совету я и определю с помощью tcpdump что
              >>> lenght слишком длинный или чего ещё, то это и так ясно
              >>> из ответа сайта : timeout превышен при включенном layer2
              >> перечитайте тот ответ, размер пакета и данные которые передаются - это не
              >> одно и тоже
              > Чего перечитывать? Если layer2 включен и разрешен например определенный mac то пбсолютно все сайты не открываются а не какой-то конкретный. А  пинги
              > и трассировка туды идут без сбоя (если только один mac разрешен,
              > а если разрешен десяток маков - то наблюдается до 80 %
              > потерянных пакетов)

              • Почему не открывается страница?, !*! Hot2107, 14:34 , 08-Фев-17 (9)
                Я этим вопросом занималcя год назад. И никакого положительного результата ни на одном форуме даже на freebsd.org. Поэтому мне кажется это глюк ipfw о котором разработчики знают но упорно умалчивают. Думал что на FreeBSD 11.0-RELEASE-p7 что-то наметится позитивного - но видно а воз и ныне там. Так что приходится держать компьютер на Debian 8.7 чисто из-за  iptables для фильтрации mac
  • Почему не открывается страница?, !*! arachnid, 16:04 , 08-Фев-17 (10)
    я правильно понял, что когда вы устанавливаете переменную в 1, то все работает так, как вы хотите? или начинает проходить вообще всё?
    • Почему не открывается страница?, !*! Hot2107, 12:14 , 09-Фев-17 (11)
      > я правильно понял, что когда вы устанавливаете переменную в 1, то все
      > работает так, как вы хотите? или начинает проходить вообще всё?

      Когда я устанавливаю 1 то всё работает как надо, но в интернет пакеты попадают с какой-то задержкой и сайт даёт отлуп по таймауту

      • Почему не открывается страница?, !*! Hot2107, 12:14 , 09-Фев-17 (12)
        >> я правильно понял, что когда вы устанавливаете переменную в 1, то все
        >> работает так, как вы хотите? или начинает проходить вообще всё?
        > Когда я устанавливаю 1 то всё работает как надо, но в интернет
        > пакеты попадают с какой-то задержкой и сайт даёт отлуп по таймауту . Ping на сайт идёт нормальный ( если разрешен для интернета только  1 MAC то потерянных пакетов вообще нет)

        Правда у меня стоит unbound в качестве dns-сервера, может ему что-то не нравится при включенном layer2

        • Почему не открывается страница?, !*! Hot2107, 12:44 , 09-Фев-17 (13)
          >>> я правильно понял, что когда вы устанавливаете переменную в 1, то все
          >>> работает так, как вы хотите? или начинает проходить вообще всё?
          >> Когда я устанавливаю 1 то всё работает как надо, но в интернет
          >> пакеты попадают с какой-то задержкой и сайт даёт отлуп по таймауту . Ping на сайт идёт нормальный ( если разрешен для интернета только  1 MAC то потерянных пакетов вообще нет)
          > Правда у меня стоит unbound в качестве dns-сервера, может ему что-то не
          > нравится при включенном layer2 Мне какжется что так оно и есть, ситуация храктерна для случая, когда dns-server не работает: ping  на сайт идёт а url в браузере не работает . Эврика !!



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

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