arashi1977さんの助け合いフォーラム投稿一覧

助け合いフォーラムの投稿
2023/05/25 返信
ポートプライオリティ値の変更について

念のための確認なのですが

「CatAのFa0/1でポートプライオリティを変更して VLAN1~3の優先度を上げる」ではだめな理由が分かりませんでした。

と、言われながら

「CatAのFa0/1でポートプライオリティを144に変更」することでは実現できないのはなぜなのでしょうか。

と、「Fa0/1のポートプライオリティを下げる」やり方を想定されているようなのですが、「上げる」「下げる」どちらを考えられてますか?

2023/05/21 返信
connectedが再配送される理由

ルーティングテーブルにConnectedで見えている経路については再配送されないのではないでしょうか?

これですねぇ、OSPFは「再配送するルータでOSPF有効になってるインターフェースのサブネットはOSPF経路として再配送する」んですよ。なぜかって言われると「そう言うもの」って話でしかないのですが…
同じような質問がCisco Communityでも上がってました。
https://community.cisco.com/t5/routing/route-redistribution-ospf-gt-eigrp/m-p/4700380

実験できる環境があれば、2台のルータを繋げてこんな設定入れてみてください。R2で D EX1.1.1.1/32 の経路が見えるはずです。

R1:
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
!
interface GigabitEthernet1
 ip address 192.168.12.1 255.255.255.0
 no shutdown
!
router ospf 1
 network 1.1.1.1 0.0.0.0 area 0
!
router eigrp 1
 network 192.168.12.0
 redistribute ospf 1 metric 1000000 100 255 1 1500

R2:
interface GigabitEthernet1
 ip address 192.168.12.2 255.255.255.0
 no shutdown
!
router eigrp 1
 network 192.168.12.0
2023/05/21 返信
enabledコマンドは要らない?

こちらFa0/1からVLAN10と20を通すためにenabledやallowedコマンドは入力不要なのでしょうか。

どう言うコマンドを意図されているかがわからないので、具体的に必要だと想定されているコマンドを記述いただいても良いでしょうか?

2023/05/21 返信
解説に疑問

とありますが、これはOSPFにとってのout方向というのが正しいのではないでしょうか?
またはEIGRPにとってのin方向という方が適切でないしょうか?

そう判断された根拠が一緒にあると嬉しいです。

正答選択肢をみると以下のように記述されています。

router eigrp 1
 distribute-list 1 out ospf 1

これは router eigrp (つまりEIGRPルーティングプロセスの中)で、distribute-list (経路情報の配送、広告)をどの方向に制御するか、と言う意味になります。つまり「EIGRPプロセスが自分の発信(out)向きに経路情報アップデートする際にACL:1を適用する。なお、OSPFプロセス番号1から学習した経路を対象とする」と言うのがこの distribute-list 1 out ospf 1 の意図になります。
なので、「EIGRPのin方向」と言うと、「EIGRPプロセスに入ってくる」と言う意味になるので、router eigrp 配下では distribute-list in になりますし、「OSPFにとってのout」と言うと、router ospf 配下で distribute-list out と言うように聞こえます。
考え方のポイントとしては「redistributeした時点で、その経路情報はredistribute元の経路情報として扱わない」と言うことですね。router eigrp 配下で redistribute ospf したらその経路はEIGRPプロセスにとっては D EX な経路になるわけで、OSPF関係ないのです。

トポロジ図のルーティングプロセスの管理範囲(ドメイン)で考えず、どのルーティングプロトコルのプロセスで扱うのか、そのルーティングプロトコル観点で経路情報を「送信する(out)」のか「受信する(in)」のかと言う点でみると良いかと思います。

この辺のドキュメントみると参考になるかもです。
https://www.cisco.com/c/ja_jp/support/docs/ip/interior-gateway-routing-protocol-igrp/9105-34.html

2023/05/21 返信
指定ポート選出時のルートパスコスト

