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

助け合いフォーラムの投稿
2023/07/31 コメント
マウントオプションのdefaultの内容の確認方法
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/storage_administration_guide/ch-xfs > デフォルトの atime 動作は relatimeです。 > XFS では、デフォルトで Relatime がオンになっています。正常な atime 値を維持したまま、noatime と比較してオーバーヘッドはほぼありません。
2023/07/30 返信
findでのメタキャラクタの説明について

findコマンド内の '*.f' は、どの様に理解すればよいでしょうか。

findに渡す検索文字列です。manにもこの文字列はシェルが理解するメタキャラクタによってマッチするものと記載されています。

Base of file name (the path with the leading directories removed) matches shell pattern pattern.

[user@localhost ~]$ man find | grep -A 11 -- '-name pattern'
       -name pattern
              Base of file name (the path with the leading directories removed) matches shell pattern  pat‐
              tern.   Because  the  leading  directories are removed, the file names considered for a match
              with -name will never include a slash, so `-name a/b' will never match anything (you probably
              need  to  use -path instead).  A warning is issued if you try to do this, unless the environ‐
              ment variable POSIXLY_CORRECT is set.  The metacharacters (`*', `?', and `[]') match a `.' at
              the  start  of the base name (this is a change in findutils-4.2.2; see section STANDARDS CON‐
              FORMANCE below).  To ignore a directory and the files under it, use -prune; see an example in
              the  description of -path.  Braces are not recognised as being special, despite the fact that
              some shells including Bash imbue braces with a special meaning in shell patterns.  The  file‐
              name matching is performed with the use of the fnmatch(3) library function.   Don't forget to
              enclose the pattern in quotes in order to protect it from expansion by the shell.
2023/07/30 返信
mount -t ext4 /dev/sr0 /mnt/cdromの投入結果
# mount -t ext4 Rocky-8.8-x86_64-minimal.iso /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
2023/07/30 返信
マウントオプションのdefaultの内容の確認方法
[user@localhost ~]$ man 5 fstab | grep -C 3 defaults

       The following is a typical example of an fstab entry:

              LABEL=t-home2   /home      ext4    defaults,auto_da_alloc      0  2

       The first field (fs_spec).
              This field describes the block special device or remote filesystem to be mounted.
--

              Basic filesystem-independent options are:

              defaults
                     use default options: rw, suid, dev, exec, auto, nouser, and async. ←ここ

              noauto do not mount when "mount -a" is given (e.g., at boot time)
2023/07/30 返信
fsckの-tの指定の要否

質問1について:
メリットは「ちゃんと理解している」ことじゃないですかね。対象のファイルシステムとこれからやろうとしてる操作について間違いなく一致していると自信を持って操作できることじゃないかと。

質問2について
重大な問題が発生するかはお手元のRocky環境でやってみたらいいんじゃないでしょうか?検証せずにただ疑問に思ったから質問するだけになるのはあまりよろしくない傾向かと思います。
加えて、問題解説の内容に関する質問ではなく、学習範囲外や検証すれば良いだけのものについてのご質問が多いように感じます。個人的な空き時間を使って検証して回答したりしてますが、無料の検証サポートしてるわけではないので、単なる疑問(別件のPRIの話とか)や「こうやったらどうなるの?」とかはまずご自身で調査検証されることをお勧めします。

で、実際やったらこうなりました。ファイルシステムが何かをチェックして適切なものをfsckが選択しているようです。

[user@localhost ~]$ dd if=/dev/zero of=test.img bs=1M count=100
100+0 レコード入力
100+0 レコード出力
104857600 bytes (105 MB, 100 MiB) copied, 0.233793 s, 449 MB/s
[user@localhost ~]$ mkfs.ext3 test.img
mke2fs 1.45.6 (20-Mar-2020)
Discarding device blocks: done
Creating filesystem with 102400 1k blocks and 25688 inodes
Filesystem UUID: cac064ee-7b69-4e96-849a-c5f84e4eedca
Superblock backups stored on blocks:
	8193, 24577, 40961, 57345, 73729

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

