10
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

新卒用のネットワーク課題でおきた悲劇 ~自作DHCPサーバーの恐怖~

はじめに

もう、あるあるだと思うので、タイトルを見て内容が予測できるかと思いますが、新卒用のネットワーク課題を作成中におきてしまった悲劇を書き記したいと思います。

背景

今年は新卒用の課題として、RaspberryPIを使ってネットワークを構築させてみようという試みで課題を作成することになりました。
内容は、クローズドなネットワークを作成し、そのなかでDHCPサーバーとDNSサーバーを自作して、実際に通信してみようというもの。

構成としてはこんな感じで、すごく簡単な構成。

起きた悲劇

課題を作成した後は、実際に他の人に課題をやってもらうわけですが、そこで悲劇はおきました。
このクローズドネットワークのHUBに社内LANを繋いでしまい、影響を受けた偉い人のPCがインターネットに繋がらないという事態に。。。

起きた悲劇 (技術的な内容)

なぜこんなことになっるのかというと、同じネットワーク内にDHCPサーバーが複数あると、クライアントからの「IPアドレスくださ〜い」というリクエスト(DHCPディスカバー) に対して、早いもの勝ちでリクエストを受け取ったDHCPサーバーが返事をしてしまいます。
そうすると、自作DHCPサーバーに取り込まれてしまったクライアントは、クローズドネットワークに引き込まれて外部と通信ができなくなってしまうわけです。

なぜ悲劇が起きたのか

では、なぜクローズドネットワークに対して社内LANを繋いでしまったのでしょうか。
それはもちろん課題の構成に原因があります。

課題をやる人間はネットワークに詳しくない

前提として、課題をやる人間は課題を通してネットワークを学ぶわけなので、DHCPをよく知らない人が対象となり、もちろんDHCPの脅威もわからないのです。
そのため、やってはいけない事もわかるわけがないのです。
課題をやってもらう前に、徹底して注意事項を伝えておくことが大切でした。

ググれない環境

社内PCをクライアントとして使用していたため、ググる手段がなくなってしまっていました。
無線に切り替えるか、社内LANに差し替えるかすればいいのですが、HUBに社内LANをさせばネットワーク構成も崩さずにインターネットに繋がることができると考えてしまったようです。

簡単に社内LANと繋ぐことができる環境

何と言ってもこれですね。
もっと徹底して隔離するべきだったのです。
そもそも、インターネットに接続する手段が社内LANだったというのがよくなかったのです。

解決策

徹底して社内LANに繋がない様にします。

会社のPCは使わない

構成の中で会社のPCをクライアントとして使用していたのが間違いでした。
こういった危ない研修には社内機材は巻き込まない。
そうすることで、ググりたい時は通常通り会社のPCでググってもらうことができます。

インターネットに繋ぐ

インターネットに繋ぎたい?
じゃあ、別の回線を用意しなさい!
そう、まずは社内ネットワークを使わなくても良い環境を用意することにしました。
会社のPCを構成から外したことで、検索などは会社のPCで行える様になりましたが、ミドルウェアのインストールなどにインターネット接続は必要です。

そのために下記の様な構成に変更し、インターネットに繋ぎたい時は4G回線を使用し、かつRaspberryPIで無線の設定は一切触らせないように、有線で接続するようにします。
qiita用 (3).png

注意事項は徹底して書いておく

当たり前のことなのですが、注意すべき事項は課題の資料に目立つ様に書いて起きます。
なぜダメなのか、どういったことが起きるのかを記載しておきます。
そうすることで、課題を終えた時に「あーだからダメだったのか」と納得してもらえれば、それもまた理解が深まります。
口頭で伝えるのは、伝え漏れが発生するのでNG。

最後に

課題作りって難しいですね。
成長してほしい一心で作ってるはずなのに、新卒研修でこんな地雷を踏んでしまった日には、その人に恐怖心を植えつけてしまい、逆に成長の妨げになるかもしれません。
今回の様に特にネットワークを作成するような課題は危険が伴うことを身を以て学びました^^;

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
10
Help us understand the problem. What are the problem?