[ipfw] pipe Mac

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
MASiK
лейтенант
Сообщения: 625
Зарегистрирован: 2008-09-19 20:09:41
Откуда: Оттуда
Контактная информация:

[ipfw] pipe Mac

Непрочитанное сообщение MASiK » 2009-03-12 23:42:14

В общем хочу ограничивать скорость через ИПФВ и ПАЙП не по АйПи а по МАК

И тут сразу такая хрень вылетела, установил "net.link.ether.ipfw: 1" и вылител нафиг из ССШ... ЧТо за хрень такая? (Теперь хост в дауне... завтра прибьют :) придут а инета НЕТ :))

Да и вообще не понял как работает пайп с маками пробывал

Код: Выделить всё

ipfw pipe 1 ip from any to $mac out
Невига не работает, орёт что Хост не тот...

ЗЫ. freebsd 7.1 p4
Самурай

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: [ipfw] pipe Mac

Непрочитанное сообщение hizel » 2009-03-13 0:39:50

внимательнее прочитайте man ipfw и особое внимание уделите картинке в этом мане
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
MASiK
лейтенант
Сообщения: 625
Зарегистрирован: 2008-09-19 20:09:41
Откуда: Оттуда
Контактная информация:

Re: [ipfw] pipe Mac

Непрочитанное сообщение MASiK » 2009-03-13 3:07:08

Да вроде на ней не чего сверх естественного невидно

Я не понимаю почему хост лёг после net.link.ether.ipfw 0 > 1

Этож вроде врубить фильтр по Макам (Ну образно говоря)

Или я не прав?

И мне бы что ли пример как по маку pipe строить... А-то чёт и так голова кругом...
Самурай

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: [ipfw] pipe Mac

Непрочитанное сообщение gilas » 2009-03-13 8:38:00

net.link.ether.ipfw 0 > 1
после такого изменения, нет ничего уидвительного что отвалился ссх. после включения фильтрации по мак, в ipfw нужно добавить правила, разрешающие коннект от твоего мака к серверу. пример правил привести не могу. советую использовать применение правил фаервола вот по какой схеме:

1. создаем скрипт фаервола ipfw.sh (на лисяре есть статья)

2. туда пихаем все нужные правила (в том числе и ваши экспериментальные правила с маком)

3. создаем скрипт ipfw-clear.sh, содержимое:
#!/bin/sh

FwCMD="/sbin/ipfw"
${FwCMD} -f flush
${FwCMD} add allow ip from any to any

3. запускаем:
$ ./ipfw.sh && sleep 400 && ./ipfw-clear.sh

4. Открываем новую сессию коннекта с ссх
5. Работаем, смотрим ipfw show и т.д.

Замечу еще один момент. После включение net.link.ether.ipfw 0 > 1 для фаервола ipfw, в правилах которого нет правил для маков, сессия ссх рвется спустя 3-7 мин, поэтому параметр запуска sleep 300-400 очень важен при такой диагностике.

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: [ipfw] pipe Mac

Непрочитанное сообщение hizel » 2009-03-13 9:15:00

велосепедостроители, а что стандартного /usr/share/examples/ipfw/change_rules.sh не хватает? :pardon:

по поводу маков

Код: Выделить всё

     Also note that each packet is always checked against the complete rule-
     set, irrespective of the place where the check occurs, or the source of
     the packet.  If a rule contains some match patterns or actions which are
     not valid for the place of invocation (e.g. trying to match a MAC header
     within ip_input or ip6_input ), the match pattern will not match, but a
     not operator in front of such patterns will cause the pattern to always
     match on those packets.  It is thus the responsibility of the programmer,
     if necessary, to write a suitable ruleset to differentiate among the pos-
     sible places.  skipto rules can be useful here, as an example:

           # packets from ether_demux or bdg_forward
           ipfw add 10 skipto 1000 all from any to any layer2 in
           # packets from ip_input
           ipfw add 10 skipto 2000 all from any to any not layer2 in
           # packets from ip_output
           ipfw add 10 skipto 3000 all from any to any not layer2 out
           # packets from ether_output_frame
           ipfw add 10 skipto 4000 all from any to any layer2 out