[user@localhost ~]$ ls
test.img
[user@localhost ~]$ mkdir mnt
[user@localhost ~]$ sudo mount -t ext3 test.img mnt
[sudo] user のパスワード:
[user@localhost ~]$ mount | grep ext3
/home/user/test.img on /home/user/mnt type ext3 (rw,relatime,seclabel)
[user@localhost ~]$ fsck -N -t ext4 /home/user/test.img
fsck from util-linux 2.32.1
[/usr/sbin/fsck.ext3 (1) -- /home/user/test.img] fsck.ext3 /home/user/test.img
[user@localhost ~]$ fsck -N -t ext2 /home/user/test.img
fsck from util-linux 2.32.1
[/usr/sbin/fsck.ext3 (1) -- /home/user/test.img] fsck.ext3 /home/user/test.img
[user@localhost ~]$ fsck -N -t ext3 /home/user/test.img
fsck from util-linux 2.32.1
[/usr/sbin/fsck.ext3 (1) -- /home/user/test.img] fsck.ext3 /home/user/test.img
[user@localhost ~]$ ls /usr/sbin/fsck*
/usr/sbin/fsck         /usr/sbin/fsck.ext2  /usr/sbin/fsck.ext4  /usr/sbin/fsck.minix  /usr/sbin/fsck.vfat
/usr/sbin/fsck.cramfs  /usr/sbin/fsck.ext3  /usr/sbin/fsck.fat   /usr/sbin/fsck.msdos  /usr/sbin/fsck.xfs

蛇足ですが

「-t ext3」は、不要ではないかと思われました。

不要と言われても、学習のためのものだと思われるので、理解できてればこの選択肢自体にはなんの問題もないことはお分かりいただけるかと思います。

2023/07/29 コメント
SIGHUPの効果について
> ご存じの範囲で、教えて下さい。 > 可能であれば、上記質問の回答に該当するデーモンプログラムの > 例(名前)にも言及して頂けますと、大変に有難いです。 すでに上で触れた通りApacheが該当します。ちゃんとリンク先にも「HUP」について記載があります。
2023/07/29 コメント
nice値と優先度の用語について
まさに日本語難しいでしかないと思う話題なのですが、設問はこうです。 > 「test」プログラムを以下のように実行した。testプログラムの優先度は次のうちどれか。 ここが「優先度ではなくnice値であるべき」というのなら同意します。しかし、 > 私の質問意図は、上記の表現が一般的であるとすると > 実際のlpic試験でも、選択肢の19~-20の値のことを > 「優先度」と表現(翻訳)される可能性がないのではないか 上で触れたように > 「nice値がどういうものか→ユーザーが設定できるプロセス実行時の優先度」という話 という説明をしているだけだと理解してるので「nice値→優先度」という内容を「優先度→nice値と言えるならpriorityはなんと表現するのか」という話に持っていくつもりはないです。 また逆に言えばnice値を「nice値」というだけで即全員その意味や機能を理解できてそれ以上説明しないで済むなら「優先度」という表現を使う必要もない、というだけの話です。ですので、初学者誰もが「nice値」だけでその意味を理解できるならおっしゃる通り > 本問題の「優先度」「実行優先度」は、「nice値」に変更/修正すべき も妥当かなと思います。 ただ、解説、参考の「優先度」「実行優先度」をすべて「nice値」に置き換えても、初学者が即座に内容を理解できるとは私には思えませんが、いかがでしょうか?
2023/07/29 返信
nice値と優先度の用語について

日本語難しいですね。
「nice値がどういうものか→ユーザーが設定できるプロセス実行時の優先度」という話をする際に使っているものなので

つまり、「nice値」「優先度」「実行優先度」が同じ意味で使われており
全て、選択肢の19~-20の値のことを指し示しています。

これは別におかしなことを言っているとは思えないです。
一方で

正しい場合、ps -lのPRIは、日本語では、どの様な用語になるのでしょうか。

