Use src mac address mikrotik что это
Use src mac address mikrotik что это
Wed Oct 06, 2010 4:51 pm
Can someone explain to me what is the difference in ticking the tick box «Use Src. MAC Address» in Ip / DHCP-Server / Leases / New DHCP Lease window?
In the field «MAC Address» the mac address of a nic can be filled in (or is automatically filled when a nic requests an IP addres) and the dhcp server then assigns certain IP to that nic/mac address.
I notice no difference in using tick box «Use Src. MAC Address» or not.
The manual says about the tick box nothing more then: «use this source MAC address instead»
«Instead» of what? The MAC address filed in the field above? That is always the same?
Can any shine some light on this so I get more understanding?
Re: Meaning of «Use Src. MAC Address» in DHCP lease
Wed Oct 06, 2010 7:59 pm
p.s. also, it has meaning when using DHCP Relay, I believe
For every complex problem, there is a solution that is simple, neat, and wrong.
MikroTik. Your life. Your routing.
Re: Meaning of «Use Src. MAC Address» in DHCP lease
Thu Oct 07, 2010 1:34 am
p.s. also, it has meaning when using DHCP Relay, I believe
hmm, I’m afraid I don’t understand what you mean. All my AP’s have non-WDS links to clients. They all get dynamic IP’s from AP-dhcp server where after I set this IP to a fixed one so they always get the same after disassociation and re-association.
The MAC address field is filled in the lease window of winbox for each client on that AP automatic by ROS. And they all have off course different mac addresses.
I have one AP where one client antenna is in WDS-station mode, so the real client PC behind is bridged to the AP. Both antenna and client PC get an IP address from AP-DHCP server. Both with their own mac address.
Since lease fields are usually always dynamic dynamic for me in 1st instance I never have to tick the «Use Src. MAC Address» box since ROS fills it by itself.
Only if I want to make sure a CPE gets a certain IP address (in pre-configuration, and thus in pre-association of CPE) then I fill the CPE mac address in the lease field I make. I tried with a laptop and saw no difference in ticking yes or not the tick box of this discussion.
Как настроить DHCP сервер на маршрутизаторе Mikrotik
Для того что бы устройства подключенные в локальную сеть могли получать ip адреса автоматически, необходимо настроить DHCP сервер.
Быстрая настройка
Подключаемся к маршрутизатору через winbox. Открываем вкладку IP->DHCP Server. В появившемся окне, во вкладке DHCP нажимаем кнопку DHCP Setup.
Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.
Откроется следующее окошко
Здесь мы выбираем локальный интерфейс, на котором будет работать ЛВС, если интерфейсы объединены в bridg то выбираем этот бридж.
Также если необходимо настроить сервер на vlan, то выбираем нужный vlan. После выбора интерфейса нажимаем Next. В следующем окне вводим нашу локальную сеть.
Прописываем шлюз по умолчанию который будет выдаваться клиентам.
На следующей странице прописываем DHCP Relay. Relay-это ip DHCP сервера, если бы у нас в качестве сервера выступал бы другой Микротик или отдельный компьютер, то здесь нужно было бы прописать его ip. У нас маршрутизатор Mikrotik является server, поэтому Relay нам не нужен и мы просто нажимаем стрелку вверх справа от окошка ввода.
Выбираем пул диапазона range ip адресов, которые будут выдаваться клиентам.
Здесь будут выдаваться ip с 10.10.10.2 по 10.10.10.254
В следующем окне вводим DNS сервера, если в Микротике настроено кэширование ДНС, то вводим ip роутера.
Или другие ДНС, для добавления ДНС нажмите стрелку вниз с левой стороны от окна ввода.
Нажимаем Next. Осталось указать время аренды ip адресов Lease Time.
В примере ip будут выдаваться на один день, т.е. 24 часа. Можно сделать аренду 72 часа, для этого введите строку 3d 00:00:00.
Нажимаем Next. Если все сделали правильно, то появится окошко.
После нажатия кнопки в списке DHCP появится созданный сервер, Если что, то настроено не правильно, строка будет гореть красным цветом.
Например, если на порту не настроен ip адрес.
На этом быстрая настройка сервера Микротик закончена. Таким образом, можно настроить несколько серверов для разных пулов. Например, настроить два DHCP, один будет выдавать адреса для пользователей, а другой для локальных ресурсов внутри сети.
Дополнительные настройки DHCP сервера.
Для дополнительных настроек кликните два раза по созданному серверу, в результате откроется окно где можно изменить или добавить дополнительные настройки.
Рассмотрим настраиваемые здесь опции.
Name-Любое имя
Interface – сетевой интерфейс на котором настроен сервер, может быть как физическим так и vlan или bridge.
Lease Time – Время аренды ip, по истечении которого сетевому устройству будет выдан новый.
Address Pool — диапазон из которого будут выдаваться ip для сетевых устройств, настраивается в IP->Pool.
Src.Address – используется если на интерфейсе настроено несколько ip, здесь прописываем рабочий DHCP.
authoritative принимает следующие параметры
yes — если клиент запросит IP, Микротик ему сразу же ответит. Причём если устройство ранее получало IP другого DHCP в сети, то Микротик пошлёт ему пакет DHCPNAK заставляющий обновить ему свой IP
No — если клиент ранее получавший IP с другого DHCP запросит адрес у Микротика то он его проигнорирует
After 2s delay — если клиент запросит IP недоступный на Mikrotik он будет его игнорировать 2 секунды, а далее пошлёт DHCPNAK и присвоит IP из своего диапазона. Своим клиентам Микротик отвечает мгновенно.
After 10s delay — если клиент запросит IP адрес недоступный на Mikrotik он будет его игнорировать 10 секунд, а далее пошлёт DHCPNAK и присвоит IP адрес из своего диапазона. Своим клиентам Микротик отвечает мгновенно.
Bootp Support – принимает значения
none — не реагировать на запросы BOOTP
static — предлагать только статические лизинг для BOOTP
dynamic — предлагать статическую и динамическую аренду для BOOTP
lease—script – в этом окне можно добавить исполняемый скрипт, например при подключении компьютера заносить всю информацию в лог.
add arp for leases — автоматически заполняет ARP таблицу, соответствием MAC — IP.
always broadcast — Всегда отправляйте широковещательные пакеты, даже если IP-адрес назначения известен. При включении этой опции возможна дополнительная нагрузка на сеть L2.
Use Radius — Указывает использовать ли RADIUS server для аккаунтинга и аренды адресов.
На Вкладке Networks, кликаем два раза по созданному серверу и рассмотрим опции.
Address – здесь все понятно, ip Микротика
Gateway – шлюз выдаваемый сетевым устройствам
Netmask – маска сети
DNS Servers – ДНС выдаваемые сетевым устройствам
Domain – Имя домена сети
Boot File Name – имя загрузочного файла, используется если включена загрузка по сети через tftp.
Options – дополнительные опции, как настроить рассмотрим ниже.
Привязка клиентов по MAC адресу
Если необходимо что бы клиент получал всегда один и тот же ip, то можно зарезервировать ip адрес за MAC адресом, для этого переходим во вкладку IP->DHCP Server, в открывшемся окне выбираем вкладку Leases, у нас откроется список клиентов.
Кликаем левой кнопкой мыши по нужной записи и нажимаем кнопку Make Static.
После этого буква D напротив этого клиента должна исчезнуть.
Теперь MAC клиента будет привязан к постоянному ip.
На этой вкладке также можно узнать и о статусе подключенных пользователей
waiting — пользователь не в сети, ожидается подключение.
testing — проверка использования этого адреса или нет (только для динамической аренды) путем опроса его с тайм-аутом 0,5 с
authorizing — ожидание ответа от сервера радиуса
busy — этот адрес назначается статически клиенту или уже существует в сети, поэтому он не может быть арендован, например если на компьютере настроить ip вручную.
offered — сервер предложил адрес пользователю, но не получил подтверждение от пользователя.
bound — адрес назначен пользователю и используется, будет освобожден по истечении времени аренды.
Настройка options
Если необходимо настроить опции, например option 82 использующаяся для привязки IP к порту, или option 66 указывающая ip tftp сервера.
Для настройки переходим на вкладку «Options» и жмем кнопку добавить (красный крест)
Заполняем поля открывшегося окошка.
Name-название, вводим любое имя
Code – код опции, 66, 82 и т.д.
Value – адрес ресурса, например tftp сервера
После нажатия кнопки Apply поле Raw Value заполнится автоматически, жмем OK, должна появится строчка нашей опции
Теперь переходим вкладку «Networks» и два раза кликаем по нужному серверу.
В открывшемся окне, в пункте Options, выбираем нужную нам опцию, созданную на первом шаге. После чего нажимаем кнопку ОК и настройка опции на этом закончена.
Обучающий курс по настройке MikroTik
Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
MikroTik — несколько адресов и несколько разных MAC на одном интерфейсе
Нечасто, но с завидной периодичностью на профильных форумах возникал один и тот же вопрос: «как на одном интерфейсе роутера MikroTik получить два IP-адреса с разными MAC?». Обычно этот вопрос остается без ответа, либо вопрошающему отвечают «никак». И действительно, задача нетривиальная. В стандартной конфигурации соблюдается правило «1 интерфейс = 1 MAC». В этой статье я расскажу как обойти это ограничение используя расширенный функционал MikroTik.
Сначала вспомним матчасть RouterBoard. Помимо маршрутизации, устройства MikroTik могут выполнять и коммутацию. Для этого некоторые из них имеют отдельный свитч-чип, а также возможность объединять интерфейсы с помощью программного коммутатора — bridge. Bridge (в русской терминологии «мост») производит коммутацию пакетов за счёт ресурсов процессора устройства. С помощью моста также объединяют между собой разнородные ethernet-образные инетрфейсы — ethernet, wlan, vlan, eoip, vpls.
Мост в иерархии интерфейсов микротик является более высокой, объединяющей сущностью. При объединении интерфейсов с помощью моста, на него устанавливается MAC-адрес, который будет транслироваться во все подчиненные (slave) интерфейсы. MAC-адреса подчиненных интерфейсов перестают использоваться и заменяются в исходящих фреймах MAC-адресом моста.
Соответственно, IP-адрес и все службы связанные с протоколом IP должны быть привязаны НЕ к зависимым интерфейсам, а к вышестоящему мосту.
За счёт того, что мост реализован ресурсами CPU, он имеет очень широкий функционал по управлению трафиком. Фильтрация входящих и транзитных пакетов, а также возможность трансляции MAC-адресов сразу привлекли моё внимание. Итак, инструментом решения задачи будет bridge, точнее bridge NAT.
Приступим. У нашего подопытного маршрутизатора есть внутренний мост «bridge-local», которому присвоен адрес 192.0.2.1/24 и который является шлюзом для компьютеров локальной сети. Для «bridge-local» администратором назначен MAC D4:CA:6D:C7:11:11 Физический интерфейс Ether2 является одним из подчиненных (slave) портов моста «bridge-local» и непосредственно соединяется с локальной сетью.
Задача: добавить на маршрутизатор адрес из той же IP-подсети, но с другим MAC-адресом. Для примера выбрано сочетание IP 192.0.2.111/24 и MAC: D4:CA:6D:C7:22:22
Поскольку в лоб правило «1 интерфейс = 1 MAC» преодолеть нельзя, мы пойдем в обход. Для начала создадим вспомогательный интерфейс «bridge111» куда навесим дополнительный IP-адрес и MAC:
Теперь разбираемся, что, откуда и куда нужно будет подменять используя мост. Для этого заглянем в описание протокола ARP: ru.wikipedia.org/wiki/ARP#.D0.9F.D1.80.D0.B8.D0.BD.D1.86.D0.B8.D0.BF_.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.8B
Очевидно, что нам нужно перехватывать ARP-запросы узлов запрашивающих MAC устройства имеющего IP 192.0.2.111. Для этого в NAT существует отдельный action «arp-reply»:
Попытка выполнить с компьютера команду «ping 192.0.2.111» явного результата не дала, однако при просмотре на компьютере локальной arp-таблицы стало видно сопоставление нового IP-адреса с новым MAC. Получается протокол ARP мы победили.
Переходим к следующему шагу — нам нужно добиться связности по IP. Для этого захватываем пакеты идущие на дополнительную пару MAC+IP:
После этой команды появляется некое подобие связности. Локальная ARP-таблица компьютера содержит две записи — по одной для каждой пары MAC+IP. MAC-адреса в ней различаются, так как мы и хотели. Пинг до адреса 192.0.2.111 и ответы исправно прилетают.
Но давайте посмотрим на принятые пакеты через wireshark:
Мы видим, что echo-ответы идут с MAC-адреса D4:CA:6D:C7:11:11, связанного с первым IP-адресом 192.0.2.1. И хотя связность есть, решение является незаконченным. Нам необходимо также подменять MAC-адреса в исходящих от роутера пакетах, имеющих src-ip 192.0.2.111. Сделаем это:
Вот, теперь пакеты в сети выглядят правильно — имеют правильное сочетание src-IP и src-MAC:
В окошке winbox настроенные правила преобразования выглядят так:
Аналогичным способом на интерфейс можно добавить сколько угодно дополнительных IP, каждый со своим MAC прописывая соответствующие правила трансляции адресов. Маскарад вам в помощь.
Update: добавил результаты теста с включенным и с выключенным Bridge L2-NAT.
Для теста использовался RB951Ui-2HnD с процессором AR9344. Загрузка процессора изменяется незначительно, в пределах погрешности измерительных инструментов. В среднем рост составил 2% на 100M интерфейсе.
DHCP Client
Summary
The DHCP (Dynamic Host Configuration Protocol) is used for the easy distribution of IP addresses in a network. The MikroTik RouterOS implementation includes both server and client parts and is compliant with RFC 2131.
The MikroTik RouterOS DHCP client may be enabled on any Ethernet-like interface at a time. The client will accept an address, netmask, default gateway, and two DNS server addresses. The received IP address will be added to the interface with the respective netmask. The default gateway will be added to the routing table as a dynamic entry. Should the DHCP client be disabled or not renew an address, the dynamic default route will be removed. If there is already a default route installed prior to the DHCP client obtaining one, the route obtained by the DHCP client would be shown as invalid.
RouterOS DHCP client asks for the following options:
Option
DHCP client has the possibility to set up options that are sent to the DHCP server. For example, hostname and MAC address. The syntax is the same as for DHCP server options.
Currently, there are three variables that can be used in options:
DHCP client default options include these default Options:
Name | code | value |
---|---|---|
clientid_duid | 61 | 0xff$(CLIENT_DUID) |
clientid | 61 | 0x01$(CLIENT_MAC) |
hostname | 12 | $(HOSTNAME) |
DHCP Client can receive delegated prefixes from the DHCPv6 server. The currently received prefix is added to the IPv6 pool, which later can be used for example in PPPoE server configuration. DHCPv6 client configuration can be found in the /ipv6 sub-menu
Setup example
Add a DHCP client on ether1 interface:
After the interface is added, you can use the «print» or «print detail» command to see what parameters the DHCP client acquired:
If the interface used by the DHCP client is part of the VRF configuration, then the default route and other received routes from the DHCP server will be added to the VRF routing table.
DHCP client status can be checked with:
Examples
Lease script example
It is possible to execute a script when a DHCP client obtains a new lease or loses an existing one. This is an example script that automatically adds a default route with routing-mark=WAN1 and removes it when the lease expires or is removed.
Resolve default gateway when ‘router’ (option3) is from a different subnet
In some cases, administrators tend to set the ‘router’ option which cannot be resolved with offered IP’s subnet. For example, the DHCP server offers 192.168.88.100/24 to the client, and option 3 is set to 172.16.1.1. This will result in an unresolved default route:
To fix this we need to add /32 route to resolve the gateway over ether1, which can be done by the running script below each time the DHCP client gets an address
Now we can further extend the script, to check if the address already exist, and remove the old one if changes are needed
DHCP Server
The DHCP (Dynamic Host Configuration Protocol) is used for the easy distribution of IP addresses in a network. The MikroTik RouterOS implementation includes both server and client parts and is compliant with RFC 2131.
The router supports an individual server for each Ethernet-like interface. The MikroTik RouterOS DHCP server supports the basic functions of giving each requesting client an IP address/netmask lease, default gateway, domain name, DNS-server(s) and WINS-server(s) (for Windows clients) information (set up in the DHCP networks submenu)
In order for the DHCP server to work, IP pools must also be configured (do not include the DHCP server’s own IP address into the pool range) and the DHCP networks.
It is also possible to hand out leases for DHCP clients using the RADIUS server; the supported parameters for a RADIUS server are as follows:
DHCP server requires a real interface to receive raw ethernet packets. If the interface is a Bridge interface, then the Bridge must have a real interface attached as a port to that bridge which will receive the raw ethernet packets. It cannot function correctly on a dummy (empty bridge) interface.
Lease Store Configuration
This sub-menu allows the configuration of how often the DHCP leases will be stored on disk. If they would be saved on a disk on every lease change, a lot of disk writes would happen which is very bad for Compact Flash (especially, if lease times are very short). To minimize writes on disk, all changes are saved on disk every store-leases-disk seconds. Additionally, leases are always stored on disk on graceful shutdown and reboot.
Leases
DHCP server lease submenu is used to monitor and manage server leases. The issued leases are shown here as dynamic entries. You can also add static leases to issue a specific IP address to a particular client (identified by MAC address).
Generally, the DHCP lease is allocated as follows:
A client may free the leased address. The dynamic lease is removed, and the allocated address is returned to the address pool. But the static lease becomes busy until the client reacquires the address.
IP addresses assigned statically are not probed!
Parameters
Properties
Network
Rate limiting
It is possible to set the bandwidth to a specific IPv4 address by using DHCPv4 leases. This can be done by setting a rate limit on the DHCPv4 lease itself, by doing this a dynamic simple queue rule will be added for the IPv4 address that corresponds to the DHCPv4 lease. By using the rate-limit parameter you can conveniently limit a user’s bandwidth.
For any queues to work properly, the traffic must not be FastTracked, make sure your Firewall does not FastTrack traffic that you want to limit.
First, make the DHCPv4 lease static, otherwise, it will not be possible to set a rate limit to a DHCPv4 lease:
Then you can set a rate to a DHCPv4 lease that will create a new dynamic simple queue entry:
By default allow-dual-stack-queue is enabled, this will add a single dynamic simple queue entry for both DCHPv6 binding and DHCPv4 lease, without this option enabled separate dynamic simple queue entries will be added for IPv6 and IPv4.
If allow-dual-stack-queue is enabled, then a single dynamic simple queue entry will be created containing both IPv4 and IPv6 addresses:
RADIUS Support
Since RouterOS v6.43 it is possible to use RADIUS to assign a rate limit per lease, to do so you need to pass the Mikrotik-Rate-Limit attribute from your RADIUS Server for your lease. To achieve this you first need to set your DHCPv4 Server to use RADIUS for assigning leases. Below is an example of how to set it up:
After that, you need to tell your RADIUS Server to pass the Mikrotik-Rate-Limit attribute. In case you are using FreeRADIUS with MySQL, then you need to add appropriate entries into radcheck and radreply tables for a MAC address, that is being used for your DHCPv4 Client. Below is an example for table entries:
Ошибка визуализации кода макроса: задано недействительное значение для параметра «com.atlassian.confluence.ext.code.render.InvalidValueException»
Alerts
To find any rogue DHCP servers as soon as they appear in your network, the DHCP Alert tool can be used. It will monitor the ethernet interface for all DHCP replies and check if this reply comes from a valid DHCP server. If a reply from an unknown DHCP server is detected, an alert gets triggered:
When the system alerts about a rogue DHCP server, it can execute a custom script.
DHCP Options
With the help of the DHCP Option list, it is possible to define additional custom options for DHCP Server to advertise. Option precedence is as follows:
This is the order in which the client option request will be filled in.
According to the DHCP protocol, a parameter is returned to the DHCP client only if it requests this parameter, specifying the respective code in the DHCP request Parameter-List (code 55) attribute. If the code is not included in the Parameter-List attribute, the DHCP server will not send it to the DHCP client, but since RouterOS v7.1rc5 it is possible to force the DHCP option from the server-side even if the DHCP-client does not request such parameter:
Properties
RouterOS has predefined variables that can be used:
Now it is also possible to combine data types into one, for example: «0x01’vards’$(HOSTNAME)»
For example if HOSTNAME is ‘kvm’, then raw value will be 0x0176617264736b766d.
Example
Classless Route
A classless route adds a specified route in the clients routing table. In our example, it will add
According to RFC 3442: The first part is the netmask («18» = netmask /24). Second part is significant part of destination network («A00000» = 160.0.0). Third part is IP address of gateway («0A016501» = 10.1.101.1). Then There are parts of the default route, destination netmask (0x00 = 0.0.0.0/0) followed by default route (0x0A016501 = 10.1.101.1)