arashi1977さんの助け合いフォーラム投稿一覧
問題文って
以下の実行結果より、時刻同期先になっているアドレスはどれか
のことですよね?この中に
問題文には"”ついてました。
と言うことですか?(それともMarkdown書式で「*
」が消えているだけ?)
もし *
のことを言われているのであれば「*
が(IP)アドレスに含まれるのか」ということかと思いますが、IPアドレスには「*
」は使用できないので付けることで不正解となるのは問題ないと思います。
また、問題IDまでは確認してませんが、「*
は時刻同期先として選択している」と言う意味の識別情報ですので、同期先のアドレス以外の情報も含めているという意味でも不正解になるかなと思います。
「grep -E 'bu?!' test.txt」
のことですかね?
「bu?!
」は「拡張正規表現」を使って記載された文字列なので、grepは「拡張正規表現」として理解している、と言うだけですよ。
ちなみに、
シングルクォートで囲むと全てが文字列扱い
と言うのは、grepにとってではなく「シェル(多くはbash)」にとってなので、「誰がどう扱うことでどう見えるのか」をきっちり理解しておくのが良いと思います。
まず「何を条件に指定できるのか」と言うのが根本にあるのですよね。IPパケットのレベルで考えるのなら「IPヘッダ」ですし、TCP/UDPの場合は「TCP/UDPヘッダ」です。その中に何が情報としてあるのか、と言うのがわかっていればそんなに悩むことはありません。
(まぁ基本として「送信元」「宛先」アドレスが条件に含まれるのでここでは触れません)
IPプロトコルの場合は
Router(config)#access-list 100 deny ip any any ?
dscp Match packets with given dscp value
fragments Check non-initial fragments
log Log matches against this entry
log-input Log matches against this entry, including input interface
option Match packets with given IP Options value
precedence Match packets with given precedence value
time-range Specify a time-range
tos Match packets with given TOS value
ttl Match packets with given TTL value
<cr>
とありますが、これは https://ja.wikipedia.org/wiki/IPv4#%E3%83%91%E3%82%B1%E3%83%83%E3%83%88 にあるようにIPヘッダに含まれている情報にフィルタ条件が指定できることがわかります。
他も同じことですね。上位層プロトコルというかTCP/UDP/ICMPヘッダにある情報がなんでも指定できると言うだけです。
Router(config)#access-list 100 deny tcp any any ?
ack Match on the ACK bit
dscp Match packets with given dscp value
eq Match only packets on a given port number
established Match established connections
fin Match on the FIN bit
fragments Check non-initial fragments
gt Match only packets with a greater port number
log Log matches against this entry
log-input Log matches against this entry, including input interface
lt Match only packets with a lower port number
neq Match only packets not on a given port number
option Match packets with given IP Options value
precedence Match packets with given precedence value
psh Match on the PSH bit
range Match only packets in the range of port numbers
rst Match on the RST bit
syn Match on the SYN bit
time-range Specify a time-range
tos Match packets with given TOS value
ttl Match packets with given TTL value
urg Match on the URG bit
<cr>
Router(config)#access-list 100 deny udp any any ?
dscp Match packets with given dscp value
eq Match only packets on a given port number
fragments Check non-initial fragments
gt Match only packets with a greater port number
log Log matches against this entry
log-input Log matches against this entry, including input interface
lt Match only packets with a lower port number
neq Match only packets not on a given port number
option Match packets with given IP Options value
precedence Match packets with given precedence value
range Match only packets in the range of port numbers
time-range Specify a time-range
tos Match packets with given TOS value
ttl Match packets with given TTL value
<cr>
Router(config)#access-list 100 deny icmp any any ?
<0-255> ICMP message type
administratively-prohibited Administratively prohibited
alternate-address Alternate address
conversion-error Datagram conversion
dod-host-prohibited Host prohibited
dod-net-prohibited Net prohibited
dscp Match packets with given dscp value
echo Echo (ping)
echo-reply Echo reply
fragments Check non-initial fragments
general-parameter-problem Parameter problem
host-isolated Host isolated
host-precedence-unreachable Host unreachable for precedence
host-redirect Host redirect
host-tos-redirect Host redirect for TOS
host-tos-unreachable Host unreachable for TOS
host-unknown Host unknown
host-unreachable Host unreachable
information-reply Information replies
information-request Information requests
log Log matches against this entry
log-input Log matches against this entry, including input
interface
mask-reply Mask replies
mask-request Mask requests
mobile-redirect Mobile host redirect
net-redirect Network redirect
net-tos-redirect Net redirect for TOS
net-tos-unreachable Network unreachable for TOS
net-unreachable Net unreachable
network-unknown Network unknown
no-room-for-option Parameter required but no room
option Match packets with given IP Options value
option-missing Parameter required but not present
packet-too-big Fragmentation needed and DF set
parameter-problem All parameter problems
port-unreachable Port unreachable
precedence Match packets with given precedence value
precedence-unreachable Precedence cutoff
protocol-unreachable Protocol unreachable
reassembly-timeout Reassembly timeout
redirect All redirects
router-advertisement Router discovery advertisements
router-solicitation Router discovery solicitations
source-quench Source quenches
source-route-failed Source route failed
time-exceeded All time exceededs
time-range Specify a time-range
timestamp-reply Timestamp replies
timestamp-request Timestamp requests
tos Match packets with given TOS value
traceroute Traceroute
ttl Match packets with given TTL value
ttl-exceeded TTL exceeded
unreachable All unreachables
<cr>
そして、OSI 7階層モデルで考えると「他のレイヤの情報は見えない」のですから、IP(レイヤ3)のレベルではTCP/UDP(レイヤ4)の情報を識別できない=ACLの条件として利用できない(eq ssh
のような指定はできない)と言うだけのことです。
原則としては「できません」と言うことになりますが、標準/拡張ACLを「名前付きACL」として扱えばできるんですよね。
Router#show access-lists
Standard IP access list 1
10 permit any
Extended IP access list 100
10 permit ip any any
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip access-list standard 1
Router(config-std-nacl)#5 deny any
Router(config-std-nacl)#ip access-list extended 100
Router(config-ext-nacl)#5 deny tcp any any
Router(config-ext-nacl)#end
Router#show access-lists
Standard IP access list 1
5 deny any
10 permit any
Extended IP access list 100
5 deny tcp any any
10 permit ip any any
Router#
解説の最後に
暗黙のdenyによって「192.168.1.0/24」からRouterAへのpingも拒否されるため設問の要件2が満たせません。
って書いてあるのですが、そのままでいい理由はこことは別ですか?
dot1qはtrunkではないのですか?よろしくおねがいいたします。
質問の意図するところがよくわからないのですが、設問の図の Operational Mode: static access
から、解説の通り switchport mode access
が実行されているのは間違いないのですが、そう言うことではないのですかね?
設問では
Cisco DNA Centerを使用したネットワークの特徴と言えるものはどれか(2つ選択)
とあるので、「どのような設定をするかは事前に検証が必要」なのが「DNA Centerの特徴」だといえるのか、が問題ID:8452の意図するところかと思います。
そして、疑問に思われている解説は「SD-Access」の「アンダーレイの構築」の話です。「DNA Center」の特徴を説明したものではありません。
さらに、
ブラウンフィールドで行う場合は、以下の点に注意が必要です。
と、「アンダーレイ構築時にブラウンフィールドで行う場合」と限定した話になっているので、「DNA Centerの特徴」からはどんどん離れていっていると思います。
もし問題ID:8452の設問が
既存のネットワークを強制的にCisco DNA Centerを用いたネットワークに移行させたい。事前に実施すべきことは何か。
と言うものであれば疑問を持たれてもおかしくないと思いますが、あくまで「特徴」を聞かれているのだと理解されると良いのではと思います。
^15$はそれぞれ行頭と行末が1と5という条件なので
12345の行とのみマッチすると考えていましたが違ったのでその理由が知りたいです。
^15$
だと「15」しかマッチしないんですね。
12345とマッチするには「行頭が1」「234とマッチする何か」「行末が5」じゃないとダメなんです。
設問は外部からmail.example.com宛にメールが届くようにとあるのに解答には、外部から「mail.example.com」という名前で接続に来た場合にとあり矛盾している気がします。
疑問点をもう少し噛み砕いていただけると嬉しいです。どう言う点がどう矛盾しているのかが読み取れませんでした。
通信としては
- 外部のSMTPサーバから
mail.example.com
に接続する - 接続後、SMTPによりメールを送信する
と言うシンプルなものですが、ここにDNSが絡んでくると追加の考慮が発生します。例えばGmailの場合だと example@gmail.com
に送ろうと思うと、まず gmail.com
のMXを探す必要が出てきます。(ここが設問のmail.example.com
の部分)
では実際gmail.comがどうなっているかと言うとこうです。(2022/8/29時点)
% dig +short @8.8.8.8 gmail.com mx
40 alt4.gmail-smtp-in.l.google.com.
10 alt1.gmail-smtp-in.l.google.com.
30 alt3.gmail-smtp-in.l.google.com.
20 alt2.gmail-smtp-in.l.google.com.
5 gmail-smtp-in.l.google.com.
gmail.comに繋ぎたいのに、宛先ホスト名が gmail-smtp-in.l.google.com
とかってなってます。じゃあそれは誰かって言うと
% dig +short @8.8.8.8 gmail-smtp-in.l.google.com a
142.251.8.26
142.251.8.26
だとわかります。これでようやくメールを送信するために接続する先のアドレスが142.251.8.26
であり、その際外部からは「@gmail.com」で接続しにいくことになります。
この流れの中で、解説文と照らして疑問に思われている(矛盾していると思われている)のはどのあたりでしょうか?
takizawatさんの理解がうまく読み取れないのですが…
複数の違うIPアドレスに設定させるのがIPマスカレードなはず
これは送信元、宛先のどちらについて言及されているものですか?
考え方としては
- SNATは「受け取ったパケットをNATして”指定されたアドレス”から送信されたように見せかける」ものです。
- IPマスカレードは「受け取ったパケットをNATして”自分のIPアドレス”から送信されたように見せかける」ものです。SNATの特殊パターンと言えますね。
- どちらも指定の仕方(
-s
で指定する対象)で1:1にも1:Nにもできます。
なのですが…
直接接続スタティックルートの場合、自分が隣接しているN/W(同じN/W内)に対してのみルーティングができるイメージなのですが、
これはどうして別ネットワーク(192.168.1.0/24)にルーティングができるのでしょうか?
Point-to-Point接続だから、ですね。
「このインターフェースから出せば受け取った相手がその宛先にルーティングしてくれる」と言う環境なのです。
スイッチから「人が座る机」までの間のケーブルを1本で済ませたいから、というのが一番わかりやすいかもしれません。
これまでPCだけが配備されていたオフィスに「既存のケーブルをそのまま流用してIP Phoneを追加できます!IP Phoneにはスイッチ向けとPC向けのポートがあるので、間に挟む形で設置すれば追加工事を抑えてIP Phoneを展開できます!」って言われたら、追加のケーブル不要で増やせるならいいかなって思って導入されやすくなる、という話かなーと。
単純に、Ciscoの実装がそうなっているからというだけの話ではあるのですが、それだけじゃ面白くないのでRFC 5905とか読んでみると良いかと思います。NTPv4の仕様について定義されているものですが、この中ではキー識別子とメッセージダイジェスト(MD5)が認証に使用されていると書かれてはいますが、SHA-1については言及がありません。(さらにいうと、MD5にセキュリティ的な問題があるのはわかっている、との記載もありますね)
ちなみに、RFC 5906をサポートしていればより強固なNTPセキュリティが担保されるようですが、CiscoではRFC 5906は現時点では実装していないようです。
以下のコマンドを例にすると
ip route 0.0.0.0 0.0.0.0 192.168.1.254 GigabitEthernet0/0
0.0.0.0 0.0.0.0
が「デフォルトルート(0.0.0.0/0
)」192.168.1.254
が「デフォルトゲートウェイ」
です。シンプルにいうと「ルーティングテーブルにない宛先全てに該当する経路情報=デフォルトルート」「デフォルトルート宛のパケットを処理するルータ(などのネットワーク機器、それを表すIPアドレス)=デフォルトゲートウェイ」という関係性です。
例えばスイッチで ip routing
が無効になっている場合はルーティングテーブルが存在しないので、デフォルトゲートウェイを設定しておく(ip default-gateway 192.168.1.254
のような)ことで全ての外部向け通信を特定のアドレスに向けることが可能になるのですね。
お尋ねの正答選択肢のもう一方(認証で使用するポートが変更されている)を掘り下げると見えてきます。
設問の設定では
- スイッチが参照するRADIUSサーバの設定を確認している
- 設定されたサーバのポート番号がそれぞれ認証用:1801, アカウンティング用:1883となっている
- よってスイッチはこの設定を元に、宛先サーバのポート1801, 1883へRADIUS認証用のパケットを送信する
- 宛先となっているRADIUSサーバ側が、標準設定(デフォルト)のままだと、認証用:1812, アカウンティング用:1813で待ち受けるので、1801/1883ポートへパケットが送られても処理できない
- 処理できない=認証結果をスイッチに返さない
- 認証結果が返ってこない=スイッチがRADIUS認証を正しく行えない
という話なので、「サーバ側がデフォルト(標準)のポートを使う設定になっているのに、スイッチ側が標準とは異なるポートへアクセスするようにしたら認証に失敗するよね」ってだけのことかと思います。
デフォルトのSSHサーバ(ポート22番)に、意図的にポート2222とかでSSH接続しようとしても接続拒否される、というのと同じ話ですね。
以前の質問 https://mondai.ping-t.com/g/posts/189 が解決したのかどうかが個人的に気になっていますが、それはさておき。
宛先近くとは一体どういう意味なのでしょうか。
「意味が理解できない」ということなのですが、解説の冒頭にある
- 「標準アクセスリストには」で始まるブロック
- 「拡張アクセスリストには」で始まるブロック
についてどう理解されたかをお尋ねしても良いでしょうか?(解説で説明していることの繰り返しにならないようにするため)
私がループバックと聞くと一例として機器のアドレスが「127.0.0.1」になると思うのですが、
うーん、これって「ループバックアドレス」のことをおっしゃってますか?
https://tex2e.github.io/rfc-translater/html/rfc5735.html
127.0.0.0/8 - このブロックは、インターネットホストループバックアドレスとして使用するために割り当てられます。
で、質問の元になっている「OSPFのループバック」と言われているのは正しくは「Cisco IOS内の論理的なインターフェースであるLoopbackインターフェースに割り当てたIPアドレス」のことではないかと思います。
Loopbackインターフェースも物理インターフェース(GigabitEthernetなど)と同じように、任意のIPアドレスを割り当てることが可能なので、好きなように「1.1.1.1」とか「2.2.2.2」を使ってるだけだと思いますよ。
前半の質問だけならなんとか答えられそうです。
SSLの有効化がなぜポート80では出来ないのかがどこを調べても分からず、、、。
やろうと思えばできますよ、普通やらないだけで。解説にも
SSLでの接続時に使用するHTTPS(ポート443番)
とあるように、「インターネットの世界では特に指定がない場合、HTTPSはポート443、暗号化のないHTTPはポート80を使う」というのが標準(共通認識)なので、サーバ側が「443も80もHTTPS対応にするぜ!」ってやったとしても、クライアント(ブラウザ)が標準に従っている場合、暗号化なしでポート80に接続した場合、サーバが「暗号化通信じゃないのでNG」って接続拒否することになります。
そういうサーバを用意しても「誰もちゃんと繋ぎにこない…」ってなるだけなので、普通はやらない(標準に従う)ってだけのことです。
ポート443はhttpsでSSL有効化されてるからむしろそちらをSSLEngine onにしても素人目線では無駄かと思ってしまいます。
こっちの意図がよくわからないのですが、「ポート443だからと言って、暗号化が自動的に行われる(SSLEngine on
する必要がない)」ということはないので、ポート443側のVirtualHostにSSLEngine On
するのが「標準に従った設定」となりますよ、というぐらいでしょうか…