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

助け合いフォーラムの投稿
2025/01/08 返信
CDPのホールドタイムについて

ここは解説の通りなんですね。例えば直結した 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

ですので、ご認識の通り

もし解答通りなら、接続先のホールドタイムを指定できることになるかと思います

接続先のホールドタイムを指定することができる、という挙動で間違いありません。

2025/01/07 返信
hosts deny = 0.0.0.0/0 は必須なのか

参考URLの hosts deny にはデフォルト値として「何も拒否しない」と書かれています。

Default: hosts deny = # none (i.e., no hosts specifically excluded)

よって

hosts allowに書かれていないアドレスは接続拒否されると考えてよいことにはなりませんか。

は「なりません」といえますので、「以外からのアクセスを拒否したい」を達成するためには hosts deny の設定が必須ですね。

2025/01/04 返信
シーケンス操作関数について

少なくとも解説の実行例の通りにはなるようですね。

$ 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)
2025/01/04 返信
SSL/TLSの暗号化の範囲について

どちらかというとデータの通り道を暗号化する印象

ここがよくわからなかったのですが、SSL/TLS によって暗号化されたデータが HTTPS 通信のエンドポイント間で受け渡しされているのであって、「通り道」を暗号化しているわけではないです。
逆に質問で申し訳ないのですが「データの通り道」とは具体的にどういうことをおっしゃっていますか?

2024/12/22 返信
activeモードですか?

SP となっているのは相手側なので、こちら側が Passive だと LACP 構成できないので、Active だというのは特に間違いないのではないでしょうか。
LACP って Passive-Passive だとネゴシエーションできないですよね?

2024/12/19 返信
コンピュータアカウント、Linuxアカウント、Sambaアカウント

今でもそうかはWindows管理やってないので自信ないですが、Windowsの「ドメイン」の管理においては

  • ドメインに参加している「コンピュータ」の情報(コンピュータアカウント)
  • ドメインで管理している「ユーザー」の情報(Sambaアカウント)
  • 共有を提供している「サーバ上のユーザー」の情報(Linux アカウント)

が必要になるんですよね。
Windowsドメインの管理対象が pdbedit で作成、編集されるものであり、共有にアクセス可能なユーザーはサーバ上の Linux ユーザーに紐づけられるのでそれも必要、という話かと。

2024/12/15 返信
使用できるサブネット数

クラス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を引いた)」となりますね。

2024/12/15 返信
CloudFrontで動的コンテンツを配信する理由がわかりません

キーポイントとしては

会社は今後、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 がサポートしているのにその機能を使わないのはもったいないとも言えるかなって感じですね。

2024/12/12 返信
問題の問いに対する正解が誤っていないかご確認頂けますでしょうか。

問題へリンクしてもらえれば問題文や選択肢を全部転記いただく必要がないので楽ですよ。

で、転記ミスでなければという前提ですが

プログラムの設定ファイルを格納するディレクトリとして適切なものは次のうちどれか。

設定ファイルは bin じゃなくて etc に格納するので別に何もおかしくないと思うのですが、 bin が正解だと思った理由を教えていただけないでしょうか?

2024/12/09 返信
ip arp inspection validateの検査について

参考に記載がありますが、そもそも「(攻撃者が詐称している)情報が本当に正しいか」をチェックするのが目的なのですよね。そのために事前に「正しい情報」がスイッチに存在しているわけです。

IPアドレスとMACアドレスの対応は「DHCPスヌーピングバインディングデータベース」や、手動で作成したバインディングデータベースを使用して確認します。

つまり、

攻撃者が送るARPリプライの場合、MACアドレスは一致しますよね

バインディングデータベースに存在する情報と一致しない情報であれば不審なものとして扱う、ということなので、攻撃者が「俺は正しく回答してるよ」って言ってもスイッチとしては「俺の持ってる情報とは違うからその自己申告は信用しない」というものとご理解いただくのが良いかなと思います。

2024/11/29 コメント
問題文誤り?
これ私もイメージ掴むの大変だったのですが、こういう捉え方してなんとか覚えました。 - 「最低」限知っておかないといけない重要な情報=Emergency(電源切れたとか、まともに動かないこと)を意味する=最低なので0 - 得られる情報を「最大」限出力する=開発者には有益な(Debug)情報だが通常利用には全く役に立たないどころか情報量が多すぎて重要なEmergencyとかが埋もれるレベル=最大なので7 - 7は6-0までもすべて出力する(出せる情報は全部含める) - 0は0だけしか出さない(余計な情報を含めない) - ということは、例えば4なら3-0までが含まれる
2024/11/28 返信
mkfsとmke2fsの違いについて

この過去の投稿は参考になるでしょうか?
https://mondai.ping-t.com/g/posts/1176

2024/11/27 返信
uniqコマンドについて

uniqコマンドはデフォルトだと「重複している行を表示」だと認識しており

あれ?解説や参考には、 uniq コマンドの機能として

連続して重複した行を1行にまとめて表示する

と記載されているのですが、こちらについてはどのように理解されていますか?

また、問題文の「重複行を除き」は「重複した内容を出力しない」という意図かなと思っているので

重複していない行を表示

というのはちょっと違うかなぁと思います。(とはいえ、こういう誤認を避けるためには「除き」→「取り除き」の方が良いのかなとは思います)

