arashi1977さんの助け合いフォーラム投稿一覧
コマ問には ID なかった気がするので、特定するのは難しいと思います。
で、このコマ問の元になった問題ID: 3504(のはず)ですが、こちらではシングルクオーテーションも何も無しになっているので学習用の問題とその回答がそのまま出題されているだけかと思います。囲うのが良いという点には同意ですが、囲まなくても動くので学習者の負担を減らす、という意図じゃないかなと思っています。
解説中で、CatB fa0/3のポートプライオリティを16に変更した後の、CatB#show spanning-tree interface fa0/3の表示結果で、
VLAN0001-3のPrioNbrが128.3から変わってないようです。
解説では
以下は正解の選択肢のように CatAにポートプライオリティの設定を入れた場合の、CatBの状態 です。
のように「変更したのは CatA」と記述があるので、CatB の状態は変わっていなくても問題ないと思いますよ。
それに従うと、モジュール0のFa 0/1 Fa 0/2は、ポートプライオリティがデフォルト128の場合、
Fa 0/1 PrioNbr 128.129
Fa 0/2 PrioNbr 128.130
となるでしょうか。
ご指摘のあった出力例を見ると、 Fa0/1は .1 で、Fa0/3 は .3 となっているので、スロット番号も関係するはずですね。資料探してみたのですがすぐ見つからなかったので、見つけられたらコメント追加します。
AS_PATH 属性は「AS を通過するたびに通過した AS 番号が 左に 追加」されていきます。つまり
- 一番右:当該プレフィックスを最初に広報(生成)した AS
- 一番左:自分の AS から見て、当該プレフィックスを受信した隣接 AS
がわかるようになっています。ですので、基本的には「順番がある」とご理解いただいたら良いかと思います。
デバイスが該当レベル(通知レベル5)のログを記録・表示する設定になっていなければ
別のご質問への回答と同様ですが「ご自身で設問の環境に追加の条件設定をしている」のでこちらについては考慮しません。
インターフェイスがすでに administratively down の状態にある場合に、再度 shutdown コマンドを実行しても、状態の変更がないため
このアプレットの目的は設定内容からして「 up/up となるべきインターフェース GigabitEthernet0/0 が誤って administratively down にされたときに自動で no shutdown を実行して復帰させる」というものと読み取れます。「すでに…の状態」というのは上記同様「追加の条件(特殊パターン)を前提に考えている」のでよろしくないんじゃないかなと思われます。
一方、理由が何であれ、「Interface GigabitEthernet0/0.* administratively down」に該当するSyslogメッセージが出力された
これは誤答選択肢とされている
「Interface GigabitEthernet0/0.* administratively down」というSyslogメッセージが出力された場合のみアクションが実行される
のことでしょうか?
これ解説と選択肢の記述が一致していないので良くわからないのですが、「という」からすると「 .* という文字が含まれる(完全一致する)syslog メッセージ」だと思ったので「そんな syslog あるわけない」と判断したのですが、解説ではそうなっていないのでうーんって頭を抱えています。
何も変更しなかった場合や、
手元の環境で確認しましたが、何も変更しない場合でも出力されました。私の環境がおかしいですかね?工場出荷時設定で起動したのですが以下の状態でした。
Router#show logging | i level
Console logging: level debugging, 27 messages logged, xml disabled, ← debug(0)になっている
Monitor logging: level debugging, 0 messages logged, xml disabled,
Buffer logging: level debugging, 27 messages logged, xml disabled,
Trap logging: level informational, 31 message lines logged
Syslog設定がレベル5以上に設定されていない場合は出力されないため、
こういう前提を勝手に作るのは良くないです。基本的に設問の前提環境は特にことわりがない限り「デフォルト設定かつ、物理接続は正常で no shutdown されている」です。じゃないと例えば「telnet で接続してるのに terminal monitor してない場合はメッセージが出力されないはずだ」とか「インターフェースが up かどうかは書いてないので up じゃないと想定したら正解となる選択肢は存在しない」とかが言えることになり、全ての問題が成り立たなくなってしまいます。
設問にない条件をご自身で設定しないことをお勧めします。
なお、設問の条件は
コンフィグレーションモードから特権モードに戻ること をトリガーとして
なので
トリガーに event none を設定しておけば、 手動でアクションを動かせる
は求められている条件を満たせていないので正答とはならないですね。
「S3 Glacier Flexible Retrievalストレージ」は90日以上保存後に移動可能となる認識ですので、正しくないのでは?と思ったのですがいかがでしょうか。
そのような記述を見つけられなかったのですが、もしかしてこれですか?
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/glacier-storage-classes.html
S3 Glacier Flexible Retrieval ストレージクラスのオブジェクトの最小ストレージ期間は 90 日間です。
お尋ねの設問は「S3 標準に格納→1ヶ月経過したデータを S3 Glacier Flexible Retrieval ストレージに移動」なので、上記の記述とは違いますね。上記の内容は「S3 Glacier Flexible Retrieval ストレージクラスに格納したオブジェクトを 90 日以内に移動させると追加の料金がかかる」という話です。
上記の想定とは異なる場合、ayumu_m さんが根拠とした情報について開示いただけないでしょうか?
自分では「1つ」のトンネル内を「制御メッセージ」と「データ」の2種類が通過するという認識でした。
この認識は間違いでしょうか?
そのように認識された根拠があればぜひ提示していただきたいです。どのドキュメントを参照したとか、そういうのがないと単なるお気持ちにしかならないのでコメントしづらいです…
解説の2つのトンネルというのはここが該当するのかなぁと思います。
Cisco ワイヤレス LAN コントローラ コンフィギュレーション ガイド、リリース 7.6: アクセス ポイント通信プロトコルの使用:データ暗号化の設定
https://www.cisco.com/c/ja_jp/td/docs/wl/wllancntrller/5500wlcntrllers/cg/005/b_cg76/b_cg76_chapter_01100101.html#ID101
1つ目のトンネル
Cisco 5500 シリーズ コントローラにより、データグラム トランスポート層セキュリティ(DTLS)を使用してアクセス ポイントとコントローラの間で送信される CAPWAP コントロール パケット(および、オプションとして CAPWAP データ パケット)の暗号化が可能です。
2つ目のトンネル
CAPWAP データ パケットは転送された無線フレームをカプセル化します。
それぞれ個別にカプセル化されているので「2つのトンネル」ということになるのかなと思います。
man をみてみたのですが表の通りの記載ですね。
$ man cp
<略>
-f, --force
if an existing destination file cannot be opened, remove it and try again (this
option is ignored when the -n option is also used)
ソースコード追うのはちょっと面倒だったのでシステムコールを追って確認しましたが、unlink() (ファイルを削除する Linux カーネルの機能。 https://manpages.ubuntu.com/manpages/focal/ja/man2/unlink.2.html をご参照ください)が呼ばれてることが確認できたので、ちゃんと man やオプションの表の通りですね。
$ id > src
$ date > dst
$ chmod 400 dst
$ ls -l
total 8
-r--------. 1 user user 29 Jan 10 20:45 dst
-rw-rw-r--. 1 user user 129 Jan 10 20:44 src
$ cp src dst
cp: cannot create regular file ‘dst’: Permission denied
$ strace cp -f src dst 2>&1 | grep unlink
unlink("dst") ←ここ
ちなみに
-fは確認も行わず、強制的に上書きする
とありました。
これはどこにあった記載でしょうか?
3つ以上とおっしゃっていますが、基本的には2つのルータ間ですよね。そのための DR/BDR ですし。
以下のドキュメントの Exstart のところを見るとわかるのですが、「プライマリがシーケンス番号を決定する」ことが読み取れると思います。
OSPFネイバーの状態について
https://www.cisco.com/c/ja_jp/support/docs/ip/open-shortest-path-first-ospf/13685-13.html#toc-hId--438911689
この状態では、ルータとそのDRおよびBDRがプライマリ/セカンダリ関係を確立し、隣接関係を形成するための初期シーケンス番号を選択します。 ルータIDの大きいルータがプライマリ になり、交換を開始します。したがって、 シーケンス番号を増やすことができる唯一のルータ です。
ここは解説の通りなんですね。例えば直結した R1-R2 において、 R1 側で R1(config)#cdp holdtime 30 ってすると、R2側ではこんな感じで
R1 の Sending 時間経過後にいきなり Holdtime が変わって見えます。
■ 変更前
R2#sh cdp nei
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
D - Remote, C - CVTA, M - Two-port Mac Relay
Device ID Local Intrfce Holdtme Capability Platform Port ID
R1 Gig 0/1 131 R B Gig 0/0
Total cdp entries displayed : 1
■ 変更後
R2#sh cdp nei
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
D - Remote, C - CVTA, M - Two-port Mac Relay
Device ID Local Intrfce Holdtme Capability Platform Port ID
R1 Gig 0/1 29 R B Gig 0/0
Total cdp entries displayed : 1
https://learningnetwork.cisco.com/s/article/cisco-discovery-protocol-cdp-x をみていただきたいのですが
- CDP Frame Format にある通り、送信する CDP Frame には Time-to-Live のフィールドがあり、そこが「受信した情報をどれだけの時間保持して良いか」を通知する値になっている
- 上記の値は
cdp holdtime {sec}で指定できるSpecifies time limit for which a receiving device should hold information before discarding. Default 180 sec
ですので、ご認識の通り
もし解答通りなら、接続先のホールドタイムを指定できることになるかと思います
接続先のホールドタイムを指定することができる、という挙動で間違いありません。
参考URLの hosts deny にはデフォルト値として「何も拒否しない」と書かれています。
Default: hosts deny = # none (i.e., no hosts specifically excluded)
よって
hosts allowに書かれていないアドレスは接続拒否されると考えてよいことにはなりませんか。
は「なりません」といえますので、「以外からのアクセスを拒否したい」を達成するためには hosts deny の設定が必須ですね。
少なくとも解説の実行例の通りにはなるようですね。
$ docker run --rm --name postgres -e POSTGRES_PASSWORD=postgres -d postgres
720321aa6c7d2cefb46d37adecc3938d34ea2daaff4958b49b309a8186f1edf3
$ docker exec -it postgres psql -U postgres
psql (17.2 (Debian 17.2-1.pgdg120+1))
Type "help" for help.
postgres=# CREATE SEQUENCE sample_seq CACHE 5 NO CYCLE;
CREATE SEQUENCE
postgres=# SELECT setval('sample_seq', 100);
setval
--------
100
(1 row)
postgres=# SELECT currval('sample_seq');
currval
---------
100
(1 row)
postgres=#
この状態で setval() で再度シーケンスの「現在値」を変更したら同じように設定後の「現在値」を返してくれます。
postgres=# SELECT setval('sample_seq', 200);
setval
--------
200
(1 row)
postgres=# SELECT currval('sample_seq');
currval
---------
200
(1 row)
nextval() を呼ぶかどうかが問題なのではなく「シーケンスを作成後に現在値が未設定の場合」に currval() を呼ぶと「現在値がないのでエラーになる」ということです。現在値を設定するには、「nextval() により初期値を取得する」か「setval() により任意の現在値を設定する」かのいずれかだということですね。
■ nextval() で初期化
postgres=# CREATE SEQUENCE sample_seq2 CACHE 5 NO CYCLE;
CREATE SEQUENCE
postgres=# SELECT currval('sample_seq2');
ERROR: currval of sequence "sample_seq2" is not yet defined in this session
postgres=# SELECT nextval('sample_seq2');
nextval
---------
1
(1 row)
postgres=# SELECT currval('sample_seq2');
currval
---------
1
(1 row)
■ setval() で任意の値を設定
postgres=# CREATE SEQUENCE sample_seq3 CACHE 5 NO CYCLE;
CREATE SEQUENCE
postgres=# SELECT currval('sample_seq3');
ERROR: currval of sequence "sample_seq3" is not yet defined in this session
postgres=# SELECT setval('sample_seq3', 35306);
setval
--------
35306
(1 row)
postgres=# SELECT currval('sample_seq3');
currval
---------
35306
(1 row)
どちらかというとデータの通り道を暗号化する印象
ここがよくわからなかったのですが、SSL/TLS によって暗号化されたデータが HTTPS 通信のエンドポイント間で受け渡しされているのであって、「通り道」を暗号化しているわけではないです。
逆に質問で申し訳ないのですが「データの通り道」とは具体的にどういうことをおっしゃっていますか?
SP となっているのは相手側なので、こちら側が Passive だと LACP 構成できないので、Active だというのは特に間違いないのではないでしょうか。
LACP って Passive-Passive だとネゴシエーションできないですよね?
今でもそうかはWindows管理やってないので自信ないですが、Windowsの「ドメイン」の管理においては
- ドメインに参加している「コンピュータ」の情報(コンピュータアカウント)
- ドメインで管理している「ユーザー」の情報(Sambaアカウント)
- 共有を提供している「サーバ上のユーザー」の情報(Linux アカウント)
が必要になるんですよね。
Windowsドメインの管理対象が pdbedit で作成、編集されるものであり、共有にアクセス可能なユーザーはサーバ上の Linux ユーザーに紐づけられるのでそれも必要、という話かと。
クラスBは172.16.0.0/12 (172.16.0.0 ~ 172.31.255.255)
これは正しくは「クラスBプライベートアドレスの範囲」であって、「クラスBアドレス」ではないですね。
クラスBアドレスとは参考にもあるように「先頭の2ビットが 10 である、第2オクテット(16ビット)までがネットワーク部となるアドレス」のことですん。例えば以下のものがクラスBアドレス(とネットワークアドレス)です。
- 128.100.100.100(128.100.0.0/16)
- 172.20.10.20(172.20.0.0/16)
- 190.0.0.254(190.0.0.0/16)
で、この設問では以下のことを問われています。
クラスBアドレスを255.255.255.0を使用してサブネット化すると、使用できるサブネット数と1つのサブネット内で使用できるホスト数は
ネットワークアドレスが 16 ビットなものを 255.255.255.0(24 ビット)でサブネット化するということは、24-16 で 8 ビット分がサブネットに使われるものですので「サブネット256」、ホストアドレス部は32-24=8なので同様に8ビットで「ホストアドレス部254(ネットワークアドレスとブロードキャストアドレスの2を引いた)」となりますね。
キーポイントとしては
会社は今後、Webサイトを複数言語に対応させて、 世界中に 製品を販売していく予定である。
世界中のユーザー に対して、製品カタログを 高速に配信する にはどうすればよいか。
から「世界中に」「高速に」とある部分ですかね。この時点で世界各地にキャッシュされて高速に配信されることが期待される CloudFront が正解なのかなというのは想像はつくというのはご認識されていると思います。一方でこの問題の回答に対する疑問として「動的コンテンツ」を CloudFront で扱う理由がわからないということなのだと思うのですが、まず今は多くの CDN (Contents Delivery Network) で動的コンテンツの配信をサポートしています。参考 URL の1つ目もそうですが、他にもありますね。
https://aws.amazon.com/jp/cloudfront/dynamic-content/
https://www.cloudflare.com/ja-jp/learning/cdn/caching-static-and-dynamic-content/
https://www.stream.co.jp/blog/blogpost-36616/
https://learn.microsoft.com/ja-jp/azure/cdn/cdn-dynamic-site-acceleration
https://www.fastly.com/jp/blog/serving-truly-dynamic-content-with-a-modern-cdn-and-edge-first-delivery
理由としては本当にシンプルで「動的に生成するコンテンツのためにオリジンに取りに行っていては遅くて仕方がない」から、ですかね。いかにオリジンにデータをとりにいかず、ユーザーにはエッジからの配信だけで完了させるかが高速化のポイントなので、CloudFront を含む CDN がサポートしているのにその機能を使わないのはもったいないとも言えるかなって感じですね。
問題へリンクしてもらえれば問題文や選択肢を全部転記いただく必要がないので楽ですよ。
で、転記ミスでなければという前提ですが
プログラムの設定ファイルを格納するディレクトリとして適切なものは次のうちどれか。
設定ファイルは bin じゃなくて etc に格納するので別に何もおかしくないと思うのですが、 bin が正解だと思った理由を教えていただけないでしょうか?
参考に記載がありますが、そもそも「(攻撃者が詐称している)情報が本当に正しいか」をチェックするのが目的なのですよね。そのために事前に「正しい情報」がスイッチに存在しているわけです。
IPアドレスとMACアドレスの対応は「DHCPスヌーピングバインディングデータベース」や、手動で作成したバインディングデータベースを使用して確認します。
つまり、
攻撃者が送るARPリプライの場合、MACアドレスは一致しますよね
バインディングデータベースに存在する情報と一致しない情報であれば不審なものとして扱う、ということなので、攻撃者が「俺は正しく回答してるよ」って言ってもスイッチとしては「俺の持ってる情報とは違うからその自己申告は信用しない」というものとご理解いただくのが良いかなと思います。