指定ポートは各セグメントで選出されるのだからAのFa0/2が200、CのE0/1が219でA側を指定ポートと選択したんですが・・・。

選択するまでの全体の流れが気になるのですが、解説の以下の部分で各スイッチごとのルートパスコストが記載されているのは確認されてますか?

SwitchAとSwitchCのセグメントでは、SwitchAが持つルートパスコストは「119」、SwitchCが持つルートパスコストは「100」なので、SwitchAより小さいルートパスコストを持つSwitchC側のポート(E0/1)が指定ポートになります。

ポート単位、セグメント単位で見る前に「スイッチのルートパスコスト」の観点でどちらが上か(RP, DPになるポートを持つか)が決まってくるので、スイッチ単位での判断をしてみて、それでどうなるか確認してはどうでしょうか?

2023/05/19 返信
EIGRPがルーティングテーブルを保持しているとされることの妥当性

まぁ確かに。「保持」じゃなくて「扱う」ならわからないでもないですね。

2023/05/19 コメント
OVF/OVAについて
> 頂きました情報を確認すると、以下の様に思われました。 > ① .ovfファイルが該当 > ② .vmdkファイルが該当 > ③ .mf、.certファイルが該当 > 上記①、②、③はOVFという標準フォーマットになっている はい、その理解で良いかと。
2023/05/19 返信
「送信元ツリーでは根本にFHRが指定されている」の正誤について

「送信元ツリーでは根本にFHRが指定されている」
は、正解ではないかと思われますが、いかがでしょうか。

解説にも参考にも明記がない(他の問題の解説にならあるのかな?見てないですが)のですが、ここで言う「根本」って「ツリーの根本」です。じゃあ根本って何よ?って言うと「起点」です。何の起点かっていうと「マルチキャストツリーの起点」です。
マルチキャストって、Receiverから起点(根本)まで辿っていって出来上がるツリーを根本からReceiverまでデータ送信する際のパスとして使用するんですね。なのでこうなります。

  • 送信元ツリー:送信元(Source)からReceiverまで最初から出来上がってるツリー。なので根本(起点)は「送信元(Source)」
  • 共有ツリー:送信元(Source)からRPまでと、ReceiverからRPまでが別で出来上がってるツリー。Receiverから辿っていって出来上がるのはRPまでのツリーなので、根本(起点)は「RP」

FHRはSourceが存在するセグメントに直接接続されたルータのことなので、起点じゃないんですね。

興味があればこのドキュメントとか読んでみると良いかもです。
https://www.cisco.com/en/US/docs/ios/ipmulti/configuration/guide/imc_tech_oview_support_TSD_Island_of_Content_Chapter.html#wp1055129

Multicast Distribution Source Tree (Shortest Path Tree)
The simplest form of a multicast distribution tree is a source tree. A source tree has its root at the source host and has branches forming a spanning tree through the network to the receivers.

Multicast Distribution Shared Tree
Unlike source trees that have their root at the source, shared trees use a single common root placed at some chosen point in the network. This shared root is called a rendezvous point (RP).

2023/05/13 返信
関数定義部分の引数の使用方法について

この問題の
def network_device_list(dnac, token):
の引数で、dnacはそれより上の行で既に現れたもので、tokenは現れて
いないものになっています。

この部分のdnacは、別の名前でもよいという理解で正しいでしょうか。

別の名前でも良い、というか、ここはプログラミング言語の割と一般的な話になります。
def で始まる文は「関数定義」と言って、「こう言う名前で、こう言う引数をとり、こう言う処理をするもの」を記述しているものです。例示されたところで言うと、「引数に (関数内部で使用する名前として)dnac, token と言う2つの引数を取る network_device_list と言う関数を定義」していると言うことになります。そして、ここについてはご認識の通り「関数内で名前を合わせておけば良い」です。なので

そのあとで
network_dvice_list(dnac, login)
としても、同じでしょうか。