2024/11/27 コメント
sedコマンドの変換について
問題の答えを X00 000 と間違えたのですが、なぜ正解のようになるのでしょうか。また、試しに sed s/rr/0O/i X00 00r から元に戻すために sed s/r/O/i と打ち込んだところ Xrr Rrr と元に戻りました。 ありがとうございます。理解できました。 sed コマンドはそのままではファイルの内容を置き換えないんですよね。 ``` $ cat > file Xrr Rrr $ sed s/r/0/i file X0r 0rr $ cat file Xrr Rrr ``` ですので、「元に戻った」のではなく「もともと変わっていない」fileの内容に対して、「マッチした最初の0をrにせよ」という命令をしたところで、どこにも"0"が存在しないので元に戻ったように見えているだけですね。 ``` $ cat file Xrr Rrr $ sed s/0/r/i file Xrr Rrr ``` --- 自己解決されたということなのでここからはあまり意味がないことかなと思いつつ、参考までに記載します。 問題は ``` Xrr Rrr ``` を `sed s/r/0/i` することでどうなるかというものですが、まず最後の「i」によって「大文字小文字を区別しない」という動作指定をしているので、命令としては「最初にマッチしたRまたはrを0にせよ」なので、「Xrr→X0r」「Rrr→0rr」になるというものです。間違えたパターンは「"すべての"Rまたはrを0にせよ」となっているので、gとiが指定された場合なのですよね。 ``` $ echo Xrr | sed s/r/0/gi X00 $ echo Rrr | sed s/r/0/gi 000 ```
2024/11/26 返信
sedコマンドの変換について

手元の環境でやってみてもおっしゃるように元に戻らないのですが、実行したコマンドを省略せず記載していただくことは可能でしょうか?

$ echo X00 | sed "s/r/0/i"
X00
$ echo X00 | sed "s/0/r/i"
Xr0
$ echo X00 | sed "s/0/r/"
Xr0

$ echo 00r | sed "s/0/r/i"
r0r
$ echo 00r | sed "s/r/0/i"
000
2024/11/25 コメント
nice --20 test は正解ですか?
> 「 --20」ではなく、「-20」nice値として読む はい、そういうことです。 -(nice値) なので、nice値を「-20」とするなら書式としては「--20」となる、ということですね。
2024/11/25 返信
nice --20 test は正解ですか?

「--20」ということではないでしょうか?(そういう質問では無いですかね?)

2024/11/25 返信
NULLを含むデータのcount(*)の結果について

念のための確認なのですが、お手元の環境で以下のSQLを実行したらどうなりますか?

select id from club where name IS NULL;
select id from club where name IS NOT NULL;

ここで 2, 1, 3, 5, 7 が返ってくるので間違い無いですよね?

2024/11/18 コメント
スタティックルートでインターフェースのみを出力と指定できる条件について
上記例の補足です。例えばこういうことです。 --- R1: interface FastEthernet0/0 description To-RT2 Fa0/1 ipv6 address fe80::2 link-local no shutdown interface GigabitEthernet0/0 description To-RT3 Gi0/1 ipv6 address fe80::3 link-local no shutdown R2: interface FastEthernet0/1 description To-RT1 Fa0/0 ipv6 address fe80::1 link-local no shutdown R3: interface GigabitEthernet0/1 description To-RT1 Gi0/0 ipv6 address fe80::1 link-local no shutdown
2024/11/18 コメント
スタティックルートでインターフェースのみを出力と指定できる条件について
> リンクローカルアドレスはルータのI/F複数に持たせることができるため、そのIPアドレスを指定するだけではルータは出力するI/Fを決定できず(再帰的にIPアドレスから出力I/Fを解決できない)パケットを送ることができないと、自分の中で勝手に想像していたからでした。 あー、そういうことですね。 まぁシンプルにいえば「リンクローカル=ケーブルの端点のアドレス」であり異なるリンク上であれば同じアドレスを割り当てることも可能なので、出力インターフェースの指定が必須という話ですね。 例えば R1-R2 / R1-R3 というリンクがあった場合、R2とR3それぞれが fe80::1 というアドレスを持つことが可能なので、どちらのインターフェースから出した相手なのかをアドレスからだけでは特定できないから、ということです。 また、同じルータに同じアドレスを振ることも何の問題もありません。例えば --- interface FastEthernet0/0 ipv6 address fe80::1 link-local no shutdown interface GigabitEthernet0/1 ipv6 address fe80::1 link-local no shutdown --- という設定も何も問題はないです。
2024/11/17 コメント
スタティックルートでインターフェースのみを出力と指定できる条件について
A1: これは「完全指定」の形式なだけです。「サブネットが重複」の意味するところがよく分からないのですが、リンクローカルな接続先を明示的に指定しているだけかなと思います。 A2: リンクローカルな相手ではなく、グローバルユニキャストアドレスを指定した「再帰」の形式なだけですね。ご認識の通り「指定することも設定上できる」ものです。 A3: 最初の返信が記述不足だったのですが「ポイントツーポイント(インターフェース)かは排除条件にならない」です。Ethernetインターフェース直結の場合だと、インターフェースはブロードキャストですが接続形態としてはポイントツーポイントなので、この形式でも何の問題もありません。 特にA3ですが、ルータ間やスイッチ間をEthernetインターフェースを1本のケーブルで直結することは普通にあるので、その場合にネクストホップアドレスを指定するのは必須ではない、というだけの話です。
2024/11/16 返信
本問の問題文中のaccess記述例にて 2行目以降の先頭にスペースが入っていない。

動作確認したりしてないのですが、スペースがないと何か問題なんでしたっけ?

2024/11/16 返信
スタティックルートでインターフェースのみを出力と指定できる条件について

4 のようなことはできます。Ethernet 系のインターフェースでも指定可能ですよ。
「どのインターフェースから出力するか」の指定であって、ポイントツーポイントかは排除条件にならないです。

2024/11/16 返信
ネットワークルートでアドバタイズさせる理由
  1. 到達性はありますね。
  2. ネットワークルートでアドバタイズしたいかどうかは要件次第な気がしますね。例えば検証のためにホストルートではなくネットワークルートがアドバタイズしたいとか。
戻る