この記事では、DNSサーバにBINDを使用している環境で、
モビリティ・プリント用プリンタのアドバタイズ・レコードの応用的な設定について記載します。
複数のモビリティ・プリント・サーバの対応やサブネット・フィルタリングの設定方法について説明します。
BINDの環境変数
BINDサーバの設定は、人により異なります。
この記事で使用するファイル名やディレクトリは環境により完全に一致しない可能性があります。
ここで説明する設定が参考になれば幸いです。
・ BINDのオプション設定ファイル「named.conf.options」またはこれに類似した名前のファイルが存在すること
・ ローカルのBIND設定ファイル「named.conf.local」またはこれに類似した名前のファイルが存在すること
・ 「named.conf.options」と「named.conf.local」は次のディレクトリにあること: /etc/bind/
・ 「db.local」や「db.127」などのサンプル・ゾーン・ファイルは次のディレクトにあること: /etc/bind
・ 本番のゾーンファイルが次のディレクトリに存在すること: /etc/bind/zones/
その他の環境変数
・ 仮のサブネット: 10.1.1.0, 10.2.1.0, 10.3.1.0
・ 仮のモビリティ・プリント・サーバのIPアドレス: 10.1.8.101, 10.1.8.102, 10.1.8.103
・ 仮のBIND DNSサーバのIPアドレス: 10.1.9.69
重要事項
この記事に記載するアドバイスのほとんどは、クライアント・デバイスの展開にAppleデバイスが含まれていることを前提としています。
つまり、iPadやiPhoneなどのiOSデバイスや、MacBook, iMac, Mac mini, Mac Pros などのmacOSデバイスに
プリンタ・アドバタイズを共有する必要があるかどうかということです。
iOS/macOSデバイスがある環境の場合、
「Android, Apple, Chrome, Windowsデバイス混在する複数のモビリティ・プリント・サーバがある環境」を参照してください。
Appleデバイスがない環境の場合、「Appleデバイスをサポートしない環境の場合」を参照してください。
Appleデバイスをサポートしない環境の場合
複数のモビリティ・プリント・サーバや複数のサブネットにまたがるAppleデバイスをサポートする必要がない場合、
BINDのDNSレコード設定は比較的簡単です。
Windows, Android, Chrome OSデバイスが BIND DNS サーバから必要とするのは
適切な forward-only ゾーンの設定のみとなります。
複数のモビリティ・プリント・サーバ(サブネット・フィルタリング有/無)
Windows DNSサーバを使用している場合、最大20台のモビリティ・プリント・サーバを設定することができます。
Windows DNSには「pc-printer-discovery-#」ゾーンの
其々の条件付きフォワーダが異なるモビリティ・プリント・サーバをポイントするようにDNSレコードを設定します。
Windows DNSのアドバイスがここでも当てはまります。
あるモビリティ・プリント・サーバに「pc-printer-discovery」の「forward-only」ゾーンを設定し、
次にモビリティ・プリント・サーバに「pc-printer-discovery-1」の「forward-only」ゾーンを設定します。
この例では、named.conf.localファイルを起動し、下記の行を使って各モビリティ・プリント・サーバのforward-onlyゾーンを追加します。
cd /etc/bind/
sudo nano named.conf.local
|
File: /etc/bind/named.conf.local zone "pc-printer-discovery" { type forward; forward only; forwarders { 10.1.8.101; }; };
zone
"pc-printer-discovery-1" { type forward; forward only; forwarders { 10.1.8.102; }; };
zone
"pc-printer-discovery-2" { type forward; forward only; forwarders { 10.1.8.103; }; }; |
保存しnamed.conf.localファイルを閉じてください。
次に「named.conf.options」ファイルを起動し、
新しいエントリを追加して各モビリティ・プリント・サーバのforward-only ゾーンのdnssecセキュリティを無効化します。
|
File: /etc/bind/named.conf.options dnssec-must-be-secure pc-printer-discovery no; dnssec-must-be-secure
pc-printer-discovery-1 no; dnssec-must-be-secure
pc-printer-discovery-2 no; |
保存しnamed.conf.optionsファイルを閉じてください。
そしてBINDを再起動してください。これでBINDのDNSレコードの編集は完了です。
いくつかのnslookupチェインを使用して設定を確認する
次のnslookupチェインを使用して、forward-onlyゾーンが正常に転送されているかを確認することができます。
nslookup rpc.pc-printer-discovery && nslookup rpc.pc-printer-discovery-1 && nslookup rpc.pc-printer-discovery-2
コマンドを実行すると次のように出力されるはずです。
|
coolkid@BINDSERVER:~$ nslookup
rpc.pc-printer-discovery && nslookup rpc.pc-printer-discovery-1
&& nslookup rpc.pc-printer-discovery-2 Server: 10.1.9.69 Address: 10.1.9.69#53
Non-authoritative
answer: Name: rpc.pc-printer-discovery Address:
10.1.8.101
Server: 10.1.9.69 Address: 10.1.9.69#53
Non-authoritative
answer: Name: rpc.pc-printer-discovery-1 Address: 10.1.8.102
Server: 10.1.9.69 Address: 10.1.9.69#53
Non-authoritative
answer: Name: rpc.pc-printer-discovery-2 Address:
10.1.8.103 |
次に各モビリティ・プリント・サーバにインデックス番号を設定します。
その後、サブネット毎にプリンタのアクセスを制限する必要ある場合は設定を行ってください。
(詳細は別紙「モビリティ・プリント設定ガイド」を参照してください。)
Appleデバイスのモビリティ・プリントをサポートする必要がない場合、DNSレコードの設定は完了です。
Android, Apple, Chrome, Windowsデバイスが混在する
複数のモビリティ・プリント・サーバがある環境の場合
複数のモビリティ・プリント・サーバを複数のサブネットで見えるようにする場合
この例では、複数のサブネットがあり、
複数のモビリティ・プリント・サーバからプリンタ・アドバタイズを見る必要があると想定しています。
ここでは、Appleデバイスが存在する各サブネットに対応する逆引きゾーン・ファイルを記述します。
サブネットは「10.1.1.0」「10.2.1.0」「10.3.1.0」とします。
新しい逆引きゾーン・ファイルは「rev.0.1.1.10」「rev.0.1.2.10」「rev.0.1.3.10」とし、
サンブルのdb.127ゾーン・ファイルをベースにします。
次のコマンドを実行してサンプルを「production zones」フォルダへコピーします。
cd /etc/bind/
sudo cp db.127 ./zones/rev.0.1.1.10
sudo cp db.127 ./zones/rev.0.1.2.10
sudo cp db.127 ./zones/rev.0.1.3.10
各逆引きゾーン・ファイルは上辺では全く同じように見えます。
この例では rev.0.1.1.10 を使用しています。
SOAを変更して、最初の「localhost」をBINDサーバのFQDNに置き換え、「root.localhost」を連絡先に置き換えてください。
またデフォルトのPTRレコードを削除してください。そしてネームサーバのレコードを追加します。最終的には次のようになります。
|
File: /etc/bind/zones/rev.0.1.1.10
; ; BIND reverse
data file for local loopback interface ; $TTL 604800 @ IN
SOA dns.paper.cut.
admin.dns.paper.cut. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; name server -
NS records IN NS
dns.paper.cut. |
次に、各逆引きゾーン・ファイルの後半を編集します。
Appleデバイスがモビリティ・プリント用プリンタを検出するために使用するPTRレコードを追加します。
データ列には、ファイル名と同じように、サブネットのIPアドレスがオクテット順に反転して表示されていることに注意してください。
rev.0.1.1.10の場合、下記のようになっているはずです。
|
File: /etc/bind/zones/rev.0.1.1.10
; PTR Records
for Mobility server 1 b._dns-sd._udp IN PTR
0.1.1.10.pc-printer-discovery. ; b
record for 10.1.1.0 lb._dns-sd._udp IN PTR
0.1.1.10.pc-printer-discovery. ; lb
record for 10.1.1.0
; PTR Records
for Mobility server 2 b._dns-sd._udp IN PTR
0.1.1.10.pc-printer-discovery-1. ; b
record for 10.1.1.0 lb._dns-sd._udp IN PTR 0.1.1.10.pc-printer-discovery-1. ; lb record for 10.1.1.0
; PTR Records
for Mobility server 3 b._dns-sd._udp IN PTR
0.1.1.10.pc-printer-discovery-2. ; b
record for 10.1.1.0 lb._dns-sd._udp IN PTR
0.1.1.10.pc-printer-discovery-2. ;
lb record for 10.1.1.0; |
下記はrev.0.1.2.10の例です。
|
File: /etc/bind/zones/rev.0.1.2.10
; PTR Records
for Mobility server 1 b._dns-sd._udp IN PTR
0.1.2.10.pc-printer-discovery. ; b
record for 10.2.1.0 lb._dns-sd._udp IN PTR 0.1.2.10.pc-printer-discovery. ; lb record for 10.2.1.0
; PTR Records
for Mobility server 2 b._dns-sd._udp IN PTR
0.1.2.10.pc-printer-discovery-1. ; b
record for 10.2.1.0 lb._dns-sd._udp IN PTR
0.1.2.10.pc-printer-discovery-1. ;
lb record for 10.2.1.0
; PTR Records
for Mobility server 3 b._dns-sd._udp IN PTR
0.1.2.10.pc-printer-discovery-2. ; b
record for 10.2.1.0 lb._dns-sd._udp IN PTR
0.1.2.10.pc-printer-discovery-2. ;
lb record for 10.2.1.0; |
下記はrev.0.1.3.10の例です。
|
File: /etc/bind/zones/rev.0.1.3.10
; PTR Records
for Mobility server 1 b._dns-sd._udp IN PTR
0.1.3.10.pc-printer-discovery. ; b
record for 10.3.1.0 lb._dns-sd._udp IN PTR
0.1.3.10.pc-printer-discovery. ; lb record for 10.3.1.0
; PTR Records
for Mobility server 2 b._dns-sd._udp IN PTR
0.1.3.10.pc-printer-discovery-1. ; b
record for 10.3.1.0 lb._dns-sd._udp IN PTR
0.1.3.10.pc-printer-discovery-1. ;
lb record for 10.3.1.0
; PTR Records for
Mobility server 3 b._dns-sd._udp IN PTR
0.1.3.10.pc-printer-discovery-2. ; b
record for 10.3.1.0 lb._dns-sd._udp IN PTR
0.1.3.10.pc-printer-discovery-2. ;
lb record for 10.3.1.0; |
rev.0.1.1.10 を使用して両方をまとめて表示した例です。
|
File: /etc/bind/zones/rev.0.1.1.10
; ; BIND reverse
data file for local loopback interface ; $TTL 604800 @ IN
SOA dns.paper.cut.
admin.dns.paper.cut. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; name server -
NS records IN NS
dns.paper.cut.
; PTR Records
for Mobility server 1 b._dns-sd._udp IN PTR
0.1.1.10.pc-printer-discovery. ; b
record for 10.1.1.0 lb._dns-sd._udp IN PTR
0.1.1.10.pc-printer-discovery. ; lb
record for 10.1.1.0
; PTR Records
for Mobility server 2 b._dns-sd._udp IN PTR
0.1.1.10.pc-printer-discovery-1. ; b
record for 10.1.1.0 lb._dns-sd._udp IN PTR
0.1.1.10.pc-printer-discovery-1. ;
lb record for 10.1.1.0
; PTR Records
for Mobility server 3 b._dns-sd._udp IN PTR 0.1.1.10.pc-printer-discovery-2. ; b record for 10.1.1.0 lb._dns-sd._udp IN PTR
0.1.1.10.pc-printer-discovery-2. ;
lb record for 10.1.1.0; |
各ゾーン・ファイルを保存して閉じる前に必ずシリアルを更新してください。
次にローカル設定ファイルを編集し、
各モビリティ・プリント・サーバの新しい逆引きゾーンとforward-only ゾーンを含めます。
named.conf.localファイルを起動して編集します。
sudo nano /etc/bind/named.conf.local
逆引きゾーンを次のように追加します。
|
File: /etc/bind/named.conf.local
zone
"0.1.1.10.in-addr.arpa" { type master; file
"/etc/bind/zones/rev.0.1.1.10";
};
zone
"0.1.2.10.in-addr.arpa" { type master; file
"/etc/bind/zones/rev.0.1.2.10";
};
zone
"0.1.3.10.in-addr.arpa" { type master; file
"/etc/bind/zones/rev.0.1.3.10";
}; |
次に、各モビリティ・プリント・サーバにforward-only ゾーンを追加します: 10.1.8.101, 10.1.8.102, 10.1.8.103
|
File: /etc/bind/named.conf.local
zone
"pc-printer-discovery" { type forward; forward only; forwarders { 10.1.8.101; }; };
zone
"pc-printer-discovery-1" { type forward; forward only; forwarders { 10.1.8.102; }; };
zone
"pc-printer-discovery-2" { type forward; forward only; forwarders { 10.1.8.103; }; }; |
保存してnamed.conf.local ファイルを閉じてください。
次にBINDオプション・ファイル「named.conf.options」を開きます。
sudo nano /etc/bind/named.conf.options
dnssecオプションがautoに設定されている場合、次の例のようにyesに設定してください。
|
File: /etc/bind/named.conf.options
dnssec-enable
yes; dnssec-validation
yes; |
各モビリティ・プリント・サーバのforward-only ゾーンの
dnssecセキュリティを無効化するための新しいエントリを追加してください。
|
File: /etc/bind/named.conf.options
dnssec-must-be-secure
pc-printer-discovery no; dnssec-must-be-secure
pc-printer-discovery-1 no; dnssec-must-be-secure
pc-printer-discovery-2 no; |
いくつかのnslookupチェインを使用して設定を確認する
次のnslookupチェインを使用して、forward-onlyゾーンが正常に転送されているかを確認することができます。
nslookup rpc.pc-printer-discovery && nslookup rpc.pc-printer-discovery-1 && nslookup rpc.pc-printer-discovery-2
コマンドを実行すると次のように出力されるはずです。
|
coolkid@BINDSERVER:~$ nslookup
rpc.pc-printer-discovery && nslookup rpc.pc-printer-discovery-1
&& nslookup rpc.pc-printer-discovery-2 Server: 10.1.9.69 Address: 10.1.9.69#53
Non-authoritative
answer: Name: rpc.pc-printer-discovery Address:
10.1.8.101
Server: 10.1.9.69 Address: 10.1.9.69#53
Non-authoritative
answer: Name: rpc.pc-printer-discovery-1 Address:
10.1.8.102
Server: 10.1.9.69 Address: 10.1.9.69#53
Non-authoritative
answer: Name: rpc.pc-printer-discovery-2 Address:
10.1.8.103 |
保存してnamed.conf.optionsファイルを閉じてください。
そしてBINDを再起動してください。これですべてのDNSレコードの設定は完了です。
次にnslookupをチェインしてbとlbのPTRレコードが解決できるかを確認します。
次の例では、10.1.1.0サブネットの出力のみを使用しています。
他のサブネットについては、必ずサブネット固有の逆オクテット表記でテストしてください。
nslookup -query=ptr b._dns-sd._udp.0.1.1.10.in-addr.arpa && nslookup -query=ptr lb._dns-sd._udp.0.1.1.10.in-addr.arpa
出力は次のようになります。
|
coolkid@BINDSERVER:~$ nslookup -query=ptr b._dns-sd._udp.0.1.1.10.in-addr.arpa
&& nslookup -query=ptr lb._dns-sd._udp.0.1.1.10.in-addr.arpa Server: 10.1.9.69 Address: 10.1.9.69#53
b._dns-sd._udp.0.1.1.10.in-addr.arpa name = 0.1.1.10.pc-printer-discovery.
Server: 10.1.9.69 Address: 10.1.9.69#53
lb._dns-sd._udp.0.1.1.10.in-addr.arpa name = 0.1.1.10.pc-printer-discovery |
最後に、_ipps._tcpサービス・タイプを使用しているすべてのモビリティ・プリント・サーバから
プリンタを検出できるようにするため、BINDサーバのnslookupチェインを実行します。
ネームレコード・データの中のプリンタを識別してください。
nslookup -query=ptr _ipps._tcp.pc-printer-discovery && nslookup -query=ptr _ipps._tcp.pc-printer-discovery-1 && nslookup -query=ptr _ipps._tcp.pc-printer-discovery-2
|
coolkid@BINDSERVER:~$ nslookup -query=ptr
_ipps._tcp.pc-printer-discovery &&
nslookup -query=ptr _ipps._tcp.pc-printer-discovery-1
&& nslookup -query=ptr
_ipps._tcp.pc-printer-discovery-2 Server: 10.1.9.69 Address: 10.1.9.69#53
Non-authoritative
answer: _ipps._tcp.pc-printer-discovery
name = library._ipps._tcp.pc-printer-discovery. _ipps._tcp.pc-printer-discovery
name = reception._ipps._tcp.pc-printer-discovery.
Server: 10.1.9.69 Address: 10.1.9.69#53
Non-authoritative
answer: _ipps._tcp.pc-printer-discovery-1 name =
konica._ipps._tcp.pc-printer-discovery-1. _ipps._tcp.pc-printer-discovery-1 name =
hpf2651b._ipps._tcp.pc-printer-discovery-1. _ipps._tcp.pc-printer-discovery-1 name =
bigxerox._ipps._tcp.pc-printer-discovery-1.
Server: 10.1.9.69 Address: 10.1.9.69#53
Non-authoritative
answer: _ipps._tcp.pc-printer-discovery-2 name =
legal._ipps._tcp.pc-printer-discovery-2. |
次に各モビリティ・プリント・サーバにインデックス番号を設定します。
(詳細は別紙「モビリティ・プリント設定ガイド」を参照してください。)
サブネット・フィルタリング
ここまでの説明を踏まえて、モビリティ・プリント・サーバ 10.1.8.103 のプリンタがサブネット10.3.1.0のクライアントPCにのみ公開されるように設定します。
「rev.0.1.3.10」ゾーン・ファイルは次のように記述されているはずです。
|
File: /etc/bind/zones/rev.0.1.3.10
; ; BIND reverse
data file for local loopback interface ; $TTL 604800 @ IN
SOA dns.paper.cut.
admin.dns.paper.cut. ( 4 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; name server -
NS records IN NS
dns.paper.cut.
; PTR Records
for Mobility server 3 b._dns-sd._udp IN PTR
0.1.3.10.pc-printer-discovery-2. ; b
record for 10.3.1.0 lb._dns-sd._udp IN PTR
0.1.3.10.pc-printer-discovery-2. ;
lb record for 10.3.1.0; |
次に別紙「モビリティ・プリント設定ガイド」の「6-4 サブネット毎にプリンタ・アクセスを制限」を参考に
モビリティ・プリント・サーバ10.1.8.103 の「printer.conf.toml」ファイルを編集します。
|
File: /PaperCut Mobility Print/data/config/printer.conf.toml
DefaultEnabled
= true
[DisabledPrinters]
[EnabledPrinters]
[[SubnetFilterRule]] PrinterName = "Legal" Subnets = ["10.3.1.0/22"]
[Authentication] PerJob = [] PerPrinter = [] Default = "per-printer" |
以上で設定は完了です。
-------------------------
https://www.papercut.com/kb/Main/AdvancedBIND
0 件のコメント :
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。