ネットワークスペシャリスト試験午後対策備忘録

Posted by yonezo in 日記 | Leave a comment

ネットワークスペシャリスト試験の午後対策として令和元年から令和6年までの5年分について解いてみた感想とまとめです。

なんとなくだが、「似たような事を問われてるなぁ」と思った事をまとめてみる。

あとは、「この辺を押さえておいた方が良さそう」といった事についても、結構な量になるがざっくりと。

では行ってみよう。

 

・DNSとかFWとかでの宛先設定方法についてIPアドレスかFQDNか、なぜFQDNにするのか

パターンはいろいろだが、IPアドレスで指定すると変更された場合に設定をその都度変更する必要があり、運用の手間がかかる。

それを回避するためにFQDNでの設定を行う方が良いというような事を書かせる問題が散見されたように思う。


・負荷分散の方法について、IPアドレスなど固定の情報に基づく方式か、セッションによる方式かでどちらの方が状況に即しているかなどを問う問題

これもいろいろなパターンで問われた印象だが、IPアドレスのような固定のパラメータによる負荷分散だと負荷が偏ったり、そもそも分散されないなどの問題が出てくるため、それ以外の方法を採用するケースについて問われる。セッションによる方法の他にもhash値による分散などがあったような気がする。

いずれにしても負荷分散、経路分散について出来るだけ偏りのない方法がどれなのかを判断できるようになっておく必要がある。


・FWについてのポリシーベースルーティングに関する内容を問う問題

FWによって経路を意図したものに振り分けたりする場合の設定方法について問われる問題がある。

ポリシーベースルーティングによって設定によりどのようなパケットをどのような経路に向けるかを答えられるようにしておく。


・DHCPスヌーピングの2つの役割を答えさせる問題

不正なDHCPサーバを接続してIPアドレスを振り出す事を防止する事と、固定のIPアドレスを割り当てた場合に通信をブロックする役割がある事について把握しておく。


・STPとRSTPの違いについて、スタックとリンクアグリゲーションのメリットなど

STPについては今後取り上げられる事があるか分からないが、もし必要性があるとしたらそれはループ構成をあえて用意して経路障害時などに代替経路を用意しておく用途がある事を覚えておく。

RSTPについては、代替ポートが事前に用意されているために経路の再計算が必要無くなる事と、直ぐに経路が切り替わるために経路変更が素早く行える事を覚えておく。

これはSTPの経路変更が時間がかかるためにRSTPを採用するケースで問われる。

また、STPやVRRPなどの冗長化対策の代替としてスタック、リンクアグリゲーションが採用されるケースについて、どのような利点があるかを把握しておく必要がある。

スタック、リンクアグリゲーションは帯域増加と冗長化による通信の安定を目的としたものである。


・静的経路情報と動的経路情報について、OSPFでの再配布など

静的経路情報は動的経路情報より優先される事と、両方のルーティングルールが存在する場合に静的経路で設定されているデフォルトゲートウェイの情報をOSPFなどの動的経路に乗せる(再配布や導入などと呼ばれる)必要がある場合について気づけるかが問われる。


・SIP,RTPについて、バッファを大きくするとどうなるかなど

VoIPについての流れを押さえるのは勿論だが、バッファを大きくするとどうなるかが問われる問題が複数あったような気がする。この辺の問題は実際の現場でも注意して設定する必要があるために問題として取り上げる機会が多くなっているような気がした。


・VLANでのCoSの扱い、DSCPとの関連など

CoSによる優先制御を行うために何が必要か、またL3SWを超えた場合にCoSが失われてしまうので、その先でDSCPの値が必要になるなど。


・ループバックアドレスの利点などを問う問題

物理的な回線経路に障害が発生した場合、その全てが失われない限り論理的な経路は残るために迂回するなどして通信が確保できる点について問われる。


・ミラーポートによるパケットの取得とそれに関するプロミスキャスモードを問う問題

パケットの取得についての取得方法についてと、往復のパケットを取得した場合に帯域が不足する問題がある事について問われる。また、取得するサーバは宛先MACやIPアドレスが自分宛ではないためプロミスキャスモードを設定する必要がある事について把握しておく。


・DMZの必要性を問う問題

なぜDMZが必要かについて問われる問題があった。一般的には内部環境のサーバやPCなどに侵入されるリスクがあるためである。


・認証と認可の違いを問う問題

認証と認可の違いについて指定文字数で答えられるようにしておく。

認証は本人確認のため、認可は利用可能な権限があるかを判断するため。


・SSL-VPN、IPsec、IP-VPNについて

それぞれの違いについてざっくりとでも把握しておく。

IPsecについてはポート番号を持たないので、それに関する問題:NAPTの必要性など
トランスポートモードとトンネルモードの違いについて問う問題が頻出な印象。トンネルモードについてはクライアントのIPアドレスがカプセル化により隠蔽できる点について覚えておく。


