The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Почему не открывается страница?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Firewall, Фильтрация пакетов / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Почему не открывается страница?"  +/
Сообщение от Hot2107 (ok) on 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

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Почему не открывается страница?"  +/
Сообщение от Hot2107 (ok) on 08-Фев-17, 10:34 
>[оверквотинг удален]
> 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.


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Почему не открывается страница?"  +/
Сообщение от Hot2107 (ok) on 08-Фев-17, 10:51 
>[оверквотинг удален]
>> 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  адресов решает с полпинка

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Почему не открывается страница?"  +/
Сообщение от reader (ok) on 08-Фев-17, 12:32 
запустите что нибуть типа tcpdump на внешнем интерфейсе и посмотрите что там в данных передается
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Почему не открывается страница?"  +/
Сообщение от Hot2107 (ok) on 08-Фев-17, 12:58 
> запустите что нибуть типа tcpdump на внешнем интерфейсе и посмотрите что там
> в данных передается

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

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Почему не открывается страница?"  +/
Сообщение от Hot2107 (ok) on 08-Фев-17, 13:16 
>> запустите что нибуть типа 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

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Почему не открывается страница?"  +/
Сообщение от reader (ok) on 08-Фев-17, 13:34 
>>> запустите что нибуть типа 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

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

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Почему не открывается страница?"  +/
Сообщение от Hot2107 (ok) on 08-Фев-17, 14:05 

Чего перечитывать? Если layer2 включен и разрешен например определенный mac то абсолютно все сайты не открываются а не какой-то конкретный. А  пинги  и трассировка туды идут без сбоя (если только один mac разрешен, а если разрешен десяток маков - то наблюдается до 80 %
потерянных пакетов)
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

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

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Почему не открывается страница?"  +/
Сообщение от Hot2107 (ok) on 08-Фев-17, 14:34 
Я этим вопросом занималcя год назад. И никакого положительного результата ни на одном форуме даже на freebsd.org. Поэтому мне кажется это глюк ipfw о котором разработчики знают но упорно умалчивают. Думал что на FreeBSD 11.0-RELEASE-p7 что-то наметится позитивного - но видно а воз и ныне там. Так что приходится держать компьютер на Debian 8.7 чисто из-за  iptables для фильтрации mac
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Почему не открывается страница?"  +/
Сообщение от arachnid (ok) on 08-Фев-17, 16:04 
я правильно понял, что когда вы устанавливаете переменную в 1, то все работает так, как вы хотите? или начинает проходить вообще всё?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Почему не открывается страница?"  +/
Сообщение от Hot2107 (ok) on 09-Фев-17, 12:14 
> я правильно понял, что когда вы устанавливаете переменную в 1, то все
> работает так, как вы хотите? или начинает проходить вообще всё?

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

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

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

14. "Почему не открывается страница?"  +/
Сообщение от Hot2107 (ok) on 10-Фев-17, 09:26 
А лярчик открывался но не так уж просто. Если dns-server прописать 8.8.8.8 то всё работает. Моб твою ять. layer2 ложит local unbound


Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Почему не открывается страница?"  +/
Сообщение от arachnid (ok) on 10-Фев-17, 17:13 
> А лярчик открывался но не так уж просто. Если dns-server прописать 8.8.8.8
> то всё работает. Моб твою ять. layer2 ложит local unbound

а если добавить в разрешающие правила mac-адреса своих сетевых карт?

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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