Частичный перехват трафика в одной сети

Обсуждение ПО и его настройки
xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Но вообще есть идея, как эту вторую проблему обойти, и таки трогать только тот трафик, который нужно отправить туннель.
Правда нужно либо два устройства, либо одно, но минимум с 4мя портами.

Смысл в том, чтобы иметь два бриджа (либо на одном устройстве, либо по одному на двух).
Если на одном, то тупо кабелем сделать петлю из одного порта в другой, а порты в разные бриджи. После этого на первом бридже использовать IP firewall и помечать пакеты, которые нужно отправлять в туннель, а на втором собственно вылавливать их и делать bridge dst-nat redirect.
Хитрость в том, что обычная маркировка снимается, когда покидает маршруизатор, но можно нецелевым образом использовать поле pcp - оборачивать исхдящий из первого бриджа траффик во vlan, устанавливать для нужных пакетов priority в какое-то специфическое значение. А на втором бридже снимать тэг и при этом использовать значение pcp для выделения нужно траффика.
Может быть даже и оборачивать во vlan не обязательно, надо пробовать.

Было бы ещё проще использовать для этих целей не pcp, а dscp, но тут опять упираемся в то, что bridge nat не умеет вытаскивать его из пакетов.


Telegram: @thexvo
Skylear
Сообщения: 118
Зарегистрирован: 06 авг 2017, 17:50

почитал некоторую информацию про transparent firewall - пишут что нужно использовать галку на бридже и стандартные цепочки в IP-Firewall.
еще момент - каналы все и так 100Мбит/с, так что hap-mini возможно и сможет справиться, ну а ежели нет, будем совать hex. смысл именно в том чтобы сделать устройство незаметным и отлавливать пакеты на лету. вот инфа https://mum.mikrotik.com/presentations/ ... 141611.pdf


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

У вас задача сложнее: вам же не только разрешить/запретить/поменять поля надо - вам пакет надо "выдернуть" из бриджа и маршрутизировать по другим правилам самим микротиком.
Так что только то, что я писал в предыдущем посте - два устройства (или одно с петлей), первый бридж делает примерно то, что в презентации, а второй - выдергивает нужный трафик и дальше маршрутизирует.


Telegram: @thexvo
Skylear
Сообщения: 118
Зарегистрирован: 06 авг 2017, 17:50

добрый вечер. поставил устройство (пока что hap mini), сделал удаленку к нему и к ПК, чтобы проверять. Получается никак не получится без двух бриджей? хотя бы просто для начала убедиться что работает сама схема. сделал правила в IP-Firewall Mangle, добавил адрес-лист Вконтакте, в NAT Bridge сделал редирект (пакеты идут), но активности в Mangle не заметно никакой


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

А как вы пытаетесь vk помечать?
Там небось гору ip надо в список вносить.
Вы бы сначала на каком-то ресурсе попроще это пробовали.


Telegram: @thexvo
Skylear
Сообщения: 118
Зарегистрирован: 06 авг 2017, 17:50

vk.com - делаю к примеру, в адрес-листе микротик сам сразу же вписывает 6 адресов, но не наблюдаю в mangle никакого движения.. счетчики по нулям.. могу добавить свой белый ip-адрес. он то точно один, и пробовать стучать по нему - но тоже ничего...
правило в mangle - mark routing и далее маршрут в routes.
Ситуация изменилась с топологией, правда не знаю в какую сторону - проще или сложнее.
CentOS раздает адреса сети 10.2.60.0/23 пулом 10.2.60.2-254. т.е. адреса подсети 10.2.61.0/24 - не раздаются, но существуют. шлюз CentOS 10.2.60.3 - но от того какой адрес стучит в него - зависит движение интернета. Назовем адреса 60 - серые, а 61 - белые. Так вот нужно пакеты вконтакте, ну или других сайтов - направить на CentOS от белого адреса, а не от серого.


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

Ну это безусловно проще: bridge nat уже не нужен, никаких ухищрений с маршрутизацией - тоже.
Просто прогонять весь трафик через use-ip-firewall=yes и там для всего, у чего dst-address-list=ваш_список делать src-nat action=netmap в 61ую подсеть, если она как раз для этого и зарезервирована.


Telegram: @thexvo
Skylear
Сообщения: 118
Зарегистрирован: 06 авг 2017, 17:50

сделал так, по нулям счетчики, может я упускаю что-то. вот конфиг на всякий случай

/interface bridge
add name=bridge-local
/interface bridge port
add bridge=bridge-local interface=ether1
add bridge=bridge-local interface=ether2
add bridge=bridge-local interface=ether3
/interface bridge settings
set use-ip-firewall=yes
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/ip address
add address=10.2.61.62/23 interface=bridge-local network=10.2.60.0
/ip dhcp-client
add disabled=no interface=bridge-local
/ip dhcp-server network
add address=10.2.60.0/23
/ip firewall address-list
add address=vk.com list=White-sites
/ip firewall mangle
add action=mark-routing chain=prerouting dst-address-list=White-sites \
new-routing-mark=White-list passthrough=no
/ip firewall nat
add action=netmap chain=srcnat dst-address-list=White-sites to-addresses=\
10.2.61.62
/ip route
add distance=1 gateway=10.2.60.3 pref-src=10.2.61.62 routing-mark=White-list
/system clock
set time-zone-name=Europe/Moscow
/system identity
set name=Transparent-Firewall


xvo
Сообщения: 4204
Зарегистрирован: 25 фев 2018, 22:41
Откуда: Москва

1) Уже написал, что во второй ситуации вам ни роутинг, ни маркировка вообще не нужны
2) Опять же, тестируйте на чем-нибудь, для чего вы точно знаете, что ip-адрес один - любой небольшой сайт выберите - и на нем.
3) Если в данном случае вас устроит, что все будет ходить с ip-адреса самого микротика (а так же на время теста) вместо netmap'а просто сделайте src-nat или masquerade.
4) Да, и наверное надо отключить на портах hw-offload - он по-умолчанию вроде включен. Иначе так и будет все по нулям.


Telegram: @thexvo
Skylear
Сообщения: 118
Зарегистрирован: 06 авг 2017, 17:50

на счет HW OFFLOAD не понял, снял галки и отвалился интернет... поехал, увидел что галка снялась только с одного порта. снял со второго. все поднялось. но никак не могу настроить. все равно ничего не работает.
дописываю сообщение. удалось таки перехватывать трафик. сейчас занимаюсь добавлением адресов и анализом всего этого. позже напишу что получилось


Ответить