pingコマンドに-wオプションを追加した。
-s LENGTH ... | パケット長、64-65535 |
-c COUNT ... | 送信回数、1-21474836 |
-sa SOURCE ... | 始点IPアドレス |
-w WAIT ... | パケットの送信間隔、0.1-99.9 |
...
-wオプションを指定した時には、次のパケットを送信するまでの間に相手からの返事を確認できなかった時にはその旨のメッセージを表示する。-wオプションを指定していない時には、パケットが受信できなくても何もメッセージを表示しない。
パケット長: | 64バイト |
送信回数: | ^Cが入力されるまで無限に繰り返す |
始点IPアドレス: | ルータのインタフェースに付与されたアドレスの中から選択する |
送信間隔: | 1秒 |
DHCPクライアント機能で、任意のオプションをサーバへのメッセージ内に追加できる機能を実装した。
INTERFACE ... | LANインタフェース名 | ||||
PS ... | 'primary'または'secondary' | ||||
OPTION ... | 番号=値の列
|
dhcp client option lan2 primary 50=c0,a8,00,80 ip lan2 address dhcp
dns staticコマンドでAAAAレコードを登録できるようにした。
show ip routeコマンドを拡張し、IPv4の経路数をプロトコル毎に表示したり、動的経路制御プロトコルによって得られた経路とのプリファレンス値の比較で隠されている静的経路を表示できるようにした。
何も指定しない時には、現在有効なIPv4経路を表示する。
'detail'を指定した時には、現在有効なIPv4経路に加えて、動的経路制御プロトコルによって得られた経路とのプリファレンス値の比較で隠されている静的経路も表示する。
'summary'を指定した時には、IPv4の経路数をプロトコル毎に合計して表示する。
RIP | メトリック値 |
OSPF | 内部/外部経路の別、コスト値、メトリック値(外部経路のみ) Type 1の外部経路の場合、コスト値はメトリック値を含んだ、経路へのコスト値となる。 Type 2の外部経路の場合、コスト値はASBRへのコスト値となる。 |
BGP | 無し |
IPv4の経路情報に変化があった時にそれをログに記録できるようにした。
SW ... | on | IPv4経路の変化をログに記録する |
off | IPv4経路の変化をログに記録しない |
RTX1000でLAN1をポート毎に別インタフェースとして扱うことのできる機能を実装した。
例: lan type lan1 port-based-ks8995m=on ip lan1.1 address 192.168.1.1/24 ip lan1.2 address 192.168.2.1/24 ip lan1.3 address 192.168.3.1/24 ip lan1.4 address 192.168.4.1/24
INTERFACE ... | LANインタフェース名 | |
SPEED ... | auto | 自動判別(デフォルト) |
10-hdx | 10BASE-T 半二重 | |
10-fdx | 10BASE-T 全二重 | |
100-hdx | 100BASE-TX 半二重 | |
100-fdx | 100BASE-TX 全二重 | |
PORT ... | スイッチングハブのポート番号、1〜4 省略時は全ポート | |
CROSSOVER ... | on | クロスストレート自動判別機能を使用する |
off | クロスストレート自動判別機能を使用しない | |
KS8995M ... | on | LAN分割機能を使用する |
off | LAN分割機能を使用しない |
本コマンドの実行後、LANインタフェースのリセットが自動で行なわれ、その終了後に設定が有効となる。
auto-crossoverキーワードはRTX1000でのみ使用できる。
port-based-ks8995mキーワードはRTX1000のlan1でのみ使用できる。
port-based-ks8995m=onを設定するとlan1のスイッチングハブポートを個別のLANインタフェースとして使用できる。分割後のインタフェース名は以下のようになる。
ポート番号 | インタフェース名 |
---|---|
1 | lan1.1 |
2 | lan1.2 |
3 | lan1.3 |
4 | lan1.4 |
分割されたLANインタフェースについては以下の制限事項がある。
例1) ポート1,2は100BASE-TX全二重、その他のポートはオートネゴシエーションで接続する。
lan type lan1 100-fdx 1 2
例2) ポート1は100BASE-TX全二重、その他のポートはオートネゴシエーションで接続する。LAN分割機能を使用する。
lan type lan1 100-fdx 1 port-based-ks8995m=on
RTX1000のLAN1スイッチングハブに、ポートミラーリング機能を実装した。
INTERFACE ... | LANインタフェース名 |
MIRROR ... | ミラーリングパケットを送出させるポート番号 |
DIR ... | 'in' or 'out',観測対象のパケットの方向 |
PORT ... | 観測対象とするポート番号 |
lan port-mirroring lan1 4 in 1ポート4でポート1送受信パケットとポート2送信パケットを観測
lan port-mirroring lan1 4 in 1 out 1 2
RTX2000で、GbEモジュール対応YBB2GE-SXT/LXTに対応した。
Wake On LAN機能として、Magic Packetを送信する機能と、他から送られたMagic PacketをLANインタフェースに中継する機能を実装した。
詳しくは、以下のURLを参照のこと。
http://www.rtpro.yamaha.co.jp/RT/docs/wol/wol.htmlip filter directed-broadcastコマンドも、ip filterコマンドでのフィルタ指定によりパケットの通過、拒否が選択できるように拡張した。
終点アドレスがディレクティッドブロードキャストアドレスであるIPv4パケットの扱いを設定する。
'on'を指定した場合には、ディレクティッドブロードキャストパケットはすべて破棄する。
'off'を指定した場合には、ディレクティッドブロードキャストパケットはすべて通過させる。
'filter'を指定した場合には、ip filterコマンドで設定したフィルタでパケットを検査し、PASSフィルタにマッチした場合のみパケットを通過させる。
RTX1000の、LAN1スイッチングハブで、スイッチングハブLSI内にあるMACアドレステーブルを制御する機能を追加した。
INTERFACE ... | LANインタフェース名 |
PORT ... | ポート番号 |
lan typeコマンドに以下のパラメータが追加される。
macaddress-aging=SW
macaddress-agingパラメータはRTX1000のLAN1でのみ指定可能である。offに設定すると動的MACアドレステーブル内のエントリをある時間経過後に消去する機能が働かず、MACアドレス情報が保持される。macaddress-aging=offの場合にclear switching-hub macaddressコマンドを実行してもテーブルエントリ情報は消去されず、次にmacaddress-aging=onとされた時点で消去される。
なおスイッチングハブの動的MACアドレステーブルはRTX1000の場合最大1024エントリ保持可能であり、テーブルが一杯になった場合には最後のエントリが新たなエントリのために消去される。
DNSリカーシブサーバ機能で、自分が送信するDNS問い合わせパケットの始点ポート番号を設定するコマンドを新設した。
RTX1000で、あるIPsecトンネル経由で受信したパケットを、他のIPsecトンネル経由で送信すべきときに、可能であれば、受信および送信ともにファストパスで処理するようにした。
PPインタフェースに対する優先制御、帯域制御機能で、queue class filterが適用される位置は従来はNATの外側になっていたが、ip secure filterなどと同じ、NATの内側になるように変更した。これにより、例えばIPマスカレードなどで外側IPアドレスが一つしかない場合でも、発IPアドレス別のQoSがかけられるようになる。
なお、LANインタフェースおよびトンネルインタフェースでは、従来から NATの内側でのフィルタ適用となっている。
LANインタフェースのリンクがダウンした場合には、そのLANインタフェースで動作しているVRRPはすべてシャットダウンするようにした。
show status lanコマンドでの表示で、「資源不足による受信失敗」と「メモリ不足による受信失敗」を「受信オーバーフロー」に合算して、「受信オーバーフロー」だけを表示するようにした。
これら3つのカウンタは内部的な発生要因は異なるものの、結局はルータの速度が間に合わずにパケットが受信できなかった回数を表すもので、区別して表示する意味はあまりない。
SYSLOGで、自分が送信しようとしたSYSLOGパケットがフィルタなどによって落された場合には、そのフィルタログはルータ内部のログとしては記録するが、SYSLOGとしてルータの外に送信しないように変更した。
従来はそのフィルタのログをまたSYSLOGとして送信しようとして高負荷な状態に陥っていたのを回避できる。
VRRPで、VRRP広告の送信間隔とVRRPマスターがダウンしたことを検知するまでの時間を変更できるようにした。ip INTERFACE vrrpコマンドのパラメータとして指定する。
ATIME ... | VRRP広告の送信間隔(秒) |
DTIME ... | マスターがダウンしたと判定するまでの時間(秒) |
LANインタフェース向きの静的経路は、従来はLANインタフェースの状態に関わらず常に有効であり、動的経路プロトコルでも広告されていたが、hide指定した場合に限り、LANインタフェースがダウンするとその経路も無効になるように変更した。
再起動時のレジスタ/スタックダンプの表示を、従来はINFOレベルで記録していたのをDEBUGレベルに変更した。起動理由は従来通りINFOレベルで記録される。
また、show status bootコマンドを新設し、起動理由とレジスタ/スタックダンプを表示できるようにした。
snmp syscontact、snmp syslocation、snmp sysnameコマンドで、空文字列を設定した時にそれがshow configなどで表示されるようにした。
SNMPで、sysNameやsysContact、sysLocation変数にSNMP経由で設定できる文字列の最大長が255文字ではなく254文字になっているバグを修正した。
show logコマンドやshow configコマンドで、console columnsコマンドの設定値を越える長さの行を表示する時に適切な場所で改行していないバグを修正した。
less configコマンドで長い行を折り返し表示する場合に、行の長さは本来console columnsコマンドの設定値に従わなくてはいけないところを、常に80文字で折り返すバグを修正した。
ospf areaコマンドなどでOSPFエリアとして数値表記で2147483648〜4294967295の範囲の数値を設定すると、show configコマンドで正しく表示されず、設定も保存できないバグを修正した。
queue INTERFACE lengthコマンドで、指定できるパラメータ数は最大16個なのに17個以上のパラメータを設定してもエラーにならないバグを修正した。機種によっては17個以上のパラメータを設定するとリブートするなどの現象になることがある。
RTX2000で、show config listコマンドで表示される内容のうち、コメントの表示を最大200バイトに制限した。それ以上の長さの部分は表示されない。また、saveコマンドで設定を保存する時に付けることができるコメントの最大長を200バイトに制限した。
RTX2000で、101番のトンネルの設定が存在する時にTFTPで設定ファイルを取得すると、設定ファイルのコメントが「TUNNEL 101」ではなく「TUNNEL anonymous」となってしまうバグを修正した。
OSPF/BGP4でのルータIDは、ospf router idコマンドなどで明示していない限り、ルータのインタフェースに付与されたIPv4アドレスの中から選ぶ仕様になっているが、その際、起動時あるいはospf/bgp configure refreshコマンド投入時にインタフェースがアップしていないインタフェースは選択から除外されていた。そのため、LANケーブルがすべて外れているなど、アップしているインタフェースが一つもない場合には、インタフェースに付与されたアドレスとは関係の無い、不定なIPv4アドレスがルータIDとして選ばれてしまい、その後のOSPF/BGP4の動作が正しく行なえないバグがあった。
そこで、アップしているインタフェースが一つもない状態の時には、LANインタフェースに付与されたIPv4アドレスをインタフェースがアップしていなくても利用するようにした。LANインタフェースは若番からサーチする。
通信の負荷が高いときにBGP等のTCP通信が発生するとリブートすることがあるバグを修正した。
PPインタフェースでBGPセッションを張っている時に、PPインタフェースがダウンし、BGPセッションがホールドタイマにより切断されると、BGPセッションの再接続の動作中にルータ全体がハングアップしてしまうバグを修正した。
このバグが発生した時には電源の再投入で回復するが、RTX1000では回復後のリブート原因としてNMIが記録されることがある。
RIPで、hideがついていて本来広告してはいけない経路を電源投入時や再起動時に広告してしまうバグを修正した。
RIPで受信している経路について、経路のメトリック(ホップ数)だけが変化した時に、show ip routeコマンドでのメトリック値の表示が変化しないバグを修正した。
表示の問題だけであり、RIPの動作としては正しいメトリックでやりとりが行なわれている。
ip simple-serviceコマンドの設定がoffのときに、RIPngのパケットを受信できないバグを修正した。Rev.7.00.20 (build 1)でエンバグしている。
PP anonymousインタフェースで複数の接続先を定義しており、そのうちの1つ以上が接続しているときに、clear ip dynamic routingコマンドを実行すると、PP anonymousインタフェースをゲートウェイとするすべての静的経路のhideオプションが不正な状態になり、無効となるべき経路がすべて有効となるバグを修正した。
[例] pp select anonymous pp auth username user1 password1 pp auth username user2 password2 pp enable anonymous ip route 10.0.1.0/24 gateway pp anonymous name=user1 hide ip route 10.0.2.0/24 gateway pp anonymous name=user2 hide
上記の設定で、user1が接続していて、user2が接続していないとすると、hideオプションがあるため、10.0.2.0/24の経路は無効となる。この状態で、clear ip dynamic routingコマンドを実行すると、2つの経路がともに有効となってしまう。本来は10.0.1.0/24だけが有効になるはずである。
ホスト経路が奇数個存在する状況で、数千程度の経路が新しく追加されるとルータがリブートしたりハングアップしたりすることがあるバグを修正した。
PP Anonymousで名前によるルーティングを複数登録している時、ある相手との通信が終って別の相手と通信しようとしても、しばらくの間新しい相手と通信できない時間が発生するバグを修正した。
静的経路で、一つの宛先に対し複数のゲートウェイを設定している場合に、hide指定やネットワークバックアップ機能によって変化する有効なゲートウェイの状態が正しく動的経路プロトコルで広告できないことがあるバグを修正した。
代理ARPが有効になっているLANインタフェースで、リンクアップした直後にARPを受信した場合に、代理ARPで応答するべきではない場合でも応答してしまうことがあるバグを修正した。
ルータのTCPポート7、9、37番に対してポートスキャンツールでスキャンを行うと、ルータ内部で利用できるパケット用メモリが減少してルータ全体の動作に支障を来すことがあるバグを修正した。
ip stealthコマンドを設定した時でも、オープンしていないTCPポートに対してパケットを受信するとTCP RSTを返してしまうバグを修正した。
IPv6のIPsecトンネルインタフェースで受信したパケットがトンネルの内向きのIPv6フィルタで処理されないバグを修正した。
ルータの動作中にIPsec関係の設定変更を行うと、その後の動作が不安定になることがあるバグを修正した。設定しているトンネルモードやトランスポートモードの設定が多いほど発生しやすい。設定後に再起動すれば、この問題を回避できる。
IPv6のIPsecトンネルインタフェースから受信したパケットの終点アドレスが、そのインタフェースに設定されているリンクローカルアドレスと一致するときに、そのパケットをLAN1インタフェースから受信したものとして扱うバグを修正した。このバグの影響により、トンネルインタフェース経由で接続先のリンクローカルアドレスに対してpingやTELNETを実行しても応答がないという問題があった。
IPsecのUDPカプセル化とIPマスカレードを同時に使用すると、RTから送信されるUDPパケットのNAT変換が行なわれないバグを修正した。ip routing process normalと設定するとこの現象は回避できる。
IPマスカレードの外側IPアドレスに対してICMP ECHOを受信した時に返送するICMP ECHO REPLYパケットのTTLの値が、受信したICMP ECHOパケットのTTLの値と同じ値になっていたのを、IPマスカレードの設定がない場合などと同じ64になるように変更した。
NAT/IPマスカレードで内側から外側にICMPエラーを転送する時に、始点IPアドレスがNAT/IPマスカレードの外側アドレスになるようにした。
VRRPで、2台のVRRPルータが同一のプライオリティを持っている時に、プリエンプトモードであれば常にIPアドレスの大きな方がマスタールータとして動作しなくてはいけない。しかし、IPアドレスの大きな方のVRRPルータが何らかの理由でシャットダウンし、小さな方がマスタールータとして動作し始めた後で大きな方のシャットダウン状態が解除されても、そのVRRPルータはバックアップとして動作してしまい、マスタールータが正しく切り替わらないバグを修正した。
rdateコマンドが、相手先IPアドレスが間違っているなどで失敗した場合に、TCP関連のリソースを消費してしまうバグを修正した。失敗が重なると、TELNETクライアントやrdateコマンドなど、ルータコンソールから実行する他のTCPアプリケーションが使えなくなるバグを修正した。
PPTPで利用するGREパケットは、IPヘッダ+GREヘッダ+GREデータ、という構成を取るが、GREデータの更に後ろに不要なデータが付加されているようなGREパケットを受信すると、その後に受信したGREパケットを正しく処理できずに通信できなくなるバグを修正した。
GREデータの更に後ろに不要なデータが付加されているようなGREパケットを送信するPPTPサーバ、クライアントの実装は知られていない。
BRIインタフェースが、ISDN回線交換で1Bのみしか使わない設定、すなわち、'line type briN isdn-ntt 1b'という設定になっている場合に、'isdn fast disconnect time'コマンドで設定するタイマが機能しないバグを修正した。
BACPで、相手からMPのリンク切断を要求された時に、ppp mp minlinkの設定値によってはリンク切断を拒否するようにした。一部のプロバイダとのISDNによる接続で、うまく接続できないことがあるバグが修正される。
RTX1000で、LANインタフェースに対するQoS設定で誤った設定を行なうと、高負荷をかけた後にLANインタフェースからの送信が滞ることがあるバグを修正した。
queue INTERFACE typeコマンドの設定が'shaping'の場合には、speed INTERFACEコマンドでインタフェースの速度を設定する必要はないのだが、誤って両者を同時に設定しており、かつ、100%近い負荷を与えると現象が発生する。
RTX1000で、ネットボランチDNSの自動更新に失敗した後にnetvolante-dns goコマンドで手動更新を実行しようとしてもエラーになってしまい、手動更新ができなくなってしまうバグを修正した。プロバイダへの再接続時の自動更新処理は正常に行うことができる。
RTX1000で、データ通信中に以下のコマンドを実行するとリブートしてしまうことがあるバグを修正した。
RTX2000で、優先制御、帯域制御の設定が入っていると、NATが適用されているインタフェースでパケットが通過しても正しくNATタイマーを更新できず、通信があるのにNATのエントリが消えてしまって通信できなくなるバグを修正した。
RTX2000で、ネットワークバックアップの設定など、同一宛先に対して複数のゲートウェイが設定されている環境で、そのゲートウェイのARPエントリがタイムアウトするタイミングでパケットが間違った方向へ転送されることがあるバグを修正した。
RTX2000で、VPNモジュールを装着していない時にはIPsec関係のコマンドは入力できない仕様になっているが、それに反してipsec ike xauthmynameコマンドが入力できるバグを修正した。
RTX1000で、BRI専用線に接続して使用するときに、回線接続直後にリブートすることがあるバグを修正した。