であってます。

変な例を出せば、こう言うのも問題なく動作するPythonコードです。関数の中で名前の不整合がなければ、関数の外で使ってる変数をそのままセットできます。

lower = 100
higher = 10

def kakezan(kakeru_kazu, kakerareru_kazu):
  return kakerareru_kazu * kakeru_kazu

print(kakezan(higher, lower))

また、url = "https://{}/api/----- の {} の部分は、どの様な
意味になるでしょうか。

これは str.format() と言う、文字列整形の様式ですね。省略されてますが設問のコードをちゃんと書けばこうですよね。

url = "https://{}/api/v1/network-device".format(host)

ここでは

  • 文字列= https://{}/api/v1/network-device
  • 文字列.format() に渡す引数は host
  • format構文に従い、{}(置換指定)host の値をセットする
  • host には(これは多分 network_device_list 関数のものなので)引数となる辞書dnachost キーの値をセットする

と言う指定になっているので、最終的には https://sandboxdnac.cisco.com/api/v1/network-device と言う文字列にする、と言うことになるのですね。
formatに指定できるパラメータは以下のドキュメントから「書式指定文字列の文法」とかへ飛んで見てみると色々見えてくるかと思います。
https://docs.python.org/ja/3/library/stdtypes.html#str.format

2023/05/10 コメント
ルートリフレクタについて
あーでもなんか違うなぁ、ルートリフレクタになるのはいいとして、ルートリフレクタクライアントがどうなのかって情報がないので、↑の回答に自信なくなってきました…
2023/05/10 返信
問題 選択肢 解答 訂正

ご指摘の選択肢については、こう解説されています。

・他スキーマの表に索引を作成する
INDEXオブジェクト権限があれば行えますので、誤りです。

https://docs.oracle.com/cd/E29814_01/timesten.1122/b66446/privileges.htm#BABIDBFC をみると

オブジェクト権限とは、オブジェクトで特定のアクションを実行したり、別のユーザーのオブジェクトにアクセスする権限のことです。オブジェクトには、表、ビュー、マテリアライズド・ビュー、索引、シノニム、順序、キャッシュ・グループ、レプリケーション・スキームと、PL/SQLファンクション、プロシージャおよびパッケージがあります。

と記載があり、誤答解説のINDEXオブジェクト権限について確認すると

ユーザーは表またはマテリアライズド・ビューに索引を作成できます。

と書かれてます。なので、CREATE ANY INDEX システム権限がなくても「他スキーマの表」に関して索引の作成を実行するユーザーに対するINDEXオブジェクト権限があれば実行できることになり、問題の正誤にも解説にも特に誤りはないと思いますよ。

2023/05/10 返信
「/etc/rc.d/rc3.d」と「/etc/rc3.d」

問題IDとかがわからないのですが、どの問題に関しての質問なのでしょうか?

2023/05/10 返信
ルートリフレクタについて

うーん、これは確かに設問の状況がわかりにくいですね…
すごーく意図を読み取ったとしてこう言う状況ではないかと考えます。

  • iBGPピアリングでは「2hop先には経路情報が伝わらない(iBGPで学習した経路を他に伝えない)」
  • ルートリフレクタはiBGPで学習した経路であっても、2hop以上先へ広報できる
  • ルートリフレクタ同士でルートリフレクタクライアントの設定( neighbor route-reflector-client )を相互に設定することで、互いの学習した経路情報を交換できる

最後のところが読み取った内容ですが選択肢の「XXとYY」とある場合は「互いにルートリフレクタの設定をする」と言う意味を含んでいるのかもしれません。それであればまぁ有りうるかもなとは思います。時間があれば環境作って検証してみようかな…

2023/05/09 返信
OVF/OVAについて

実物を見たらイメージしやすいと思います。例としてvyos(仮想ルータ)のovaを見てみるとこんな感じです。
https://support.vyos.io/en/support/solutions/articles/103000099217-vyos-1-2-9-s1