フルメッシュとハブアンドスポークについて問う問題については、メリット、デメリットについて把握しておく。フルメッシュは経路が複雑になるが最短経路で通信できること、ハブアンドスポークは経路設定が楽になる事。

IP-VPNではMPLSについて知っているかを問われる


・クライアント証明書、サーバ証明書に関する問題

プロキシサーバによるルート証明書をクライアントに設置する必要性など。

現実にはあまり行われないとの事だが、サーバ側のルート証明書をプロキシサーバに持ってくるとかでも対応は可能。


・ECMPのパケットモード、フローモードの違いとパケットモードの問題点について問う問題

ECMPはコストの合計値を同じにする事で実現可能という事について覚えておく。パケットモードの場合にはランダムに経路をパケットが流れるので通信効率は良くなるがパケットの順番が乱れる問題について答えられるようにしておく。


・アドバタイズメントとKEEPALIVEの違いを問う問題

アドバタイズメントは一方通行の通知である。ただそうではあっても「アドバタイズメント」と呼称しない通知方法もあるため、覚えておく方が無難。


・プロキシサーバに関する問題でプロキシ除外リストの必要性やPACによるプロキシサーバの選定などの方法について問う問題

特定の通信のみ別のプロキシを通過させたい場合や、部門や支社によってプロキシを分けたい場合などのパターンがあるが、いずれにしてもクライアント側でプロキシサーバを振り分けたい場合はプロキシ除外リストやPACによる振り分け方法がある事を覚えておく。


・セグメントが別の通信について、デフォルトゲートウェイ設定やMACアドレスの変化(ping、tracerouteでどうなるかなど)L3SW、L2SWを経由した通信のパケットがどうなるかについて問う問題

設問中ではデフォルトルートがどうなっているかなど明示されない事もあるため、稼働前のネットワークという状況ではある程度デフォルトルートがどうなっているかを想像する必要がある。

基本、デフォルトゲートウェイはどこに向かうか分からない通信を振り分けるために設定する経路設定である事。

pingによる死活確認についての問題は頻出するので、ICMPの仕様や動作について覚えておく。


・HTTP/2について、ALPNの内容など

HTTP/1系と混在するネットワーク構成について、ALPNが上位のプロトコルを決定し、事前にネゴシエーションしておく事によって通信効率が良くなる事を覚えておく。


・ケルベロス認証、SAMLについて

他にもOAuthもある。大雑把な仕様については設問中に書かれると予想するが、内容について確認しておく必要がある。


・ルーティングについて何か問題がある場合、たいていはループ構造が隠されていて、それを見抜けるかが問われている

ルーティングループを避けるため、ループ構成になるためなど設定の変更や動的経路導入によって引き起こされる問題点については、ループ構成を予想できるかを問われる問題が頻出する。


・PIM-SM、SSM、IGPMについて

マルチキャスト通信の流れについて押さえておく。これも設問中である程度の仕様については説明があると予想されるので、パケットの流れがどうなるか、プロトコル採用のメリット等について押さえておく。


・フラッディングについて知っているかはよく問われている印象

ブロードキャスト以外で全てのポートから送出する通信はフラッディングを疑えるようにする。

また、どのポートから送信するか?という設問については「受信ポート以外の全ポート」から送信される事を答えさせる問題が頻出。

 

・VRRPとスタック・リンクアグリゲーションの関連についても問われることがある

STPの時と同様、ループ構成が無くなる点などのメリット、アドバタイズメントについて答えさせる問題など。


・ping(ICMP)の動作について、監視用途で使われるが万能ではない点について、見逃しと誤認について問われる

既に書いたかも。


・VLANと共にVXLANについても詳細が問われている

VXLANは今後も形を変えて出てくるような気がする。

オーバーレイの構成とVTEP、EVPNなどについても押さえておく。但し仕様については設問中にて説明があると思われるため、そこから回答を導出できるようにしておくこと。


・メールについてはSPF、DKIM、DMARKの仕様について問われる

ほとんどはSPFとDKIMについての問題である印象。受信側の動作とDNSへの記載方法について確認しておく。


・CONNECTメソッドについても頻出

プロミスキャスモードなどと同様に頻出の単語である印象。HTTPSでの通信時に想定しておく内容であるが通信するパケットを443に限定する事が推奨される事などについても押さえておく。


・BGPのas-overrideやnext-hop-selfについての必要性や設定する事によってどうなるかを問う問題

BGPについては最初に勉強する内容からどんどんと逸脱した仕様が追加されていく印象がある。as-overrideやnext-hop-selfによってAS_PATHを書き換えてしまう、その必要性についても理解しておく必要がある。