この問題(ID:3493)では触れられていないPRIの話なので、LPIC Lv1の学習範囲外となりますのであまり掘り下げないことをお勧めします。
簡単にいうと「カーネルが実行中のプロセスに対して割り当てている(プロセススケジューリング上の)プライオリティ値」のことです。
興味があればこの記事に簡単に概要がまとまっているのでご覧ください。
https://medium.com/@chetaniam/a-brief-guide-to-priority-and-nice-values-in-the-linux-ecosystem-fb39e49815e0

2023/07/29 返信
SIGHUPの効果について

1について:
厳密にはちょっと違いますね。 「デーモンプログラムによっては」 と記載されている通り、そのシグナルを受け取ってどう動くかはプログラム次第です。
例えば以下の記事で説明されているのですが
https://qiita.com/Kernel_OGSun/items/e96cef5487e25517a576#sigaction-c-%E8%A8%80%E8%AA%9E-api
SIGINTを受け取った時にどうする、という定義ができています。これと同様にSIGHUPを受け取った時にプロセスを再起動させるのかどうかはプログラムによるということです。

ちなみに、SIGHUPは「ハングアップ」の目的であって、終了させることはあっても起動させるというものではないです。再起動させるかどうかもそのプログラムがどう書かれているかにもよります。例えばApacheの場合は以下ページでシグナルごとの挙動が記載されています。
https://httpd.apache.org/docs/2.2/ja/stopping.html

2について:
上記の通り、「再起動」というのが厳密には正しくないですが、プログラムによって挙動が異なるという点はあっています。

3について:

HUPシグナルでの設定変更の反映は、プログラムごとに仕様を調べ、可能と
わかった場合のみ実施するものであるという理解で正しいでしょうか。

ここは発想が逆かなと思います。1のところでお見せしたApacheの場合でいうと apachectl -k stop とか apachectl -k restart とあるように、基本的には制御コマンドが発行するシグナルを適切に選択してくれるようになっています。それとは別の「学習」という話で「シグナルの種類と主な利用方法」を知るという観点ですので、知っていることでより適切な運用方法を選択できるようになる、ということですね。

あと、1でも記載したように「プログラムを書くときにどのシグナルを受け取ったらどういう挙動にさせるか」という判断の時の基礎知識にもなります。

2023/07/29 コメント
fileコマンドでatimeが更新されない
解決されたようでよかったです。 ご認識の通り、1回目かどうかで変わってくるんですね。なので「全体的な実施手順を開示」していただきたいなというところでした。 そのほかの点についてはすでにtnishita2さんとのやり取りで理解、納得されてるみたいなので私からは特にコメントすることはありません。
2023/07/28 コメント
fileコマンドでatimeが更新されない
はてさて、私と同じ環境ではあると思うのですが、同じ結果になるか確認いただいても良いですか? ``` [root@localhost ~]# cd study/ [root@localhost study]# pwd /root/study [root@localhost study]# findmnt -T $(pwd) TARGET SOURCE FSTYPE OPTIONS / /dev/mapper/rl-root xfs rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota ```
2023/07/27 返信
fileコマンドでatimeが更新されない

うーん、私のところではちゃんと変わりましたが…

[root@localhost ~]# cat /etc/rocky-release
Rocky Linux release 8.8 (Green Obsidian)
[root@localhost ~]# mkdir study
[root@localhost ~]# cd study/
[root@localhost study]# cat /dev/urandom | base64 | head -c 53 > 3705.txt
[root@localhost study]# stat 3705.txt
  File: 3705.txt
  Size: 53        	Blocks: 8          IO Block: 4096   通常ファイル
Device: fd00h/64768d	Inode: 101011101   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2023-07-27 10:31:17.694303902 -0400
Modify: 2023-07-27 10:31:17.699303852 -0400
Change: 2023-07-27 10:31:17.699303852 -0400
 Birth: 2023-07-27 10:31:17.694303902 -0400
[root@localhost study]# file 3705.txt
3705.txt: ASCII text, with no line terminators
[root@localhost study]# stat 3705.txt
  File: 3705.txt
  Size: 53        	Blocks: 8          IO Block: 4096   通常ファイル
