Терминиране на IP адреси
Да си представим следната ситуация
Вие имате средно голям офис със няколко доставчика (бройката не е важна). Всеки от доставчиците ви ви е отпуснал по един малък IP range (няма значение колко малък/голям). На рутера сте си сложили само по един адрес от всеки доставчик и вашата вътрешна мрежа. И искате да прекъснете достъпа от/до другите аддреси които са ви дали доставчиците.
Как да постигнем това?
Съществуват следните решения:
- Блокиране с помощта на iptables във веригата FORWARD - това си има и предимства и недостатъци. Като минимум това е първото решение за което се сеща човек. Но за сметка на това се увеличава броя правила във вашият ruleset което води до забавяне и хабене на ресурси.
- Другото решение е със кернел модула dummy. Това е модул който след зареждането си създава нова мрежова карта наречена dummy0. И хубавият момент е че тази карта изобщо не съществува, не се рутира, не приема и не предава пакети. Най общо казано това е една черна дупка, подобна на /dev/null но предназначена да гълта адреси.
След като вече сме си избрали второто решение следва просто да налепим адресите на тази фалшива мрежова карта. Препоръчвам ви да избягвате варианта с псевдоними, тъй като ще ви се дигне броят интерфейси в системата което може да е доста дразнещо по някога. По елегантното решение е да използвате предимставата на пакета iproute2
Пример:
ip address add 111.111.111.111/32 dev dummy0
Тази идея може да се използва за създаване на blackhole и за спасяване от странен трафик. Поне по моите лични наблюдения трафика към тези адреси се унищожава доста рано и почти не товари.
По този начин може да изрутирате към небитието някои доста неприятни хостове
Пример:
ip address add 192.168.254.254/32 dev dummy0 ip route add 1.2.3.4/12 via 192.168.254.254 dev dummy0 proto static
И проблемният индивид/ мрежа вече не са проблем