・FWについてはステートフルパケットインスペクションやポリシーベースルーティング、ロンゲストマッチなどの概念を前提にしたルーティングを問う問題

ステートフルパケットインスペクションやロンゲストマッチについては暗黙の了解として、あえて設問には書かれないため十分に注意して回答する必要がある。特にFWを経由するルーティングについても問題が出た時には、これらの前提が隠されている事を想定する必要がある。

 

ざっと書き出してみただけなので間違いがあると思うが、概ねこのような項目について押さえておく必要がある。

また、内容について理解していたとしても、それを指定された文字数で書けるかについては完全に国語文章力の問題となる。

理由については「~から」、目的については「~ため」これらについては厳守する。

また、様々な回答が思いつく場合は設問中の文言を確認しつつ、出来るだけ内容が収束するように回答する事を心がける。これを「事実に近い回答」と表現している人もいる。

 

しかし、これだけやっても合格できるかどうか微妙な感じなんだろうなぁ。

午前対策については過去問道場さんを使わせて頂いていて、午前1については過去6回分を記憶する事で対応。どうなるか分からんが今回はこれで挑戦してみる。

午前2についてはコンスタントに9割は正答できているので大丈夫かなと思うがどうだろう。

いずれにしても楽しんで試験に臨みたい。

終わりの季節

Posted by yonezo in 日記 | Leave a comment

長く続けてきたいろんな事が終わった。
いろんな人が去って、離れていき。
楽しかった事、場所に興味が薄れてきて、
人生の中の「もう会う事もないだろうな」、な人の数が一気にカウントアップ。
大事にしてた服も断捨離してスッキリした。
なんだか終わりの季節を感じる。
多分、周りの人には何も変わってないように見えるのだろう。

ただ、何か新しい事が始まればいい。
まだまだ続いていくものもあるから。

【laravel8】Please ensure you have permission to create files

Posted by yonezo in 日記 | Leave a comment

laravelでcronによる処理と、管理画面などのログインが共存しているとタイトルのようなエラーになる場合がある。というか私の場合だけかもですがありました。

原因は/storage/framework/cache/data/配下のディレクトリ、ファイルのパーミッションが

ログイン時:個人ユーザー

cron実行時:nginxユーザー

とで作成されるために、どちらかのユーザーでchownとかしても一時的に解決するだけで永続的な解決法ではなくなっていたためでした。

プログラム的になんとかする方法(ログイン時ユーザーをnginxでcacheさせるようにする等)もあると思いますが、今回はlinux側での対応を行ったので、備忘録です。

 

cacheディレクトリ、ファイルのパーミッションが問題なので、そもそも新規に作成される場合のパーミッションを指定・固定します。

$ cd /storage/framework/cache/

$ sudo setfacl -R -d -m g::rwx ./data

setfaclでdataディレクトリ配下で作成されるディレクトリ、ファイルのパーミッションをdataと同じにするものです。

※上記操作と共に既存ディレクトリ、ファイルのchmodも忘れずに

※作成される可能性のあるユーザー(個人ユーザー、nginx)を同一のグループに所属させる事も忘れずに

これで、ユーザーは異なるものになる可能性はありますが、パーミッションは書き込み可能となるのでエラーにはならなくなりました。

「お前は何を言っているんだ?」という人は以下を参照ください。この記事の1000倍くらい丁寧に解説されています。

CentOS/Apache/Laravel使用時のpermission設定方法

【AWS備忘録】特定URL(パス)でアクセスするインスタンスを固定したい

Posted by yonezo in 日記 | Leave a comment

分かりにくいタイトルですが、要するに複数のインスタンスをALB(ロードバランサー)で振り分けてる場合に、「このURLの場合はこのインスタンスに固定でアクセスさせたいなぁ。」といった場合、簡単に設定できるという事です。

複数WEBサーバをバランシングしてるが、とある事情で片方のインスタンス(WEBサーバ)にしか無いAPIをhttpsで叩きたい、というような要件があった場合です。

今回既に稼働しているシステムだったので、ロードバランサーは設定済み。そこへ振り分けのルールを追加していきます。

手順は2つ。

1.ターゲットグループ作成

2.リスナールール設定

だけです。

 

「ターゲットグループ」から後でリスナーで設定する振り分け先インスタンスの設定を行います。

 

気を付けたいのは、ヘルスチェックの設定でしょうか。

この部分を設定しておかないと、動作してくれないみたいです。

ターゲットグループが設定できたら、リスナーの設定。

追加します。

ルールは上に設定したものから順次判定されるみたいで、自由に優先順に設定できるようです。

「ルールの挿入」を押下すると、設定フォームが表示されます。

条件は結構細かく指定できるようですが、今回は特定のURLで判定させたいので「パス」を選択。