Device: fd00h/64768d	Inode: 101011101   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2023-07-27 10:31:53.690778999 -0400 ←変わっている
Modify: 2023-07-27 10:31:17.699303852 -0400
Change: 2023-07-27 10:31:17.699303852 -0400
 Birth: 2023-07-27 10:31:17.694303902 -0400

元々の3705.txtをどう作ったかとかも含めて、全体的な実施手順を開示していただくことは可能でしょうか?

2023/07/26 返信
選択肢の記述に誤り

解説には「属性名:属性値」となり

と言われてるのは解説のこの部分ですよね?

LDIFファイルの基本的な書式は以下のとおりです。
dn:識別名
属性名:属性値
属性名:属性値

ですが、その後に

なお、属性値は、通常UTF-8のテキストで記載しますが、バイナリデータなどの特殊なデータを指定する場合は「属性名::属性値」のようにし、属性値にはBase64でエンコードした値を指定します。

と記載がありますので、正答とされている選択肢はここの記述の通りだと思うのですが、どうでしょうか?

2023/07/26 返信
ASBRへの経路情報を伝えるLSAタイプはどれか。

誤っている可能性があります。

別の質問と同じなのですが、「誤っている」という判断をされた根拠もあわせて示していただけるとありがたいです。

設問は

ASBRへの経路情報を伝えるLSAタイプはどれか。

となっていますが、解説の【LSAタイプ一覧】のタイプ4にまさに「ASBRへの経路情報」の記載がありますが、そうではなくLSA Type 5であるという判断に至った理由が知りたいです。

2023/07/26 返信
RBのIDについて

逆に質問してみるのですが

答えでは、RBが10.1.3.2となっているのですが、実際は10.1.1.2かと思いますが

この理由はなぜですか?
解説の【ルータIDの選出】に従うとルータIDが10.1.3.2となるのは間違いではないと思うのですが、この解説からルータIDが10.1.1.2になると判断されたポイントも教えていただけるとありがたいです。

2023/07/26 返信
grepとgrep -Eまたはegrepの使い分けについて

ここはぶっちゃけていうと「好きに使ったらいい」って話になるかなと思います。
判断基準というのも変ですが、例えば

  • 通常のgrep(BER)では表現が難しい検索文字列を使う必要がある場合なら egrep / grep -E を使うべき
  • 特に考えず、ただ文字列をヒットさせたいだけなら grep で十分
  • あとは好みや「入力文字数」(grepなら4文字ですが、egrepは5文字、grep -Eだと7文字)

なんかでいいんじゃないかなと思います。

ちなみに速度についてはあまり気にしたことないですが、単純な文字の検索程度なら確かにgrepの方が速いのかもしれませんね。Linuxカーネル6.4.6のソース全体に対してkprintという文字列を検索しただけですが、何回か実行してもgrepに比べてegrep / grep -Eの方が数秒遅かったです。

# time grep -r "kprint" * | wc -l
1

real    1m11.317s
user    0m2.010s
sys     0m4.708s

# time egrep -r "kprint" * | wc -l
1

real    1m18.934s
user    0m1.952s
sys     0m4.645s

# time grep -E -r "kprint" * | wc -l
1

real    1m14.637s
user    0m1.943s
sys     0m4.474s
2023/07/25 コメント
EIGRPのauto-summaryについて
> クラス境界の例をいくつか列挙いただいていますが、これはCiscoがどこかのドキュメントでメジャーネットワーク単位として記載しているという理解で正しいでしょうか。 > このCiscoの定義したメジャーネットワークを知らないと 「メジャーネットワーク」という表現に引っかかっているのだと思うのですが、単純にmajorという英単語で考えると良いです。 https://ejje.weblio.jp/content/major --- 意味・対訳 (大きさ・数量・程度など他のものと比較して)大きいほうの、より大きい、過半(数)の、多数の、(地位・重要性などが)よりすぐれた、より重要な、主要な、一流の、(効果・範囲などが)大きい、目立った --- 昔の「クラスフル」なルーティングしか使えなかった時って、経路は基本的に「クラス単位」で扱うものでした。その前提で考えた時 10.1.1.0/24 10.2.1.0/24 は全て所属する上位の「クラスA(8bitマスク)」単位にまとめられることになります。この時の「上位、より大きい」の意味でmajor networkと表現されているだけですね。 そういう意味で、「ネットワークアドレスが属するクラス単位」=「上位となる(majorとなる)ネットワーク」と考えていただければ良いかなと思います。 ちなみに、上記リンクの中で言及されてるのはここです。カッコの中の「ネットワーク」を「クラス」と理解してもらえればOKです。 > デフォルトでは、メジャーネットワーク(ネットワーク A、B、および C)の境界で集約を実行するために EIGRP が使用されます。
2023/07/15 返信
適切な対応について

