Автор Тема: рутиране по МАК адрес  (Прочетена 1428 пъти)

__eve__

  • Напреднали
  • *****
  • Публикации: 71
    • Профил
    • WWW
рутиране по МАК адрес
« -: Sep 30, 2004, 00:58 »
Здравейте , със Слак 9.1 съм .Искам да пусна интернета само на 192.168.0.3 и то с МАК хх:хх:хх:оо:оо:оо и никое друго IP и MAC. Достатъчни ли са редовете и синтаксиса :              
   iptables -t nat -P POSTROUTING DROP
   iptables -t nat -A POSTROUTING -s 192.168.0.3 -m mac xx:xx:xx:oo:oo:oo -j MASQUERADE
Активен

ntenev

  • Напреднали
  • *****
  • Публикации: 125
    • Профил
рутиране по МАК адрес
« Отговор #1 -: Sep 30, 2004, 01:41 »
Почти, но с малки забележки. При така зададените от теб правила от тази машина няма да излезе нищо по простата причина че всичко ще попада във веригата с таргет DROP. Трябва да се съобразиш с факта че правилата се обхождат последователно до съвпадение, така че колкото по-напред е едно правило толкова по-рано пакета ше бъде сравнен с него. Друго на което е добре да обърнеш внимание е изходното условие. Добре си задал -s и -m флаговете, но според мен е по-добре да добавиш в същия ред и флагове -d и -o (оставям на теб удоволствието да погледнеш в man за какво са и как се ползват '<img'> ). В противен случай ще се маскира всичко от този адрес независимо накъде излиза. Ако имаш само един сегмент към сървъра най-вероятно няма да забележиш проблеми, но все пак не е добра идея от чисто професионална гледна точка.

Поздрави !
Активен

__eve__

  • Напреднали
  • *****
  • Публикации: 71
    • Профил
    • WWW
рутиране по МАК адрес
« Отговор #2 -: Sep 30, 2004, 15:00 »
Аз изходих от "Пакет филтеринг" от Ръсти.Tой първо блокира всичко ,а после разрешава това онова...
Там го дава така:

   ## Create chain which blocks new connections, except if coming from inside.
# iptables -N block
# iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A block -m state --state NEW -i ! ppp0 -j ACCEPT
# iptables -A block -j DROP
  
  My Webpage

 Обаче той казва ,че -m mac се използва само с PREROUTING
Активен

  • Гост
рутиране по МАК адрес
« Отговор #3 -: Sep 30, 2004, 16:40 »
Добро упътване '<img'>
Философията да забраниш всичко и след това да рарешиш само това което искаш е добра, но мисля че в случая те обърква думата "block". В man iptables много добре са описани всички флагове поглеждай и там за справка. Ето още един джокер:
-N флага създава нова верига, а аргумента след него (в случая "block") е името на веригата. До тук добре, но сама по себе си тази верига нищо не прави. Трябват още 2 неща ако искаш да я използваш:
1. Правило което да казва кои пакети да отиват в нея
2. Правило (или няколко) във самата верига

Обърни внимание в примера който даваш, че ACCEPT правилата са преди DROP. Така е именно заради това което съм ти написал предния път.

Относно -m mac:
Не се използва само в PREROUTING (виж в man iptables), но там е най-често използван. Защо ? Защото когато е в това правило пакета се проверява още на входа дали идва откъдето трябва и чак след това (ако оцелее) се обработва и стига до някъде другаде.

Обобщено: Трябва ти проверка по mac на входа и маскиране на изхода.

Поздрави !

P.S.  Не си мисли че се заяждам с теб. Мога да ти разпиша примера, който искаш (както и много други хора тук могат) но нали идеята е да го научиш. Затова ти давам само упътвания къде да търсиш '<img'>
Активен

__eve__

  • Напреднали
  • *****
  • Публикации: 71
    • Профил
    • WWW
рутиране по МАК адрес
« Отговор #4 -: Sep 30, 2004, 18:55 »
Много си прав сега ще го поправя и пак ще го напиша. ОК.Мерси за съвета
Активен

__eve__

  • Напреднали
  • *****
  • Публикации: 71
    • Профил
    • WWW
рутиране по МАК адрес
« Отговор #5 -: Oct 03, 2004, 12:52 »
##филтриране по мак на входната верига
# iptables -N filter_mac
# iptables -A filter_mac -m state --state   ESTABLISHED,RELATED -j ACCEPT
# iptables -A filter_mac -s ! 192.168.0.3 -m mac ! xx:xx:xx:oo:oo:oo -j DROP
## смесване на нат ифилтър таблиците
# iptables -t nat -A -s 192.168.0.3 -j MASQUERADE

 1 ред нова аерига ,
 2 ред ...нови състояния ;
 3 ред отхвърля всичко , което не е от 192.168.0.191 и мак хх:хх:хх:оо:оо:оо
 4       маскира и пуска в интернет
Активен

  • Гост
рутиране по МАК адрес
« Отговор #6 -: Oct 04, 2004, 14:20 »
Нека да го разгледаме така:
В: Кога се използват различни вериги (дефинирани от потребителя) ?
О: Когато имаш много IP-та върху които искаш да наложиш множество правила и писането едно по едно прави списъка твърде дълъг => неприятно за редактиране и управление. Друг вариант е когато имаш различни групи които трябва да попадат под различно филтриране. Третия случай е комбинацията от първите два (почти винаги така става '<img'> )

Имайки предвид това сам си отговори имаш ли нужда в конкретния случай от допълнителни вериги ?

Да се върнем отначало '<img'>

Цитат

 iptables -t nat -A POSTROUTING -s 192.168.0.3 -m mac xx:xx:xx:oo:oo:oo -j MASQUERADE
 iptables -t nat -P POSTROUTING DROP


Какви са грешките тук:

Първия ред
а) ще изреве за синтаксист ( заради -m mac xx:xx:xx:oo:oo:oo); правилния е --match mac --mac-source xx:xx:xx:oo:oo:oo (може и -m вместо --match)
б) проблем заради местоположението ( --mac-source се използва  само в PREROUTING, FORWARD или INPUT веригите, както си забелязал сам)

Втория ред
Не че е грешен, просто дропва всичко което се опита да излезе от машината независимо накъде. Не мисля че това ти е целта нали ? '<img'>

---------------------------

Ето едно решение:
Примерен код

iptables -A FORWARD -s 192.168.0.3 --match mac --mac-source xx:xx:xx:oo:oo:oo -j ACCEPT
iptables -A FORWARD -j DROP

iptables -t nat -A POSTROUTING -o $eth -j MASQUERADE


Където $eth е изходящия към интернет интерфейс (eth0, eth1 и т.н.)

По този начин можеш да ограничиш преминаващите пакети  през машината да са само от 192.168.0.3 и то от --mac-source xx:xx:xx:oo:oo:oo , без това да пречи на пакетите които идват от другите машини и са за рутера (ако на него работят някакви услуги - примерно ssh за да си го управляваш отдалечено)

Поздрави !
Активен

__eve__

  • Напреднали
  • *****
  • Публикации: 71
    • Профил
    • WWW
рутиране по МАК адрес
« Отговор #7 -: Oct 04, 2004, 14:31 »
благодаря ти човече за търпението и отговора
Активен