Фильтр соответствия MAC и IP-адресов
Синтаксис:
macf MAC IP Сomment
macf del N
macf [-]dhcp [-]strict | [-]reverse | [-]simple | [-]quiet
macf show | clear
Команда "macf" позволяет задать жёсткое соответствие MAC и IP-адресов в ethernet сети.
Это может быть полезно сервис провайдерам, предоставляющим услуги подключения к сети независимой группе абонентов через один блок доступа, например частным лицам в жилом доме.
В этом случае, у абонентов часто появляется искушение изменить свой IP-адрес (на соседский) и, тем самым, обмануть учётную систему провайдера.
В общем случае, эта проблема почти неразрешима, однако, зафиксировав чёткое соответствие MAC адреса абонента и назначенного ему IP-адреса, можно существенно облегчить себе жизнь, поскольку процедура смены MAC-адреса намного сложнее.
Команда "macf MAC IP" добавляет в таблицу очередную пару соответствия.
Code Block |
---|
|
macf 102030405060 1.1.1.1 Room123
macf 203040506070 2.2.2.2 Room125 |
Посмотреть текущую таблицу соответствия можно командой "macf show" или "co show":
Code Block |
---|
|
macf show
macf 1 0020af915099 192.78.64.99 Server
macf 2 0020af9150a3 192.78.64.194 Room94
macf 3 0020af9150a4 192.78.64.134 Room57
macf 4 0020af9150a7 192.78.64.174 Admin |
Внутренние номера присваиваются системой автоматически и могут быть использованы для удаления правил из таблицы, командой "macf del N".
Команда "macf clear" полностью очищает таблицу соответствия.
Запись сообщений в системный журнал можно отключить с помощью опции "quiet".
Фильтр может работать в двух режимах.
...
Описание
Команда используется для статического сопоставления IP-адресов с MAC-адресами в сети Ethernet. Данная функция может быть полезна при подключении к своей сети группы абонентов (например, отдельных пользователей в блоке квартир) через один общий модуль доступа, так как помогает предотвратить подмену абонентами собственного IP-адреса на соседний, с целью обмануть систему учёта провайдера. Применение команды "macf" не гарантирует абсолютную защиту, однако, для обычного пользователя намного сложнее изменить MAC-адрес, в отличие от IP-адреса.
Синтаксис:
Code Block |
---|
|
macf IFNAME {MAC|"any"} {IP|"any"} "Comment"
macf IFNAME del N
macf IFNAME {[-]dhcp [-]strict | [-]reverse | [-]simple | [-]quiet}
macf show | clear |
Параметры
Center |
---|
Параметр | Описание |
---|
IFNAME | Аргумент, определяющий идентификатор интерфейса, для которого в таблицу соответствия будет добавлена или удалена запись. | {MAC|"any"} {IP|"any"} "Comment"
| Добавляет запись в таблицу соответствия. - "MAC" – MAC-адрес устройства.
- "IP" – IP-адрес, назначенный устройству.
- "any" – любой MAC или IP-адрес.
- "Comment" – произвольный комментарий для удобства идентификации.
Note |
---|
| В таблицу не может быть добавлено две записи с одинаковыми MAC-адресами. |
| del N | Удаление записи с номером "N" из таблицы соответствия. Номер записи можно узнать с помощью параметра "show". | {[-]dhcp [-]strict | [-]reverse | [-]simple | [-]quiet} | Позволяет настроить режим фильтрации пакетов. "[-]" – приставка отменяющая действие параметра. Алгоритм работы фильтра включает в себя 2 этапа: - Фильтр выполняет поиск MAC-адреса в таблице.
- Если таковой обнаружен, выполняется проверка соответствия IP-адресов.
- "strict" – включает строгий режим работы фильтра. В данном режиме сетевые пакеты от узлов, не описанных в таблице соответствия, будут отбрасываться. Если режим выключен, все станции, не описанные в таблице соответствия, будут обслуживаться без каких-либо ограничений.
|
|
...
- По умолчанию режим "strict" выключен.
Warning |
---|
| Если вы конфигурируете маршрутизатор удалённо |
|
, , то), включая режим "strict", убедитесь, что ваша рабочая станция уже внесена в таблицу соответствия. Иначе вы потеряете контроль над маршрутизатором, и отменить этот режим можно будет только через диагностический порт. |
|
|
В любом случае, если пакет отбрасывается фильтром, то этот факт регистрируется сообщением системный журнал (sys log). Чтобы предотвратить лавину регистрационных пакетов, регистрируется только первая попытка нарушения из группы однотипных.
Алгоритм работы фильтра состоит из двух частей.
В нормальном режиме работы:
1. Фильтр выполняет поиск MAC-адреса в таблице
2. Если таковой обнаружен, то выполняется проверка соответствия IP-адресов.
- "reverse" – изменяет порядок обработки на обратный:
|
|
...
- Сначала ищется IP-адрес
- Затем сравниваются MAC-адреса.
Note |
---|
|
Параметр, определяемый в первом пункте, является ключевым и не может находится в таблице более одного раза |
С включенной опцией "simple", алгоритм выполняет только 1-ый пункт.
...
- сначала выполняется поиск IP-адреса, затем сравниваются MAC-адреса.
- "simple" – алгоритм проходит только первый этап. Если поиск был успешным, то пакет будет принят. В противном случае пакет будет отброшен, независимо от
|
|
...
- установленного параметра "strict".
|
|
...
...
...
- – активирует автоматическое наполнение таблицы соответствия IP-адресами, которые будут получены от локального сервера DHCP. Эти записи не сохраняются в постоянной конфигурации и
|
|
...
- остаются актуальными только до тех пор, пока выданный адрес не будет
|
|
...
...
Возможные сценарии использования фильтра:
1. Плоская модель. Все рабочие станции абонентской локальной сети подключены непосредственно к ethernet интерфейсу абонентского блока.
В этом случае можно использовать самый простой, классический вариант фильтра, возможно усиленный опцией "strict":
Code Block |
---|
|
macf MAC IP [strict] |
...
- .
- "quiet" – отключает запись сообщений в системный журнал. Если сетевой пакет отбрасывается фильтром, этот факт регистрируется в системном журнале. Чтобы снизить количество регистрационных пакетов, регистрируется только первая попытка нарушения из группы однотипных.
Если между абонентским терминалом и локальной сетью стоит промежуточный маршрутизатор, |
|
...
можно использовать вариант "reverse strict" или "reverse simple", перечислив все |
|
...
допустимые IP-адреса рабочих станций, а в |
|
...
качестве MAC-адреса установить адрес промежуточного маршрутизатора. |
|
...
В случае, когда к абонентскому |
|
...
терминалу подключено несколько локальных сетей, отделённых промежуточными маршрутизаторами, |
|
...
применим вариант "simple" или "reverse strict" c |
|
...
перечислением MAC-адресов маршрутизаторов. |
, более удобным способом для решения этой задачи может быть использование команды "arp". |
| show | Выводит текущую таблицу соответствия. | clear | Производит удаление всех записей из таблицы. |
|
Примеры
Добавим в таблицу соответствия две записи: MAC-адресам "102030405060" и "203040506070" соответствуют IP-адреса "1.1.1.1" и "2.2.2.2". Для удобства добавлены комментарии, указывающие на принадлежность IP-адресов. Code Block |
---|
| macf 102030405060 1.1.1.1 Room123
macf 203040506070 2.2.2.2 Room125 |
|
Выведем текущую таблицу соответствий. Code Block |
---|
| macf show
macf 1 0020af915099 192.78.64.99 Server
macf 2 0020af9150a3 192.78.64.194 Room94
macf 3 0020af9150a4 192.78.64.134 Room57
macf 4 0020af9150a7 192.78.64.174 Admin |
|
Все рабочие станции локальной сети подключены непосредственно к интерфейсу "eth0" абонентского терминала. В этом случае можно использовать самый простой классический вариант фильтра, усиленный параметром "strict". Code Block |
---|
| macf eth0 strict |
|