Код: Выделить всё

     { MAC | mac } dst-mac src-mac
             Match packets with a given dst-mac and src-mac addresses, speci-
             fied as the any keyword (matching any MAC address), or six groups
             of hex digits separated by colons, and optionally followed by a
             mask indicating the significant bits.
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
MASiK
лейтенант
Сообщения: 625
Зарегистрирован: 2008-09-19 20:09:41
Откуда: Оттуда
Контактная информация:

Re: [ipfw] pipe Mac

Непрочитанное сообщение MASiK » 2009-03-13 10:25:09

Так
То есть это получается что после net.link.ether.ipfw 0 > 1

Мне надо разрешить доступ по макам????

И что получается что моя старая настройка разрешение по портам больше не нужна что ли?!

Откуда же я могу знать какой мак будет ко мне конинектться в то или иное время...

Сцуко не фига не понимаю:)))))))))) :st:

Так, а есть такое правило что бы оно разрешило доступ по макам фром эни ту эни?

А-то я чёт не въезжаю, мне что надо все маки проходящие через шлюз разрешать что ли?!
Самурай

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: [ipfw] pipe Mac

Непрочитанное сообщение gilas » 2009-03-13 10:52:37

2 hizel: на то оно и опенсорс, что есть несколько подходов к решению задач, не правда ли? ;-)
2 MASiKk: попробую упростить
net.link.ether.ipfw 0 - открываем порт tcp 22 и все работает
net.link.ether.ipfw 1 - помимо открытия tcp 22 нужно добавить правило разрешающее коннект от твоего мака к серверу

в помощь http://www.opennet.ru/openforum/vsluhfo ... 77149.html

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: [ipfw] pipe Mac

Непрочитанное сообщение hizel » 2009-03-13 11:04:52

gilas я без упрека, но хорошо знать побольше вариантов и выбирать из них или модифицировать под себя :pardon:

а топикстартеру желательно теорию подтянуть, без понимания основ не стоит и браться :unknown:
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
MASiK
лейтенант
Сообщения: 625
Зарегистрирован: 2008-09-19 20:09:41
Откуда: Оттуда
Контактная информация:

Re: [ipfw] pipe Mac

Непрочитанное сообщение MASiK » 2009-03-13 11:10:00

Так вот я и спрашиваю

Допустим открою я себе доступ к серверу по маку к 22 порту, войду я на ССШ

Но у меня тут блин 60 человек которые жаждут инета :) а я жажду экономии траффика

И как мне сделать что бы и они проходили нормально?

Потому что как тока я ставлю net.link.ether.ipfw 0 > 1 через 3-5мин я не могу даже Локально пинговать не кого, не сеть не инет...

Я чёт совсем не догоняю как это работает

пытаюсь сделать

Код: Выделить всё

ipfw add allow mac (Мак адресс) from any to any
он пишет мак не верный...

а если я делаю

Код: Выделить всё

allow ip from any to any MAC (Мак 1) (Мак 2)
То что-то куда-то разрешается...

:cz2: :cz2: :cz2:
Самурай

Аватара пользователя
MASiK
лейтенант
Сообщения: 625
Зарегистрирован: 2008-09-19 20:09:41
Откуда: Оттуда
Контактная информация:

Re: [ipfw] pipe Mac

Непрочитанное сообщение MASiK » 2009-03-13 11:26:14

ААААА БЛИН! Въехал походу!!

Кароче возможно кому пригодиться :)))

Разберу на моём логическом примере правело из /etc/rc.firewall , раздел simple

допустим мак моей сетевушки смотрящей в инет aa:aa:aa:aa:aa:aa

Код: Выделить всё