% ls
vyos-1.2.9-S1-cloud-init-vmware.ova
% file vyos-1.2.9-S1-cloud-init-vmware.ova
vyos-1.2.9-S1-cloud-init-vmware.ova: POSIX tar archive
% tar tfv vyos-1.2.9-S1-cloud-init-vmware.ova
-rw-r--r--  0 someone someone 13696  3 16 07:12 vyos-1.2.9-S1-cloud-init-vmware.ovf
-rw-r--r--  0 someone someone   227  3 16 07:12 vyos-1.2.9-S1-cloud-init-vmware.mf
-rw-r--r--  0 someone someone 102400  3 16 07:12 vyos-1.2.9-S1-cloud-init-vmware.cert
-rw-r--r--  0 someone someone 442210304  3 16 07:12 vyos-1.2.9-S1-cloud-init-vmware-disk1.vmdk
2023/05/06 コメント
REST APIリクエストにタイムスタンプを付加することのリプレイ攻撃への効果について
> 「トークンの取得」の部分のやりとりを攻撃者が盗聴しており > 「得られたトークンを TOKEN 環境変数へエクスポートしておきます。」 > を攻撃者に実行され、その後の「API の使用」の操作を攻撃者に実行 > されてしまうことを想定しておりました。 この場合は「認証情報の奪取(攻撃者が自分でTOKENを取得できる)」なので、リプレイ(以前にやったものをもう一度実行させる)とは異なるかなと思います。 > 最初の質問中の以下の部分の回答は、どの様になるでしょうか。 それは別の考慮になる(タイムスタンプでは防げない)んじゃないですかね?最初に言及しましたが > 応答=トークン」ではなく、その前の認証段階でトークンを取得し、そのトークンを「認証済みって証拠はこれです」ってつけてAPIにリクエスト送る ので、リプレイ(以前にやったものをもう一度実行させる)のではなく、奪取した認証情報をそのまま利用するだけなので別の話です。この場合はそもそもTOKENが盗まれないようにする、しかないかなぁと。 ちなみにTOKENを抜かれてっていう「最初の質問中の以下の部分」って実例があるので、回避策が「TOKENを盗まれないようにする」以外ないって言うのはイメージしていただけるかと思います。 https://qiita.com/saitotak/items/813ac6c2057ac64d5fef
2023/05/06 コメント
正解とされる選択肢の正誤の確認
> 問題は、「tunnel sourceコマンドに問題があるとして」なので > 上記のデフォルトルートがあっても、回答選択肢の > 「指定したアドレスがどのインターフェースにも設定されていない」 > への該当/非該当には影響しないと思っております。 あー、質問した意図は「本来こうなるはずなのになっていないのは不思議なので、構築した環境がどうなってるのか確認してみたい」と言うものでした。 > すみませんができましたら、記載箇所を教えて下さい。 この辺ですかね > これは、インターフェイスが管理上イネーブルになっているためですが、トンネル送信元またはトンネル宛先がないため、回線プロトコルがダウンします。 > このインターフェイスを up/up にするには、有効なトンネル送信元とトンネル宛先を設定する必要があります。 > 有効なトンネル宛先はルーティング可能な宛先です。ただし、これは到達可能である必要はなく、この ping テストから確認できます。
2023/05/06 コメント
REST APIリクエストへのタイムスタンプ付加が必要なケースについて
> タイムスタンプを付加しても しなくても、安全性は変化していないと思ったのですが、この点に > ついては、どの様に思われますでしょうか。 ここはその前で言及したように > ※セキュリティって「必要あるかどうか」じゃなくて「そもそも仕組みとして利用する」ものなんですよね。IPsec使ってるからSSHじゃなくてtelnetでいい、みたいな話にはならないかなと。 って思ってます。 「世の中完全自動運転になったんだから、変な運転する奴も信号無視する奴もいないわけだし、シートベルトなんてあってもなくても同じだよね。なので無くしていいんじゃないかな」って言う話に対して「なくてもいいかもしれないけど、安全性向上のために存在している装備をなくすのは話が違うのでは(積極的に無くす、使わない理由があるの?)」ってことです。 セキュリティは「しなくていいんじゃない?」ではなくて「攻撃のポイントを排除していく」必要があるものなので、積極的な理由(すでに解読方法が確立してるとか)がないのであれば、利便性とバランスをとりつつ利用すべきと言う考え方が望ましいかと思います。
2023/05/05 返信
REST APIリクエストへのタイムスタンプ付加が必要なケースについて

