◆ ポリシーにFQDNを指定した場合の注意点
SSGにset dns hostコマンドでDNSサーバを指定している場合、ポリシーにIPアドレスではなくFQDNを
指定している場合でも、名前解決を行うことにより通信許可や拒否の判断を行えます。SSGが名前解決を
行うと自身のDNSステータステーブルに名前解決(ドメイン名とIPのマッピング)をキャッシュします。
SSGは以下の場合に指定したDNSサーバをチェックして、DNSテーブルにある全エントリをリフレッシュ。
@ HAフェールオーバーが発生した場合
A set dns host scheduleコマンドによるスケジュール実行
B exec dns refreshコマンド実行
set dns host scheduleコマンドでは4〜24時間間隔でしかスケジュールを実行できません。例えば以下
のように設定すると0時,4時,8時,12時の間隔でDNSテーブルにある全てのエントリをリフレッシュします。
SSG-> set dns host dns1 8.8.8.8
SSG-> set dns host schedule 00:00 interval 4
|
つまり、この4時間はキャッシュ情報を持ち続けるので、4時間以内にドメイン名に対するIPアドレス情報が
変更になった場合は通信ができなくなります。その場合は手動で exec dns refresh を実行することにより
新たな名前解決情報が得られるので通信できるようになります。ドメイン名に対するIPアドレス情報が変更
することは頻繁にある訳ではありませんが、FQDNを指定したポリシーはこのような問題点があるので注意!
◆ DNSプロキシの設定
クライアントPCがSSGをDNSサーバに指定して名前解決をしたい場合は、例えば以下のように設定します。
下記コマンドの前提としてクライアントPCはe0/5配下のネットワークに存在している事、ISPから取得した
DNSサーバのIPアドレスは「1.1.1.1」であることです。下記設定で、SSGはDNSプロキシとして動作します。
SSG-> set interface ethernet0/5 proxy dns
SSG-> set dns proxy
SSG-> set dns proxy enable
SSG-> set dns server-select domain * outgoing-interface ethernet0/0 primary-server
1.1.1.1
|
プライマリDNSサーバを1.1.1.1、セカンダリを2.2.2.2として、そのFailoverを有効化したい設定は以下です。
SSG5-> set dns server-select domain * outgoing-int ethernet0/0 primary-server
1.1.1.1 secondary-server 2.2.2.2 failover
なお、set dns server-select domainというコマンドは、本来「選択したドメイン名のクエリ―を特定のDNS
サーバに転送する」という使い方として有用です。これにより関連のないサービス要求の処理をDNSサーバが
行わなくて済むという利点、トラフィックの保護という利点があります。SSGでのDNSプロキシはドメイン名
の一部または全てに従いDNSクエリーを特定のDNSサーバに転送する、というのが本来の活用方法ということ。
例えばドメイン名「*.abc.com」が含まれたFQDNに関連づけられたDNSクエリ―はトンネルI/F (tunnel.1)
を経由して、192.168.0.1 のDNSサーバに問い合わせさせる設定は以下です。IPsec-VPN接続の構成を想定。
SSG5-> set dns server-select domain .abc.com outgoing-interface tunnel.1
primary-server 192.168.0.1
そして、その他のDNSクエリ―全て(*)はe0/0を経由し「8.8.8.8」のDNSサーバに問合わせする設定は以下。
SSG5-> set dns server-select domain * outgoing-interface ethernet0/0
primary-server 8.8.8.8
※ DHCPサーバでDNSサーバのIPアドレスをクライアントに配布する場合はDNSプロキシの設定は不要です。
|