設問のここの話ですね。

検索クエリの同時実行数が増えてもパフォーマンスが低下しないようにしたい

オートスケーリングって基本的に「負荷が上昇している」ときにリソースを増やして、「負荷が下降している」ときにリソースを減らすものですよね。DBアクセスにおいて負荷が上がる時って「追加、更新、削除」といったデータの変更に伴うCPUやDiskアクセスが増える場合か「変な検索によってストレージから大量にデータを読み出す」必要がある時なんですよね。ですが設問の状況は「検索クエリの同時実行数が増え」る場合なので、負荷が上がることよりも同時に処理できる数を増やすのが良いかなと。負荷が上がらず、でも同時接続、同時実行は多いという状態だったらオートスケーリングがなかなか発動しなくて効果がないこともありうるかなと思います。

例えばの話ですが

  • 自動改札機は1人処理する単位時間や負荷は大きくないので、利用者が多いことがわかっているのであれば最初から多く設置しておく
  • みどりの窓口は負荷が低い時は1人でやってるが、それぞれの対応ごとにやることや発見枚数や実施する作業が異なるので、負荷が高くて処理待ち(行列)ができたら都度対応者を増やしたり減らしたりする

というのに近いのかなぁと。

2023/07/15 コメント
なぜサーバー宛の全アクセスが拒否されるか
そうですね。参考に以下の記載がありますよ。 ----- 【ACLのルール】 ・条件文の上から順に確認する ・条件に一致した場合は、その指示(permit/deny)に従って処理をして、それより下の条件文は確認しない ・条件文の最後には暗黙のdenyが存在する ・ACLを適用しているルータ自身が発信するパケットは処理対象外
2023/07/15 返信
「各ルータのプライオリティはデフォルトである」からpriorityを変更するという選択肢へ至る考え方について

日本語的な問題ですねぇ。

この問題の「各ルータのプライオリティはデフォルトである。」という一文から、「priority値は変更してはいけない」という条件かと思ってしまいました。

これは単に「現在の状態を表している」だけじゃないですかね。設問の環境について「いや、R1やR2でpriorityがすでに変えられている可能性があるから、priority変更が有効とは限らない」みたいに勝手に想像して判断されたら答えがどれも正解になりうるからつけてる情報じゃないかと。
そもそも設問の文の構成は「この状況において、最適な方法はどれか。なお("OSPFプロセスの扱い方について" また "現在のプライオリティの状態")である」という形なので、「変更してはならない」と読み取るのはちょっと無理があるかなと思います。
変更してはならないという意図なら「また、各ルータのプライオリティはデフォルトのままとする」とかいう表現になるんじゃないかなと思います。
※まさにmadokaabiさんの言われている「問題文の書きっぷりがいけてない」という話ですね。

選択肢にある、「R1のルータIDを「1.1.1.1」にする」を実施した後、「R1およびR2のOSPFプロセスは同時に起動やリセットされるものとする」という条件であれば

これも問題文の表現が変だなぁって話だと思いますが、「R1とR2でOSPFプロセスを起動、リセットする場合は"同時に実施する"」という話じゃないかなと。「設定変更と同時に(起動やリセット)する」とは書いてないですし、R1とR2で設定変更するタイミングがずれてたら(というかそれが割と当たり前ですが)その実施順番で起動、リセットするタイミングが変わるのでそれはそれで困ったことになります(後述)。