HTTPSを使用する場合には、HTTPSの機能でリプレイ攻撃ができないので、タイムスタンプを付加する
必要はないとの理解であっているでしょうか。

別の質問につけている話そのままですが、「パケットをそのまま取得してそのまま送りつける」だけの攻撃なので、HTTPSで暗号化されていようが丸々再利用(リプレイ)してうまく攻撃があたればラッキー、って感じで考えると良いと思います。

※セキュリティって「必要あるかどうか」じゃなくて「そもそも仕組みとして利用する」ものなんですよね。IPsec使ってるからSSHじゃなくてtelnetでいい、みたいな話にはならないかなと。

2023/05/05 返信
REST APIリクエストにタイムスタンプを付加することのリプレイ攻撃への効果について

リクエストにタイムスタンプを付加することで、上記(2)は、攻撃者が(A)の内容をコピーして再利用する攻撃は防げるものの
(B)を盗聴してトークンを入手し、それをコピーして利用する攻撃は、防げないとの理解であっているでしょうか。

うーん、解説のこの部分がその辺の悩みの元ですかね?

リプレイ攻撃とは、攻撃者が正規ユーザの認証データをコピーして、その認証データをそのまま使って不正アクセスを行う攻撃です。

「認証データをコピー」って言うから違和感があるんだと思うのですが、REST APIを使う場合って「応答=トークン」ではなく、その前の認証段階でトークンを取得し、そのトークンを「認証済みって証拠はこれです」ってつけてAPIにリクエスト送るんですよね。

実際の流れはこのドキュメントとかみるとわかるかもです。
https://community.cisco.com/t5/tkb-%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9-%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/crosswork-api-%E3%81%AE%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/ta-p/4741165

上記ドキュメントを例にすると、リプレイ攻撃のイメージは

登録されているデバイスの数を取得
$ curl -k -H "Authorization: Bearer $TOKEN" "${BASE_URL}${DLM_INVENTORY_API}/v1/nodes/count"
{"number_of_nodes":6}

ここのリクエストパケットを丸々盗んで、それをもう一度投げつける感じです。認証の手続きもクソもなく、$TOKENがパケットに含まれているのでそのまま使えるって話です。また、ここでは取得(show系)のやつですがデバイス削除のAPIだったりすれば、何度もこのパケット投げつけることでAPIによっては1台ずつデバイスが空になるまで削除し続けることができる、と言う攻撃なんですよね。

ここで「リクエストにタイムスタンプがついていれば、リクエストしてレスポンスも返したのに(たとえば10分以上前の)同じ内容のリクエストが来るのはおかしい、と判断できる」と言うのがタイムスタンプの話かなと思います。

2023/05/05 返信
RouterでのCoS値の保存について

Routerはデフォルトでは受信したCoS値を保存せず、そのパケットを出力する際にはCoS値=0で送出する認識なのですが、正しいでしょうか。

そうですね、CoS値を変更するのであれば、MQCでset cosとかしなきゃいけなかったかと思います。

この問題で、RouterがCoS値を保存する前提とされており

ここはどこに記述されているものを持ってそう判断されたかが不明なので、なんとも言えないところです。

正解は「【3】CoS値=5」とされている

