LINUX.ORG.RU

Скрыть МАК машины внутри сети?

 , , ,


0

1

Доброго времени суток.

Делаю нечто похожее на сервер провайдера на базе Ubuntu 14.04 (NAT+DHCP+DNS). На данном этапе получилось реализовать доступ машин в инет по маку. Позже думаю ограничить машине скорость канала с помощью кальмара.

В общем проблема заключается в том, что узнать мак машины, которой разрешен доступ в инет не составит труда, используя пинг и арп внутри сети с любой машины. Как скрыть маки машин внутри сети?

Нагуглил arptables, но не нашел примеров по работе с ним.

/etc/iptables:

#!/bin/sh

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -A INPUT -i lo -j ACCEPT

iptables -A FORWARD -i eth1 -o eth0 -m mac --mac-source 08:00:27:32:74:07 -j ACCEPT

iptables -A FORWARD -i eth1 -o eth0 -j REJECT

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -i eth0 -o eth1 -j REJECT

iptables-save:

# Generated by iptables-save v1.4.21 on Wed Mar 22 10:05:55 2017
*nat
:PREROUTING ACCEPT [119:8603]
:INPUT ACCEPT [22:2382]
:OUTPUT ACCEPT [38:2911]
:POSTROUTING ACCEPT [38:2911]
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Mar 22 10:05:55 2017
# Generated by iptables-save v1.4.21 on Wed Mar 22 10:05:55 2017
*filter
:INPUT ACCEPT [137:24919]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [155:18479]
-A INPUT -i lo -j ACCEPT
-A FORWARD -i eth1 -o eth0 -m mac --mac-source 08:00:27:32:74:07 -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Wed Mar 22 10:05:55 2017

Никаг.

МАК-адрес используется для адресации и передачи пакетов на канальном уровне и все такое.

Т.е. когда ты посылаешь пакет на какой-либо ИП-адресс, то для этого адреса вычисляется мак-адрес ну или берется мак-адрес шлюза. После этого ип-пакет заворачивается в мак-обертку где прописаны мак-адрес получателя и посылателя и еще немножко. и только потом передается в виде электромагнитных импульсов. Свитчи находящиеся между тобой и получателем получает паке от тебя, по мак-адресу получателя определяет через какой из кучи портов подключен получатель и посылает пакет туда.

pfg ★★★★★ ()
Ответ на: комментарий от pfg

Никаг.

Но есть один способ - запретить общение между соседами по сети кроме как с сервером. Но тогда придётся на каждом клиенте рисовать этот iptables.

vodz ★★★★★ ()

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

Deleted ()
Ответ на: комментарий от vodz

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

Иначе сети повесились бы от потока левого трафика.

еще вариант все свитчи собрать возле роутера, тогда по линиям будет ходить только «свой» трафик.

pfg ★★★★★ ()

можно запереть сервер в сейф и отключить от сети, тогда его мак будет узнать сложно

а что такое кальмар?

ACR ()

Брать умный свитч и нарезать по vlan на порт. Это если тебе не надо чтобы машины в локалке между собой говорили.

Dark_SavanT ★★★★★ ()
Ответ на: комментарий от pfg

так-то и свитчи разделяют трафик по портам

Разделяют, но общение между портами - основное их предназначение. ТСу надо, чтобы сосед не узнал соответствие IP-MAC, насколько я понял. Про запрет другого MAC на порту — тоже хорошо, но не отменяет попросить у соседа попользоваться его портом.

vodz ★★★★★ ()
Ответ на: комментарий от pfg

Если свитч ещё не набрал таблицу маков по портам, он шлёт во все порты.

Dark_SavanT ★★★★★ ()
Ответ на: комментарий от ACR

а что такое кальмар?

squid.
Думаю squid не годится для провайдерства.

Deleted ()

И да, работает только связка MAC+PORT во всех остальных случаях mac spoofing не избежать.

Dark_SavanT ★★★★★ ()
Ответ на: комментарий от vodz

Если свитч набрал ARP-таблицу, то чужие маки к тебе не попадают. он лишнее отфильтровывает.

и маки сети даже в таком случае можно собрать, просто слушая сеть в течении долго времени. после каждого включения будет массовая рассылка мак адресов всем.

pfg ★★★★★ ()
Ответ на: комментарий от pfg

Если свитч набрал ARP-таблицу, то чужие маки к тебе не попадают. он лишнее отфильтровывает.

О, боже. Свитч собирает таблицу MAC, а ARP - это протокол связи между L2 и L3, и работает всегда, когда вы общаетесь в сети эзернет.

vodz ★★★★★ ()

Для изоляции хостов друг от друга на уровне L2 существует технология Privat VLAN.

intervent ()

Во-первых, без управляемых коммутаторов не обойтись никак. Любой L2-управляемый умеет в том или ином виде фильтровать траффик. У д-линков для горе-администраторов даже отдельную команду сделали traffic/port segmentation, по-моему, но могу ошибаться, давно их не трогал. Но в целом, L2 фреймы фильтруются либо ACL-правилами, что неправильно/некрасиво (неудобно для пользователя, т.к. при смене оборудования приходится обновлять привязку MAC-port вручную/автоматически через тех.поддержку), либо используя 802.1q для разделения одной сети на L2-подсети.

Во-вторых, в коммутаторах нет ARP-таблиц в ASIC-части - она есть только в SoC части, где крутится управляющая ОС (а она вообще может быть завёрнута в отдельный vlan и с обычного порта туда не достучаться). Таблица коммутации называется FDB (forward database) и записи (соответствие MAC-port) в неё добавляются при получении фрейма с MAC-src на порт. Коммутатор переходит в режим hub (пересылки фрейма на все порты) только в случае переполнения FDB и для широковещательных фреймов. Собственно, протокол ARP позволяет коммутатору сразу определить откуда куда коммутировать пакеты (запрос от компа с MAC-src компа и MAC-dst широковещательным, а ответ в обрабтку уже идёт с MAC-src отвечающего компа), но в самом ARP коммутатор не учавствует никак. Для проверки, на хостах можно забить ARP-талицу статическими записями и убедиться, что и без ARP всё работает.

ЗЫ. Именно поэтому начальные пионернеты/локалочки использовали для доступа в интернет VPN с логинами и паролями, т.к. сети были построены на неуправляемом железе.

nickleiten ★★★ ()

Используй Port Security на свиче.

TOXA ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.