この条件付けは単に「起動、リセット後に実行されるDR/BDR選出プロセスが同時に実行されるようにする(片方が先に選出プロセスを完了させてしまっているので、後で実行した側は選出プロセス決定後に参加する形になるので設定によらず意図的にDRを変えられるため)」という「こういうやり方もあるじゃん!」を避けるためかなと思います。
この話はここ見るとわかりやすい記述があります。
https://atnetwork.info/ccna1/ospf3.html

DRの選出は次のルールで決まります。ただし、必ず、期待通りにDR、BDRが選出されるわけでは、ありません。ルータの電源を入れるタイミングも影響してきます。 OSPFのプロセスが起動するまでの間に、既に他のルータがDRに選出されている場合、後から起動(追加)したルータは、いくら、ROUTERID、優先度が高くとも、既に選ばれているDRがダウンするまでDRになれません。

ちなみに

選択肢にある、「R1のルータIDを「1.1.1.1」にする」を実施した後、「R1およびR2のOSPFプロセスは同時に起動やリセットされるものとする」という条件であれば、こちらが正解となるかと思いました。

これは間違ってはないです。最適ではないですが。
設問はあくまで「常にR1がBDR(他のルータがDRになれたら良い)」であって「常にR2がDR(R2が誰にも負けない)」ではないので、ルータIDによる選出でR1がR2に負けるようにするというのも1つのやり方です。ただしルータIDは「OSPFドメインにおいて一意にする必要がある」という前提がありますので「あ、設計上邪魔だな。こいつのルータID変えよ。」ってのはネットワーク的には動くけど、当初設計を変えることへの影響度を考慮すると「最適」ではないと考えられます。
まぁだからpriorityの方が選出プロセスの優先度が高いってことなんだと思います。何かあってもプライオリティ変更すればrouter-id変更する必要がないので。

一意のIDとして使用すべきものを変更するよりも先にできることがあるなら、そちらを優先的に選択するというのが「最適」の判断ポイントになると思いますよ。

2023/07/14 返信
EIGRPのauto-summaryについて

RAに設定されたauto-summaryはRAがEIGRPで広報すると指定した経路を集約する機能だと理解しています。
RAからRBに対して172.16.0.0/16を広報したようですが、これは何と何の経路を集約したのでしょうか?

指定した経路「を」集約するのではなく、指定した経路「に」集約すると理解された方が良いかと思います。
また、 auto-summary は「クラス境界(メジャーネットワーク)を超えるときに、メジャーネットワーク単位に自動的に」集約するものです。クラス境界の例としては

  • 10.0.0.0/8
  • 172.16.0.0/16
  • 172.17.0.0/16
  • 172.31.0.0/16
  • 192.168.0.0/24
  • 192.168.255.0/24

などがあります。
172.16.1.0/24 は 172.16.0.0/16 に含まれますので、「172.16.0.0/16に自動的に集約」されます。自分で意図した範囲に集約する場合は ip summary-address eigrp を使います。

この問題の説明は、以下のシスコのドキュメントも参考になるかと思います。
https://www.cisco.com/c/ja_jp/support/docs/ip/enhanced-interior-gateway-routing-protocol-eigrp/118974-technote-eigrp-00.html#anc62

2023/07/09 返信
”verify-availability”をつけるのとつけないとでどう違うか

set ip next-hop に”verify-availability”をつけるのとつけないとではどう違うのでしょうか?
例えば下記のような形だと”verify-availability”をつけていた回答の形と異なる動作をするのでしょうか?
set ip 172.16.21.3 5 track 1
set ip 172.16.31.4 15 track 2

そもそもそういう設定はできないっぽいですよ。コマンドリファレンスによると、 verify-availability のオプションとして track 指定ができるみたいで、単独の指定は出来なさそうに読めます。
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_pi/command/iri-cr-book/iri-cr-s1.html#wp3480887648

IOS-XEですが、実機で見るとこういう感じでした。

csr#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
csr(config)#route-map A
csr(config-route-map)#set ip ?
  address      Specify IP address
  default      Set default information
  destination  Summary address to advertise
  df           Set DF bit
  global       global routing table
  next-hop     Next hop address
  precedence   Set precedence field
  qos-group    Set QOS Group ID
  tos          Set type of service field
  vrf          VRF name

