Автор Тема: Филтрирване по ип и мак адрес  (Прочетена 4988 пъти)

byzon

  • Напреднали
  • *****
  • Публикации: 30
  • Distribution: Debian
    • Профил
Здравейте, опитвам се да си направя едно рутерче (шейпърче) ползвам хтб-тоолс за шейп на около 2000 човека на него, всички са с реални ип та, за сега нямам проблем с шейпа но се чудя как мога да огранича народа да не си сменя прозиволно ип адресите :)
Та пробвам така..

iptables -A FORWARD -i eth1  -s xxx.xxx.xxx.xxx/32  -m mac --mac-source  FF:FF:FF:FF:FF:FF -j ACCEPT
iptables -A FORWARD -i eth1  -j DROP

но Цпу то ми почва да се товари доста та чак почва да лагва.  :(
Та на въпроса има ли начин за по добро филтрирване (друг тоолс) или някаква оптимизация на iptables и какъв е той ?
Благодаря предварително на всички отзовали се!
Активен

zeridon

  • Killmode enabled
  • Administrator
  • Напреднали
  • *****
  • Публикации: 1398
  • Distribution: Debian/Ubuntu
  • Window Manager: console/Gnome
  • BOfH
    • Профил
    • WWW
Re: Филтрирване по ип и мак адрес
« Отговор #1 -: Nov 24, 2008, 20:20 »
Пробвай ebtables (еквивалент на iptables но на L2) или ipset.

Мога да препоръчам и FlatTC
Активен

Внмимавай имам клещи за кабел
http://www.netsecad.com/
http://theregister.co.uk/odds/bofh/

byzon

  • Напреднали
  • *****
  • Публикации: 30
  • Distribution: Debian
    • Профил
Re: Филтрирване по ип и мак адрес
« Отговор #2 -: Nov 24, 2008, 20:26 »
А според теб кое е най добре да се ползва от тях  [_]3
Активен

zeridon

  • Killmode enabled
  • Administrator
  • Напреднали
  • *****
  • Публикации: 1398
  • Distribution: Debian/Ubuntu
  • Window Manager: console/Gnome
  • BOfH
    • Профил
    • WWW
Re: Филтрирване по ип и мак адрес
« Отговор #3 -: Nov 24, 2008, 20:32 »
Честно казано като че ли FlatTC, но пък го има и момента че никога не съм се заигравал с толкова голяма мрежа. Авторът му го е правил за ISP така че би трябвало да носи. Конфигурацията му не е тегава, но ... нямам реални представи как се държи в големи мрежи.
Активен

Внмимавай имам клещи за кабел
http://www.netsecad.com/
http://theregister.co.uk/odds/bofh/

byzon

  • Напреднали
  • *****
  • Публикации: 30
  • Distribution: Debian
    • Профил
Re: Филтрирване по ип и мак адрес
« Отговор #4 -: Nov 24, 2008, 20:37 »
Сега ще погледна той на какъв прицнип работи, не че ще разбера много но поне ще ме упъти ;)
Благодаря ти много за отговора !  [_]3
Активен

byzon

  • Напреднали
  • *****
  • Публикации: 30
  • Distribution: Debian
    • Профил
Re: Филтрирване по ип и мак адрес
« Отговор #5 -: Nov 24, 2008, 21:30 »
ebtables много ми хареса, дори си го сложих.. въпроса е че работи само в bridge което мисля не ме устройва
FlatTC мисля че е много добро но май няма защита по mac address и до колкото виждам бачка с иптаблес..
ipset още не съм го разгледал  ;)
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Филтрирване по ип и мак адрес
« Отговор #6 -: Nov 24, 2008, 22:01 »
Можеш ли да пейстнеш sar -A 1 и cat /proc/interrupts от "задъханата" машина просто от интерес?

ksoftirqd ли ти товари машината толкова много, top какво казва по въпроса?
« Последна редакция: Nov 24, 2008, 22:03 от gat3way »
Активен

"Knowledge is power" - France is Bacon

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: Филтрирване по ип и мак адрес
« Отговор #7 -: Nov 24, 2008, 22:15 »
FlatTC мисля че е много добро но май няма защита по mac address и до колкото виждам бачка с иптаблес..
ipset още не съм го разгледал  ;)
Работи съвместно с iptables и ipset. Реализацията на MAC/IP филтрация с ipset е елементарна и във всички случаи е за предпочитане пред такава изградена с iptables. :)
И те съветвам да сложиш поне двуядрен процесор и да разхвърляш IRQ-тата на NIC-овете ...

