我正在关注这个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