Фильтрация MAC-адресов OpenVPN — добавление нескольких MAC-адресов?

Фильтрация MAC-адресов OpenVPN — добавление нескольких MAC-адресов?

Я следил за этимДокумент OpenVPN, и мне удалось включить функцию фильтрации MAC-адресов. Как добавить несколько MAC-адресов для одного пользователя в базу данных?

Пример команды, которую я бы использовал для замены зарегистрированного MAC-адреса:

# ./sacli -u "exampleuser" -k "pvt_hw_addr" -v "00:01:02:ab:cd:12" UserPropPut

решение1

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

        if hw_addr:
            hw_addr_save = proplist.get('pvt_hw_addr') # saved MAC addr property
            if hw_addr_save:
                if hw_addr_save != hw_addr:
                    error = "The hardware MAC address reported by this VPN client does not match the registered MAC address."

Вы можете просто сохранить список, разделенный запятыми, в этом свойстве и изменить эту часть скрипта, чтобы разделить сохраненное pvt_hw_addrсвойство на список, и проверить, содержится ли в нем локальный MAC-адрес.

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

решение2

cd /usr/local/openvpn_as/scripts

#./sacli -u "примерпользователя" -k "pvt_hw_addr2" -v "ef:cd:ba:03:02:01" UserPropPut

Связанный контент