За MAC/IP защитата:
http://linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=386924398
« Последна редакция: Nov 24, 2008, 22:18 от VladSun »
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

neznaen

  • Напреднали
  • *****
  • Публикации: 13
    • Профил
Re: Филтрирване по ип и мак адрес
« Отговор #8 -: Nov 24, 2008, 22:38 »
Има и друг варянт да избягаш от Iptables и да спестиш доста ресурс.
Вдигаш си GW с маска 255.255.255.255,така ще избегнеш рутирането на цялата мрежа през интерфейса,след това обаче при пускане на клиент в мрежата ще трябва да го рутираш ръчно и можеш да го обвържеш по мак адрес със статичен запис в АРП таблицата.
« Последна редакция: Nov 24, 2008, 22:41 от neznaen »
Активен

byzon

  • Напреднали
  • *****
  • Публикации: 30
  • Distribution: Debian
    • Профил
Re: Филтрирване по ип и мак адрес
« Отговор #9 -: Nov 24, 2008, 23:19 »
Можеш ли да пейстнеш sar -A 1 и cat /proc/interrupts от "задъханата" машина просто от интерес?

ksoftirqd ли ти товари машината толкова много, top какво казва по въпроса?
Да ksoftirqd ми прави този дерт :) в момента онлайн са 670 човека и при пуснат иптаблес
load average: 0.97, 0.54, 0.23
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    4 root                   15  -5     0    0    0 S   34  0.0  34:36.94 ksoftirqd/0
    7 root                   15  -5     0    0    0 S   19  0.0  40:04.64 ksoftirqd/1

При иптаблес -Ф -Х лоада става на 0.02-0.10
колкото до sar -A 1 няма такава команда

cat /proc/interrupts
           CPU0       CPU1
  0:        213         53   IO-APIC-edge      timer
  1:         36         49   IO-APIC-edge      i8042
  8:         45         46   IO-APIC-edge      rtc0
  9:          0          0   IO-APIC-fasteoi   acpi
 16:          0          0   IO-APIC-fasteoi   uhci_hcd:usb1
 17:          0          0   IO-APIC-fasteoi   uhci_hcd:usb2
 18:          0          0   IO-APIC-fasteoi   uhci_hcd:usb3, ehci_hcd:usb4
 21:          0          0   IO-APIC-fasteoi   uhci_hcd:usb7
 22:          0          0   IO-APIC-fasteoi   uhci_hcd:usb6
 23:          0          0   IO-APIC-fasteoi   uhci_hcd:usb5, ehci_hcd:usb8, pata_it8213
216:  125973877  125879899   PCI-MSI-edge      eth1
217:  115444138  115538281   PCI-MSI-edge      eth0
218:      20422      20249   PCI-MSI-edge      ahci
NMI:          0          0   Non-maskable interrupts
LOC:  712884246  739175930   Local timer interrupts
RES:       1760       2366   Rescheduling interrupts
CAL:      58946      47979   function call interrupts
TLB:       9883       9749   TLB shootdowns
SPU:          0          0   Spurious interrupts
ERR:          0
MIS:          0

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

cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Duo CPU     E8500  @ 3.16GHz
stepping        : 10
cpu MHz         : 3158.743
cache size      : 6144 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 lahf_lm
bogomips        : 6317.48
clflush size    : 64
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Duo CPU     E8500  @ 3.16GHz
stepping        : 10
cpu MHz         : 3158.743
cache size      : 6144 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 lahf_lm
bogomips        : 6317.72
clflush size    : 64
power management:


FlatTC мисля че е много добро но май няма защита по mac address и до колкото виждам бачка с иптаблес..
ipset още не съм го разгледал  ;)
Работи съвместно с iptables и ipset. Реализацията на MAC/IP филтрация с ipset е елементарна и във всички случаи е за предпочитане пред такава изградена с iptables. :)
И те съветвам да сложиш поне двуядрен процесор и да разхвърляш IRQ-тата на NIC-овете ...

За MAC/IP защитата:
http://linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=386924398

