RAプロキシでDADをトリガにNSを送信する機能を追加した。
IPv6 RAプロキシ機能を利用する際、RTの機器交換が発生すると、上流の機器で下流の機器のグローバルアドレスに対する近隣キャッシュが更新されず、それによって通信できなくなる現象が発生することがある。
それを解決するために、上流の機器に対して下流の機器のグローバルアドレスを送信元とした近隣要請(NS)を送信することによって、上流の機器が近隣キャッシュを更新するように促す、という機能を追加した。このとき、NSを送信するタイミングとしては、下流の機器からアドレス重複チェックを受けたときがトリガとなる。
また、上流の機器に近隣要請(NS)を送信した場合、上流の機器から近隣広告(NA)が返されることになるが、このNAの宛先は、NSの送信元、つまり下流の機器となる可能性があり、下流の機器としては送信していないNSに対するNAを受け取ることになるので、このNAをプロキシしないように変更できる設定も追加した。
○アドレス重複チェックをトリガに近隣要請を行うか否かの設定
ipv6 nd ns-trigger-dad on [option=value] |
ipv6 nd ns-trigger-dad off |
no ipv6 nd ns-trigger-dad [...] |
○on... | 近隣要請を行う |
○off... | 近隣要請を行わない |
○OPTION=VALUE列 |
OPTION | VALUE | 説明 |
---|---|---|
na-proxy | all | 近隣要請を行った後で、アドレス重複チェックの送信 元への近隣広告はすべてプロキシする |
discard-one-time | 近隣要請を行った後で、アドレス重複チェックの送信 元への近隣広告を一回のみ破棄し、その後はプロキシ する |
IPv6で、RAによりインタフェースに自動的に設定されるIPv6アドレスの数を最大16に制限するようにした。
また、最大数を変更することができるコマンドを新設した。
○自動的に設定されるIPv6アドレスの最大数
snmp local addressコマンドが設定されているときには、SNMPトラップを運ぶUDPパケットの始点IPアドレスに使うだけだったのを、SNMPトラップデータのペイロード内のIPアドレスにも設定されたアドレスを使うように変更した。
コマンドのIPアドレス指定で、降順に範囲指定を設定した場合は、昇順に変換して設定を保存するように修正した。
降順で指定した場合は、範囲指定の始点アドレスしか有効とされなかった。
(例)
コマンドで「httpd host 192.168.100.191-192.168.100.2」 を実行した場合、コマンド解析時に「httpd host 192.168.100.2-192.168.100.191」と変換して保存される。
対象となるコマンドは以下の通り。
受信したインタフェースと同一のLANインタフェースにパケットを転送するときに、フローテーブルに当該エントリが存在するときはファストパスで処理するようにした。
フローテーブルにエントリが存在していないときは、ノーマルパスで処理されてIMCP redirectが送信されるという本修正前と同じ動作になる。
Relay-Session-IDタグを含むPPPoEパケットの受信に対する応答のPPPoEパケットに、受信したRelay-Session-IDタグを含めずに送信するバグを修正した。
本修正前は、サーバとの間にPPPoEリレー機能を持つ機器が設置されている構成ではPPPoE接続ができないことがあった。
DHCPサーバー機能で、大量のDHCPクライアントから同時にDHCPメッセージを受信すると、リブートするなどルータの動作が不安定になるバグを修正した。
トンネルインタフェースでNAT機能を適用しているとき、NATセション数が上限に達しているために、そのトンネル宛てのパケットのNAT変換に失敗するとパケットバッファがリークするバグを修正した。対象となるパケット種別は次の通りである。
なお、この状態が継続しパケットバッファがリークし続けると、やがてルーターが受信停止に陥る。
ISDNで通信中に、何らかの原因でリソースが枯渇すると、再度接続しなおさないと送信が途絶えてしまう可能性があったのを修正した。
ISDNインタフェースに対して、バースト的に高トラフィックをかけるとルータ内部のリソースが枯渇してその後の動作に支障を来すことがあるバグを修正した。
ISDN回線で帯域制御を使用したときに、データを高負荷で転送しようとするとデータを送信できなくなることがあるバグを修正した。
RAS(Anonymous) 接続で複数の拠点から同じユーザー名で MP 1リンク接続すると、あとから接続した拠点を最初に接続した拠点の MP リンクにバインドしてしまうバグを修正した。
バックアップ機能で従系の回線としてISDN回線を使用しているとき、従系の回線がMP接続で2リンク以上を接続していると、主系の回線が復旧して使用する回線が切り換わっても、従系の回線が切断されないバグを修正した。
回線が切り換わった直後に従系の回線が切断されるのが正しい動作である。
Rev.8.01.24以降で発生する。
ipsec ike payload type 1 1のように、IKEペイロードタイプをヤマハルータリリース2と互換性を維持する設定にした状態で対向機からSAを削除されると、リブートしたり不安定になるバグを修正した。
IPsecをファストパス処理している場合で、暗号化後のESPパケットをフラグメントする場合で送信負荷が非常に高い場合に、まれに2つめのフラグメントのデータが正しくない状態で送信することがあるバグを修正した。
PPTPのサーバー側にてMSCHAPまたはMSCHAP-V2で認証を行うときに、パスワードを32文字以上に設定していて、実際にPPTPクライアント側から32文字以上のパスワードを受信するとリブートすることがあるバグを修正した。
LAN1以外のLANインタフェースでDHCPクライアント機能によりアドレスを割り当てられたときにARPリクエストが送出されないバグを修正した。
RIPよりもプリファレンス値の低い他のプロトコル(静的経路含む)からとRIPからとで同じネットワーク宛の経路をほぼ同時に受信したときに、ごくまれにshow ip routeコマンドでは経路がRIPによるものと表示されるのに、show ip rip tableコマンドでは経路が"other protocol"と表示され、その後RIPからの経路の受信が無くなっても経路が消えなくなることがあるバグを修正した。
同じ宛先に対して、OSPFあるいはBGPで受信した経路(経路Aとする)と、ip routeコマンドによる静的経路あるいはRIPで受信した経路(経路Bとする)があり、経路Aよりも経路Bの方がプレフィクス値が高く、優先されている状態のときに、経路Aが先に消え、その後経路Bが消えた場合に、show ip routeコマンドで消えたはずの経路Aが表示され、パケットも転送されてしまうバグを修正した。
SPF計算で同コストなスタブリンクを評価したとき、スタブ経路の計算結果に基づいてルーティングテーブルを更新できない場合があるバグを修正した。
具体的には、あるスタブ経路に関するスタブリンクを評価したとき、最後に評価したスタブリンクにおいてネクストホップ情報の更新が発生しなかったとき、ルーティングテーブルにそのスタブ経路の計算結果が反映されなくなる。
フローティングスタティックのとき、OSPF・BGPで経路の生成元の切り替わりを検知できないバグを修正した。
最初にOSPF・BGPのルーティングテーブルに取り込んだプロトコルでその後の動作が決まってしまい、import できたりできなかったりしていた。
OSPFで外部経路を取り込んでいるとき、対象となる静的経路のゲートウェイが変化してもTYPE 5 LSAのForwarding Addressが変化しないバグを修正した。
OSPFで、TYPE2の外部経路について、経路の変更がまったくない場合でも、SPF再計算のタイミングで経路の削除/追加イベントが発生することがあるバグを修正した。問題が発生したときに、ip route change logコマンドをonに設定しておくと、"Delete IP route"/"Add IP route"のログが続けて記録されるがその前後で経路の変更は起きていない。
BGPでピアから経路情報を受信している状態で、bgp configure refreshまたはospf configure refreshコマンドを入力すると、稀にリブートするバグを修正した。
BGPピアの設定があり、その設定をまったく変更していない状態で、show status bgp neighborコマンドで表示される状態がIdleまたはActiveのときにbgp configure refreshコマンドを実行すると、そのBGPピアがそれ以降、bgp configure refreshコマンドに反応しなくなるバグを修正した。この状態になると、ルーターを再起動するしか復旧の方法はない。
Idle状態とはBGPの初期化中の状態であり、ごく短時間で他の状態に遷移するため、現実的には、Idle状態中にbgp configure refreshコマンドを実行するのは困難である。
Active状態とは、BGPピアからの接続を待っている状態である。bgp neighborコマンドでpassiveオプションをonに設定していると、BGPピアから接続されるまでActive状態になる。また、passiveオプションがoffの場合でも、BGPピアとの接続がいったん切断されると、少なくともIdelHoldTimer(=12秒)の間はActive状態になる。そのため、bgp configure refreshコマンドを12秒以内に2回以上実行すると、この問題に遭遇することになる。
BGPで、bgp configure refreshコマンドを実行したときに、本来であればBGPピアから受信していた経路はいったんすべて削除されるが、それが削除されずに残ってしまうことがあるバグを修正した。
IBGP構成におけるNULLポインタアクセスによるリブートの可能性を排除した。
IBGP構成での動作は保障しない。
SNMP機能で、専用線のLinkDown/LinkUpのトラップがその回線の対向側にあるSNMPマネージャに送出されないバグを修正した。
SNMPで、受信したPDU中のINTEGER型の値に対して、ITU-T X.690 8.3.2節に記述されている規則のチェックを行わないようにした。
その規則を守らないSNMPマネージャーとの間で通信ができるようになる。
SIP-NAT機能において、書き換え対象となるIPアドレスを多く含んだヘッダを持つSIPパケットを受信したときにリブートすることがあるバグを修正した。
Web Assistanceのハードウェアの設定メニューにおいて、LAN2およびLAN3ポートの設定変更が正しく反映されないバグを修正した。
Web AssistanceのインターフェースメニューからISDN接続の状態ページを参照すると、トラフィックのカウントが正しく表示されないバグを修正した。
動的フィルターが管理しているコネクションにTCP以外のコネクションが存在するとき、Web Assistanceのファイアウォール画面で状態を表示させるとリブートするバグを修正した。
Web AssistanceのNATメニューから、任意のインタフェースの設定ボタンを押し、NATを「使用しない」に設定した後、変換ルールのページを開くと、変換方法に「IPマスカレード」が選択されているバグを修正した。
Web AssistanceによるIPsecの設定で、[接続先の識別方法-接続先IPアドレス]に"0.0.0.0"が設定されるとエラーになるように修正した。
従来は、コマンドとしては"ipsec ike remote address N any"が設定されてしまっていた。
不正アクセス検知の履歴がある状態でWeb Assistanceのトップページにアクセスするとメモリリークしていたバグを修正した。
TFTPでconfigファイルをルーターにアップロードする場合に、configファイル中にrestartコマンドが記述してあっても、以下の条件に合致する場合にはルーターの再起動が行われないバグを修正した。
または、
configファイル中のrestartコマンドの直前にsaveコマンドが記述されていればこの問題は発生しない。
入力したコマンドのパラメータヘルプを表示させたときに、別のコマンドになるキーワードが存在する場合に、文字化けやリブートしてしまうバグを修正した。
以下に示すコマンドのパラメータで、不正な形式であってもエラーを表示しないことがあるバグを修正した。
不正な形式でもエラーにならない例は以下のとおり。
ping6コマンドでPPインタフェースを指定するとき、PP番号に登録可能な(相手先情報番号+1)を指定できてしまうバグを修正した。
bgp export filterコマンドおよびbgp import filterコマンドで、以下のバグを修正した。
また、それぞれのコマンドのオンラインヘルプの記述を整理した。
dhcp client client-identifierコマンドの不完全入力でリブートまたは動作不安定になるバグを修正した。
queue class propertyコマンドのbandwidthパラメータについて、非常に大きな値を設定しようとしたときに、指示した値とは異なる値が設定されることがあるバグを修正した。
queue class property コマンドの帯域の設定値およびspeed ppコマンドの速度の設定値について、上限を100Mまでとした。
queue INTERFACE/pp class property コマンドについて以下を修正した。
no lan backup lanNコマンドで、後ろにLANインタフェース名やゲートウェイIPアドレスなどのパラメータを入力するとエラーになり、コマンドを削除できないバグを修正した。
ip/ipv6 filter dynamic コマンドのsyslogオプションの設定でon/offの後に文字を続けてもエラーにならないバグを修正した。
ip/ipv6 filter dynamic コマンド設定の入力時に、プロトコルを不正な文字列で設定を行うとパラメータの数が不適当ですと表示していたが、正しくパラメータのキーワードが認識できませんと表示するように修正した。
また、プロトコルを多く記述した場合やfilterキーワードの後の記述を間違った場合に、パラメータが範囲を越えていますと表示していたが、正しくパラメータのキーワードが認識できませんと表示するように修正した。
以下のコマンドをno形式で削除しようとするときに、コマンドの後ろにインタフェース名以外のパラメータが付いているとエラーになるバグを修正した。
nat descriptor timerコマンドで、no形式で設定を削除する場合に、本来不要なパラメータを指定しないとエラーになることがあるバグを修正した。
以下のコマンドについて、IPアドレスとして0.0.0.0を入力してもエラーにならないバグを修正した。
ipv6 routeコマンド設定において、networkが0::0となるような入力ができてしまうバグを修正した。
ipsec ike local address コマンドおよび ipsec ike remote address コマンドについて、パラメータにIPアドレスを設定するときに0.0.0.0や0::0を設定できないように変更した。
snmp local addressコマンドで、0.0.0.0または::0を設定してもエラーにならないが、コマンド自体は設定されないバグを修正した。
syslog hostコマンドで、スコープIDを指定していないIPv6リンクローカルアドレスを設定できないようにした。
timezone コマンドで -00:01 〜 -00:59 の範囲を指定したときに、符号が反転してしまうバグを修正した。
例えば "timezone -00:30" と入力した場合に "timezone +00:30" と設定されてしまう。
upwaitパラメータを指定したipsec ike keepalive useコマンドを設定した後にno ipsec ike keepalive useコマンドを設定しても、先のupwaitパラメータの指定が残った状態で動作するバグを修正した。
ip lanN vrrp shutdown triggerコマンドで、シャットダウントリガとしてフレームリレーのDLCIを指定するときに、'dlci='引数のTAB補完ができないバグを修正した。
wol send コマンドで、一部のパラメータについてタブ補完が効かなかったバグを修正した。
console character sjis/eucに設定されているとき、no pp selectコマンドのコマンドヘルプで [ ] を閉じていなかった誤記を修正した。
queue INTERFACE default class コマンドのヘルプ文の誤記を修正した。
ヘルプ文の日本語表示で『クラス』の後ろに『...』が付いていて複数の入力ができるように見えていた。
tcp logコマンドのコマンドヘルプの誤記を修正した。
ospf area network コマンドのヘルプ表記を修正した。
ip/ipv6 filter dynamic コマンドのヘルプ文において、コマンドリファレンスでプロトコルと表記している部分がアプリケーションとなっていたのを修正した。
SNMPで、sysUpTime変数が49日あまりで0に戻ってしまうバグを修正した。
497日あまりで0に戻るのが正しい。