ドメイン以下のパスを設定して、このURLでアクセスされた場合に振り分けるターゲットグループを設定します。

上記では「https://hugahuga.com/hogehoge/index/」にアクセスされた場合に「web1」のターゲットグループで指定したインスタンスにアクセスさせたい、という感じです。

シンプルにこれだけで、設定は完了。

ブラウザなどで叩いてみると、ちゃんと指定したインスタンスにアクセスしているようです。

 

メルセデスベンツ 純正アクセサリー パフュームアトマイザー 交換用リフィル FREESIDE MOOD

Posted by yonezo in 日記 | Leave a comment

うちの車はなんか知らんが、芳香剤入れないと異様に臭う。汗臭いのか革の臭いなのかよくわからない独特のにおいがするので、とりあえず純正の芳香剤(パフュームアトマイザー)を使ってます。

これ、匂いは良くて付けておくと自動的に拡散してくれるので良いのだが、値段がアレです。さすがにベンツです。

8000円以上するけど、2年くらい持つのかな。そう考えるとそれほど高いものではないのかも。

メルセデスベンツ 純正アクセサリー パフュームアトマイザー 交換用リフィル FREESIDE MOOD

握力計ってみた

Posted by yonezo in 日記 | Leave a comment

子供が学校で体力測定したらしく「握力が全然ない!」と騒いでいたので、ポチってみました。

人の事言えなかった。

コストコ

Posted by yonezo in 日記 | Leave a comment
そろそろハロウィンですか🎃

事務所の水やらが無くなってきたのでコストコへ。

入る時にマスクしてなかったら

「マスクして下さい!マスク持ってますか?!」

だって。まだまだ終わりそうに無いねぇ。

うに小屋行ってきた。

Posted by yonezo in 日記 | Leave a comment
タカさんと行ってきました。

かなり期待してました。が、まぁコスパは良く無いですね。牡蠣が99円というのは驚きましたが、その他のメニューが…。全般的に高めで、渋谷ってこんなに高いのかと驚きました。さすが都会。

ネギ間の焼き鳥が一本確か580円くらいだったので、相当なデカさのヤツが来るのかなと思ってたら、まぁ普通。少し大きいかなくらい。250円てとこじゃないかなぁ。

極め付けは看板にドドーン!と写っているウニの四種盛り。「この量で3800円?!安いかも!」と思ってそれを3人分頼んだら、まぁ少ないこと、唖然としました。

小鉢に入ってる量は1口分て感じ。

これなら、少し良い回転寿司の軍艦食べた方が満足度は高そうです。いや、間違いなく高い。

量的にも全然満たされないので最後にご飯でもと、痛風の人が泣いて逃げ出しそうなヤツを注文。

雲丹少ねぇ…

写真だと大きそうに見えるけど実際は量は少な目で良かったです。

結果、3人で35000円とかでした。うち1人は女性で殆ど食べてなかったのでコスパ具合が分かるかと思います。

お金のある人はネタで行くのもいいかと思います。私はもう行かないと思います。

sunriseにて

Posted by yonezo in 日記 | Leave a comment

マスターに山崎の12年と白州の12年を勧められて飲んだら二日酔いです。

【備忘録】python+AWS SESでメール送信

Posted by yonezo in 日記 | Leave a comment

タイトル通り、pythonでSESからメール送信してみました。

今回は既に運用中のAWSアカウントにて設定したので、セットアップとかは省略。また、送信先については固定で1つだけなので制限解除申請などはしてません。

手順としては、

1.SES側での送信先メールアドレス認証作業

2.AMIで認証情報作成

3.python実装

という感じ。

SES側での送信先メールアドレス認証作業

登録と検証を行わずに送信しようとするとエラーに。

Email address is not verified. The following identities failed the check in region US-WEST-2:[送信先メールアドレス]

とりあえず、SESの画面から送信先を登録。

検証メールを送信してメール内のURLをクリックするだけで完了。簡単。

AMIで認証情報作成

こちらも既存のユーザーに認証情報タブからアクセスキーの作成を実行して保存。簡単。

python実装

いろいろやり方はあると思いますが、とりあえず公式のやり方が無難だろうという事で、こちらを参考。

https://docs.aws.amazon.com/ses/latest/dg/send-email-raw.html

なぜかアクセスキーとかセットする部分が無かったので、このままだとエラーに。

botocore.exceptions.NoCredentialsError: Unable to locate credentials

なので、

client = boto3.client(‘ses’,region_name=AWS_REGION)

この部分を

client = boto3.client(‘ses’,region_name=AWS_REGION,
                aws_access_key_id=AWS_ACCESS_KEY,
                aws_secret_access_key=AWS_SECRET_KEY)
 
のようにしました。
 
ファイルも添付できて良きですね。