Да мисля че ще се спра на този вариант.. стига да разбера кое как става :) Мерси за статииката точно нея гледах преди това  :)
А м-у другото как мога да - разхвърляш IRQ-тата на NIC-овете
cat /proc/interrupts
216:  126122272  126028946   PCI-MSI-edge      eth1
217:  115582435  115675912   PCI-MSI-edge      eth0
echo "2" /proc/irq/216/smp_affinity
echo "1" /proc/irq/217/smp_affinity
Това ли имаш на предвид или нещо друго?

Има и друг варянт да избягаш от Iptables и да спестиш доста ресурс.
Вдигаш си GW с маска 255.255.255.255,така ще избегнеш рутирането на цялата мрежа през интерфейса,след това обаче при пускане на клиент в мрежата ще трябва да го рутираш ръчно и можеш да го обвържеш по мак адрес със статичен запис в АРП таблицата.
Звучи добре но мисля че не е това моя вариант :)
« Последна редакция: Nov 24, 2008, 23:30 от byzon »
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Филтрирване по ип и мак адрес
« Отговор #10 -: Nov 24, 2008, 23:42 »
Ъммм прекъсванията се разпределят относително равномерно между двете ядра, очевидно и двата ksoftirqd thread-a товарят там двете ядра. От друга страна нито load-а като гледам е ужасно голям, нито CPU утилизацията от 2-те е толкова брутална :)

Тъй като това е рутер и държиш системата да си върши работата (рутиране), а не като напишеш нещо в ssh да ти се изплюе веднага на конзолата, можеш да пробваш да вдигнеш nice приоритета на 2-та kernel thread-a (renice -20 <pid-a na ksoftirqd>). Така те поне ще си вземат повече процесорно време, защото на другите процеси няма да им се дава толкова :)

Ааа това е ако искаш да мине най-безболезнено. Хардуерните ъпгрейди, минаването към nf-hipac или редизайнването на правилата са по-болезнен, но и по-радикален и сигурен вариант :)

Аааааа,да, ако не нат-ваш и не правиш stateful firewall разкарай connection tracking-a, ефектът е много силен, доказано според големите глави.
« Последна редакция: Nov 25, 2008, 00:54 от gat3way »
Активен

"Knowledge is power" - France is Bacon

byzon

  • Напреднали
  • *****
  • Публикации: 30
  • Distribution: Debian
    • Профил
Re: Филтрирване по ип и мак адрес
« Отговор #11 -: Nov 24, 2008, 23:47 »
но съм сигорен че може да работи и по добре , да работи но не мисля че това може да се изтиска от тази машинка , пък и за момента не е натоварено..
Активен

byzon

  • Напреднали
  • *****
  • Публикации: 30
  • Distribution: Debian
    • Профил
Re: Филтрирване по ип и мак адрес
« Отговор #12 -: Nov 24, 2008, 23:54 »
connection tracking-a съм го махнал ако е пуснат едва ли ще е това натоварването :)
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: Филтрирване по ип и мак адрес
« Отговор #13 -: Nov 25, 2008, 00:19 »
Да мисля че ще се спра на този вариант.. стига да разбера кое как става :) Мерси за статииката точно нея гледах преди това  :)

Е... па... ще помагаме, ако трябва ;)

С решение, подобно на FlatTC (+ MAC/IP, +DNAT), сме държали на една машина (двуядрен 3GHz Intel) 1000+ потребители с трафик 200+Mbit full duplex - натоварване около 45% на CPU-то.
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

byzon

  • Напреднали
  • *****
  • Публикации: 30
  • Distribution: Debian
    • Профил
Re: Филтрирване по ип и мак адрес
« Отговор #14 -: Nov 25, 2008, 00:28 »
Да мисля че ще се спра на този вариант.. стига да разбера кое как става :) Мерси за статииката точно нея гледах преди това  :)

Е... па... ще помагаме, ако трябва ;)

С решение, подобно на FlatTC (+ MAC/IP, +DNAT), сме държали на една машина (двуядрен 3GHz Intel) 1000+ потребители с трафик 200+Mbit full duplex - натоварване около 45% на CPU-то.
Благодаря на всички ви , още утре ще тествам.. да не е днес че ако прецакам нещо лошо.. ;D ще ви напиша комент как се държи на повечко потребители  ;)
Активен