Фильтруем по RFC5735 в RouterOS v7
Есть такой RFC под номером 5735 который описывает все “Special Use IPv4 Addresses” специальные IP адреса и сети.
Если вы когда-то услышите что данный список иногда меняется, плюньте в него (шутка). Но, а если серьёзно, то данный список если и изменяется то крайне редко.
Наглядно
2002 год | 2010 год |
---|---|
0.0.0.0/8 "This" Network 10.0.0.0/8 Private-Use Networks 14.0.0.0/8 Public-Data Networks 24.0.0.0/8 Cable Television Networks 39.0.0.0/8 Reserved but subject to allocation 127.0.0.0/8 Loopback 128.0.0.0/16 Reserved but subject to allocation 169.254.0.0/16 Link Local 172.16.0.0/12 Private-Use Networks 191.255.0.0/16 Reserved but subject to allocation 192.0.0.0/24 Reserved but subject to allocation 192.0.2.0/24 Test-Net 192.88.99.0/24 6to4 Relay Anycast 192.168.0.0/16 Private-Use Networks 198.18.0.0/15 Network Interconnect Device Benchmark Testing 223.255.255.0/24 Reserved but subject to allocation 224.0.0.0/4 Multicast 240.0.0.0/4 Reserved for Future Use | 0.0.0.0/8 "This" Network 10.0.0.0/8 Private-Use Networks 127.0.0.0/8 Loopback 169.254.0.0/16 Link Local 172.16.0.0/12 Private-Use Networks 192.0.0.0/24 IETF Protocol Assignments 192.0.2.0/24 TEST-NET-1 192.88.99.0/24 6to4 Relay Anycast 192.168.0.0/16 Private-Use Networks 198.18.0.0/15 Network Interconnect Device Benchmark Testing 198.51.100.0/24 TEST-NET-2 203.0.113.0/24 TEST-NET-3 224.0.0.0/4 Multicast 240.0.0.0/4 Reserved for Future Use 255.255.255.255/32 Limited Broadcast |
Прошлое изменение было 2002 и 2010 году, если такой срок подпадает под “иногда” - то годиться. Перерыв в 8 лет и сейчас уже прошло 12 лет.
В данный момент ТОЛЬКО идёт обсуждение об использование 0.0.0.0/8, т.е. с огромным скрипом тут что-то может поменяться.
Ближе к делу.
Все сети которые попадают под RFC5735 мы не должны добавлять в таблицу маршрутизации от ebgp пиров.
/routing filter rule
add chain=RFC5735 rule="if (dst in 0.0.0.0/8) {reject;}"
add chain=RFC5735 rule="if (dst in 10.0.0.0/8) {reject;}"
add chain=RFC5735 rule="if (dst in 127.0.0.0/8) {reject;}"
add chain=RFC5735 rule="if (dst in 169.254.0.0/16) {reject;}"
add chain=RFC5735 rule="if (dst in 172.16.0.0/12) {reject;}"
add chain=RFC5735 rule="if (dst in 192.0.0.0/24) {reject;}"
add chain=RFC5735 rule="if (dst in 192.0.2.0/24) {reject;}"
add chain=RFC5735 rule="if (dst in 192.88.99.0/24) {reject;}"
add chain=RFC5735 rule="if (dst in 192.168.0.0/16) {reject;}"
add chain=RFC5735 rule="if (dst in 198.18.0.0/15 ) {reject;}"
add chain=RFC5735 rule="if (dst in 198.51.100.0/24) {reject;}"
add chain=RFC5735 rule="if (dst in 203.0.113.0/24) {reject;}"
add chain=RFC5735 rule="if (dst in 224.0.0.0/4) {reject;}"
add chain=RFC5735 rule="if (dst in 240.0.0.0/4) {reject;}"
add chain=RFC5735 rule="if (dst in 255.255.255.255/32) {reject;}"
add chain=RFC5735 rule="return;"
Простым jump-ом заходим в цепочку, в конце цепочка вернёт обратно обработку, на следующем за jump-ом правило.
Поделиться
Обсуждение
Лицензия
Текст данной статьи распространяется под общедоступной лицензией CC BY-NC-ND 4.0, ознакомиться с тектом лицензии вы можете на данной странице.