csr(config-route-map)#set ip next-hop ?
  A.B.C.D              IP address of next hop
  dynamic              application dynamically sets next hop
  encapsulate          Encapsulation profile for VPN nexthop
  peer-address         Use peer address (for BGP only)
  recursive            Recursive next-hop
  self                 Use self address (for BGP only)
  unchanged            Propagate next hop unchanged
  verify-availability  Verify if nexthop is reachable

csr(config-route-map)#set ip next-hop 1.1.1.1 ?
  A.B.C.D  IP address of next hop
  force    Use force for for-us traffic
  <cr>     <cr>

csr(config-route-map)#set ip next-hop 1.1.1.1
2023/07/03 返信
VPNv4アドレスの一意性について

VPNv4アドレスはネットワーク内、つまりMP-BGPのPEルータ間で一意性を持たせる必要はないという理解をしています。

VPNv4アドレス自体は一意性を持たせるのが必要だとは思います。というのは、VPN関係ない一企業のWAN接続のイメージでいう「異なる支店が同じネットワークアドレスをもち、それを広報する」のが適切かという話です。
さらにいうと、PEが管理するVPNv4アドレスには「異なるVPN(利用者)で同じネットワークアドレス(例:192.168.1.0/24)」というものが存在しうるので、各PEで異なるRDを使用することで「ユーザーのネットワークアドレスが重複していてもPEごとに必ず異なるVPNv4アドレスにできる」というのが実現できるわけですね。
「どのPEの配下のどのユーザーのネットワークアドレス」かが特定できるようにするためにVPNv4アドレスが一意になるようにするべきだということです。

ネットワーク内で合わせるべきなのは、RT値やVPN識別ラベルであり、
その情報を用いて、もしPEルータ間でVPNv4アドレスに差異があっても整合性を持たせているという理解をしております。

ここはちょっと違いますね。
RTはBGPのコミュニティ値であって「特定のVPNv4アドレスに対して設定して広報する」際に付与するものであり、必須でつけるべきものではないので「合わせるべき」かどうかは悩ましいですね。合わせるのであれば「VPN/拠点」を識別する目的で揃える感じですかね。例えば「A社の本社とデータセンター」を意味するRT「65000:1」は本社の接続するPEのRD(1:1)とデータセンターが接続するPEのRD(2:1)で広報するA社のプレフィックスには付与するが、A社のデータセンターが接続するPEに接続するB社の本社のRD(2:2)には付与しない(もしくはRT:65000:2を付与するとか)ってやったりします。
そうすることで、今度はA社の支社Xでは「RT:65000:1」が付与されたVPNv4プレフィックスのみを取り込むとかの制御が可能になります。(単純な例ですが、割り当て方やimport/exportの仕方で色々変えることができます)

あ、ちなみにVPN識別ラベルは「各PEが広報する、PEに属するVRF配下のプレフィックス=VPNv4プレフィックス」に対して付与されるものですので、そういう意味でもVPNv4プレフィックスが「一意」になるべきだということにつながります。

つまり、対向のPEルータでも同じRD値を用いる必要はないはずだと私は理解しています。

そうですね、異なるPEでRDを揃える必要はないといえばないですが「VPNv4アドレスが一意となるように」は意識すべきかなと思います。じゃないと「同じプレフィックス(同一VPNに属するネットワーク)が異なるPE上に複数存在する」ということを許容することになってしまいますので…

これは実機で検証するとわかりやすいのですが、ちょっと時間がかかるので…時間が取れて、まだこの議論が続いてるようならサンプル出しますね。

2023/06/29 返信
RSTPのIFとSTPのIFを接続した場合の動作に関して

RSTPがSTPの上位互換だから、RSTPが下位の状態に遷移するというような考え方でしょうか?

そうですね。その認識で良いと思います。

これはすべてのCiscoスイッチでの仕様でしょうか?

全てのCiscoスイッチというか、そもそもIEEE 802.1D/wといった標準規格の話なのでこの規格に準拠した機器ならどれも同じ動作をするかと思います。

戻る