ipfw add allow all from 192.168.9.0/24 to any mac any aa:aa:aa:aa:aa:aa
Отсюда вывод что я разрешил всем из подсети 9.0 выход с любым маком в сторону мака внешней сетевухи

А если я сделаю

Код: Выделить всё

ipfw add allow all from 192.168.9.0/24 to any mac ff:ff:ff:ff:ff:ff aa:aa:aa:aa:aa:aa
То тут уже я разрешу выход из подсети 9.0 с маком ff:ff:ff:ff:ff:ff на мак внешки соответственно

Я прав?
Самурай

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: [ipfw] pipe Mac

Непрочитанное сообщение hizel » 2009-03-13 11:51:39

безумно безграмотно :)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: [ipfw] pipe Mac

Непрочитанное сообщение gilas » 2009-03-13 11:52:26

2 MASiKk net.link.ether.ipfw 0 > 1 - переводит ipfw в режим работы с возможностью фильтра по мак-адресам. В каком-то смысле, в этом режиме можно даже разделить ipfw правила на две части
1 фильтрация ipfw по ip ("обычный" режим фаервола)
2 фильтрация ipfw по макам

Во втором случае вам потребуется воссоздать правила ipfw для фильрации по макам соответсвующим образом, а именно выбрать:
запрещаете ли вы то, чего не разрешено
или же
разрешаете то, чего чего не запрещено

Думаю вам эта процедура знакома, если вы сами настраивали ipfw в "обычном" режиме, т.е. с net.link.ether.ipfw 0. К сожалению не могу дать выдержки из правил ipfw работающий как фильтр маков. Вообще верно было замечено, лучше начать с теории или хотябы с хоум-практики, продакшн не терпит таких выходок.

ps как-то разбирался с правилами фаервола одного товарища. Опыта и знание чего же делает net.link.ether.ipfw 1у меня не было. После настройки пролитик ip в ipfw, система уходила в оффлайн, т.е. так же как и у вас. Итог: целый день потраченный на выявление причины (в тот момент меня и моего товарища ничуть не смутило наличие net.link.ether.ipfw 1 в /etc/sysctl.conf) . Самое забавное - фаервол в итоге расчитывался работать в "обычном" режиме, по ip :crazy:

ps2 ваша задача изначально ясна участникам обсуждения этой темы в техническом плане, но мне не ясно вот что. Действительно ли вы считаете что целесообразно таким образом ограничивать скорость по средствам мак адресов в компании, где 60 рабочих мест? Уверен, в конфигурациях офисных машин не всегда присутсвует безотказное железо (безотказного железа не бывает), в том числе и сетевых плат.
Теперь ситуация, пример: летит сетевуха на компьютере у одного из сотрудников (не так редко это происходит), сетевуха меняется, сетевуха начинает работать с новым мак адресом. Многие справедливо заметят, что мак можно сменить и на прежний, или в конце концов поддерживать актуальность маков сетевых карт на стороне сервера. Но! Вспомните ли вы об этом и в частности об "net.link.ether.ipfw 1" через N-месяцев/лет, не говоря уж о новом админе? Решать в любом случае вам, удачи

Аватара пользователя
MASiK
лейтенант
Сообщения: 625
Зарегистрирован: 2008-09-19 20:09:41
Откуда: Оттуда
Контактная информация:

Re: [ipfw] pipe Mac

Непрочитанное сообщение MASiK » 2009-03-13 12:11:36

Дааа....

Обычный ipfw по ip я-то настраивал, и изучил его для моих нужд нормально :)

Но вот с этими маками пипец получается...

просто хотелось разобраться вообще с этой системой ИПФВ+МАК, пока не встала такая задача, что бы знать за ранее

Но уже понял с чем буду иметь дело если надо будет совмещать ИПФВ+МАК и понял что скажу что Так не реально сделать :))))))))))))))))

Шутка конечно,

Спасибо всем за помощь, пойду капать маны,
Самурай