私はこれをフォローしていましたOpenVPN ドキュメントMAC フィルタリング機能を有効にできました。 1 人のユーザーの複数の 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
/usr/local/openvpn_as/scripts をコピーします
#./sacli -u "exampleuser" -k "pvt_hw_addr2" -v "ef:cd:ba:03:02:01" ユーザープロパティPut