少しグーグルで、解決策が見つからなかったわけではありませんが、私は多くのインスピレーションを与えた記事に出会いました。 残念ながら、オフィスで記事の内容を理解できませんでした。なぜなら、 DNSでオフィスコンピューターを実行することはありません(必要ありません)が、必要なものすべてを備えたisc-dhcpdがあります。 その結果、スクリプトが作成され( リンク1回とリンク2 )、次の処理が行われます。
- 0.01秒の接続タイムアウトでポート139の$ network変数で指定されたネットワークをスキャンします。これにより、数秒で255アドレスの/ 24ネットワークを実行できます。
- ポートが開いているアドレスを検出すると、omcshellを使用してisc-dhcpdにこのアドレスに関する情報を要求します。
- 情報がある場合は、sambovsky browse.datに追加されます。
- ネットワーク化された環境にごみがない:1つのワークグループ内のすべてのオフィスネットワークコンピューター。
- ネットワーク環境を開く際のブレーキの不足。
- ネットワーク環境内のコンピューターのリストを更新する頻度。
これをすべて実行するには、isc-dhcpでOMAPIを有効にする必要があります。 これを行うには、構成に次の行を追加します。
キーキー名{アルゴリズムhmac-md5; 秘密の「キーセルフ」。 } omapi-port 7911; omapi-keyキー名;
キー自体は、たとえば、次の名前のジェネレータを使用して生成できます。
dnssec-keygen -a HMAC-MD5 -b 256 -n HOSTキー名
dhcpdを再起動した後、このデーモンは、とりわけ、tcpプロトコル経由でポート7911をリッスンする必要があります。 念のため、OMAPIの動作を確認しましょう。
omshell >サーバー192.168.10.2 >ポート7911 >キーキー名keyself >接続する obj:<null> >新しいリース obj:リース > set ip-address = 192.168.10.99 obj:リース ip-address = c0:a8:0a:63 >開く obj:リース ip-address = c0:a8:0a:63 状態= 00:00:00:02 dhcp-client-identifier = 01:00:21:63:d1:b2:54 client-hostname = "rooot" サブネット= 00:00:00:03 プール= 00:00:00:04 ハードウェアアドレス= 00:21:63:d1:b2:54 ハードウェアタイプ= 00:00:00:01 終了= 4b:0f:c2:98 開始= 4b:0f:c1:6c tstp = 00:00:00:00 tsfp = 00:00:00:00 atsfp = 00:00:00:00 cltt = 00:00:00:00「>」でマークされているのは私のコマンドで、残りはomshellの回答です。 ご覧のとおり、コンピューターに関する情報の記録を受け取りました。
さらに、上記のスクリプトは、utf-8のデータをbrowse.datに書き込みます。つまり、smb.confでは次のようになります。
表示文字セット= utf-8 unix charset = utf-8 dos charset = cp866smb.confの最初の2つの変数の値がutf-8と異なる場合、スクリプトテキストでサブストリング「utf-8」を見つけて、使用するものに変更する必要があります。
最後に、スクリプトのパラメーターの簡単な説明:
$ network = '192.168.10.0/24' | スクリプトがスキャンするネットワーク |
$ dhcp_server = '192.168.10.2' | スクリプトがomshell経由でアクセスするdhcpサーバーアドレス |
$ dhcp_server_timeout = '1' | omshellを介したdhcpdからの応答に設定されるタイムアウト |
$ dhcp_key = 'maverick dhcp_key' | dnssec-keygenを使用して生成したキー |
$ browser_file = '/var/db/samba/browse.dat' | このsambovファイルでは、スクリプトはネットワーク環境のコンピューターの結果リストを追加します-すべてが開始されたもの |
$ browser_domain | あなたのドメイン名 |
$ browser_head | browse.datファイルのヘッダー。 通常、ドメインとそのコントローラーの説明を含める必要があります |