質問
以下のようにフィルタリングを設定したら、DNS が使用できなくなりました。
- デフォルトポリシーを drop に設定
回答
デフォルトポリシーを drop に設定した場合、原則すべてのパケットが破棄されるため、DNS で使用するポートを accept に設定する必要があります。また、以下の点に注意してください。
- DNS は通常 UDP を使用します (TCP の場合もある)
- DNS の問い合わせでは、UDP のソースポートはランダムに生成され、53 番ポートを宛先としてネットワークにパケットが流れます。また、DNS の応答では、53 番ポートがソースポートになり、送信元のポート番号に戻ります。つまり、ソースポートと宛先ポートの両方に 53 番を設定する必要があります。
DNS の問い合わせ(Query)パケット | ||
ソースポート | 宛先ポート | データ |
nnnn | 53 | DNS-Query("www.amnimo.com") |
「nnnn」は、UDP のソースポート番号(16bitの整数)で、新しい DNS の問い合わせが発生するたびに、(通常は)1024 以上の数値からランダムに選ばれる。
DNS の応答(Response)パケット | ||
ソースポート | 宛先ポート | データ |
53 | nnnn | DNS-Response("211.2.xxx.xx") |
使用するポートを accept に設定する
以下のポートに対して設定します。
- DNS:53
admin@amnimo:~$ amsh
amnimo$ enable
password:
amnimo# configure
amnimo(cfg)# filter input 10
amnimo(cfg-fin-10)# policy accept
amnimo(cfg-fin-10)# match protocol udp src-port 53 ←UD のポート53がソースポート
amnimo(cfg-fin-10)# enable
amnimo(cfg-fin-10)# exit
amnimo(cfg)# filter input 20
amnimo(cfg-fin-20)# policy accept
amnimo(cfg-fin-20)# match protocol udp dst-port 53 ←UDP のポート53が宛先ポート
amnimo(cfg-fin-20)# enable
amnimo(cfg-fin-20)# exit
amnimo(cfg)# exit
amnimo# config file save
amnimo# exit
amnimo$ exit
コメント
0件のコメント
サインインしてコメントを残してください。