ここは設問の書き方の問題のような気はしますが、「PCがCoS=5で送ったフレームを受け取って処理する時点ではCoSはどうなっているか」と言う意図なんじゃないかなと思います。「受け取ったデバイスが送出するフレームのCoS」が何かを聞かれてるのではないと思います。多分…

2023/05/05 返信
Tun0の【設定変更前】の構成の使用場面について

質問の意図がうまく読めないので、間違ってたらごめんなさい。

Fa0/0間のOSPF経路が通常使用経路でそのバックアップがTu0間のOSPF経路の形になっている様に見えます。

いや、何も考えずにTunnel0もOSPF有効にしただけの構成だと思います。なぜなら、Tu0のGREパケットはFa0/0間を流れるので、バックアップにすらならない(Fa0/0間のどこかがdownしたらその時点で疎通不能になる)からです。
どちらかというと、Tunnelインターフェースの動作検証のために構成作ったはいいものの、何も考えずcost変更して経路いじったら変なメッセージでた、と言うCCNAからちょっと毛が生えた感じの人が作業ミスして陥る状況について触れているというイメージに受け取りました。

なので、「この設問のための特殊な構成」とかあまり難しく考えず「ルーティングループになったらこう言うメッセージが出る場合がある」と言うのを学習する問題であって、この設問のような構成が実際に使われるかと言われると「設計次第では?」って感じになるかなと思います。

2023/05/05 返信
正解とされる選択肢の正誤の確認

うーん、そもそもIOSの挙動としてup/downとなる理由は問題、回答の通りだと思うのですが…参考URLの先の文書でも同じことが書かれてるっぽいですし。

ちなみにその時の show ip routeとか見ても4.4.4.4のconnected経路は存在しないし、192.0.2.1に到達可能な経路(default含む)もないし、その前提でTunnel0のshut / no shutやっても同じ結果ですか?

2023/04/18 コメント
"すべての行"という記述について
> name, type, interfacesの行末に 「の行末”に”も」ですね (^^;
2023/04/18 返信
"すべての行"という記述について

そもそも設問が

以下のJSONデータについて正しく説明しているものはどれか

なので、

オブジェクトの最終行は","を使用しないため

と言われても設問のデータのオブジェクトの最終行に , がついてしまっているのでちょっとポイントが違うんじゃないかなーと思います。

あと試験テクニック的な観点で言うと、この選択肢は3つにグルーピングされていて

  • データ形式に問題があるかないか(データ形式が不正、書式に問題はない)
  • 問題があるとしたらどこか(最後のキーと値のペアにカンマは不要、すべての行はカンマで終わってはならない)
  • 問題がないとしたらこのデータについて何が言えるか(オブジェクトは3つある、interfacesの行の「3」は文字列)

3つ目の「オブジェクトは3つある」は {} が1つしかないので誤り、3は "" で囲まれていないので文字列ではない、とすると「問題がない」とする選択肢が全滅するので、最初の「書式に問題はない」が排除されるんですよね。
そしたらあとは「問題があるとしたらどこか」のどちらが正解かですが、

  • 最後のキーと値のペアにカンマは不要(1つしかない場合、または複数ある場合の最後はつけなくても良い、と言う意味になる)
  • 全ての行 はカンマで終わっては ならない (「カンマで終わっている行があるJSONデータ」は全て書式誤りとなる、と言う意味になる)

で、前者は設問のJSONデータについてはマッチしますが、後者は「name, type, interfacesの行末に , をつけているからおかしい」と言う回答になるので、不正解、と言うことかと思います。

2023/03/13 返信
使用中のプロセスの特定方法について。

日本語的な話ですかね。問題では

リソースが使用中のためアンマウントできなかった。使用中のプロセスを特定

とあるので、「リソースを使用中のプロセスを特定」したいって意図かと思います。ですので、nagutabbyさんのご説明通り「psコマンドでは、そのプロセスがどのリソースを使用しているかは表示しない」ので誤り、となるんですね。

戻る