tag:crieit.net,2005:https://crieit.net/tags/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF/feed 「ネットワーク」の記事 - Crieit Crieitでタグ「ネットワーク」に投稿された最近の記事 2023-09-25T00:26:04+09:00 https://crieit.net/tags/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF/feed tag:crieit.net,2005:PublicArticle/18573 2023-09-23T02:32:08+09:00 2023-09-25T00:26:04+09:00 https://crieit.net/posts/NEC-IX-VLAN-VLAN NEC IXシリーズルーターでポートVLANとタグVLANをVLANスイッチ的に併用する <p>この記事では、 GE0, GE1 の 2つの "デバイス" を持つ NEC の IX2105 ルーターを例に、1カ所のスイッチングハブ用のデバイスの中で ポートVLAN と タグVLAN を併用し、スイッチングハブのトランクポートやアクセスポートのように使う方法について説明する。</p> <h2 id="はじめに"><a href="#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">はじめに</a></h2> <p>国内の中規模オフィス向けのルーターとして、 Yamaha や Cisco がよく知られているが、 NEC も <a target="_blank" rel="nofollow noopener" href="https://jpn.nec.com/univerge/ix/Info/ix2106.html">UNIVERGE IXシリーズ</a> を提供している。</p> <p>Yamaha の RTXシリーズ と価格帯が近いものの、 NEC の IXシリーズ には、 Yamaha と比べてもわりと柔軟な構成を行える利点がある。</p> <p>一方で Yamaha と比べた場合、 NEC の IXシリーズ の設定方法を調べるのは少し…いや、だいぶ難しい。<br /> 書籍や Web 記事、公式マニュアルなど、ドキュメントや設定例の全てに於いて、 Yamaha と比べて著しく情報が少ないためだ。</p> <p>そんな IXシリーズ を使って、ポートVLAN と タグVLAN を併用する方法について紹介しよう。<br /> (この併用も、Yamaha の RTX で同一ポート内で実現するのは難しい機能のひとつだ)</p> <p>なお、同じ UNIVERGE でも LTE や Wi-Fi などのワイヤレス機能を持った WAシリーズ では、 VLAN 周りのコマンド体系が異なるため、このページの方法は使えない。</p> <p>設定例として挙げている IX2105 は <a target="_blank" rel="nofollow noopener" href="https://www.necplatforms.co.jp/product/ix/product/ix2105.html">2019年9月30日をもって販売を終了</a> しているが、マイナーバージョンこそ <a target="_blank" rel="nofollow noopener" href="https://www.nw-meister.jp/service/resources/common/products/ix/relnotes/ix2105-release-10.2.42.txt">Ver.10.2 までに留まるものの不具合修正は続いて</a>いる。<br /> (例えば後継の IX2106 だと 10.2系 は <a target="_blank" rel="nofollow noopener" href="https://www.nw-meister.jp/service/resources/common/products/ix/relnotes/ix2106-release-10.2.26.txt">Ver.10.2.26</a> までで終了し、最新版は <a target="_blank" rel="nofollow noopener" href="https://www.nw-meister.jp/service/resources/common/products/ix/relnotes/ix2106-release-10.8.21.txt">Ver.10.8.21</a> となっている)<br /> 中古なら<a target="_blank" rel="nofollow noopener" href="https://auctions.yahoo.co.jp/search/search?ei=utf-8&p=IX2105">ヤフオク等で二束三文で手に入る</a>し、最新 FW (ソフトウェア) も NEC に "UNIVERGE IXシリーズ ソフトウェアダウンロードサイトへの接続申請書" を出せば手に入るので、練習機としてはもってこいだ。</p> <h2 id="ゴール"><a href="#%E3%82%B4%E3%83%BC%E3%83%AB">ゴール</a></h2> <p>以下のような構成を行う。</p> <ul> <li>既定ではスイッチングハブとなっている、 <code>GE1</code> デバイスの4つの物理ポートを、以下の3つに分割する <ul> <li>タグ付き通信を行う(即ちトランクポートとなる)1番ポート <ul> <li>但し、管理VLAN 的に使うため、 untag のフレームも受け付ける</li> </ul></li> <li>VLAN100 の通信を untag で行う(即ちアクセスポートとなる)2番ポート</li> <li>VLAN200 の通信を untag で行う(即ちアクセスポートとなる)3, 4番ポート</li> </ul></li> <li>各 VLAN それぞれで DHCP サーバによる異なるセグメントの IP アドレスの割り当てを行う</li> <li><code>GE0</code> デバイスでは NAT (NAPT) を行い、 <code>GE1</code> デバイスの各セグメントからのルーティングも受け付ける</li> </ul> <p><a target="_blank" rel="nofollow noopener" href="https://aquasoftware.net/blog/wp-content/uploads/2023/09/use-port-and-tag-vlans-together-on-nec-ix-00.png"><img src="https://aquasoftware.net/blog/wp-content/uploads/2023/09/use-port-and-tag-vlans-together-on-nec-ix-00-1024x576.png" alt="" /></a></p> <p>先に最終的な構成を載せておくと、以下のようになる。</p> <pre><code class="text">ip ufs-cache enable ip dhcp enable ip access-list web-http-acl permit ip src any dest 192.168.99.1/32 ! ! ! ! ! ブリッジの有効化 bridge irb enable ! ! ! ! GE0 から DNS サーバーを自動取得し DNSプロキシー を実行 proxy-dns ip enable proxy-dns interface GigaEthernet0.0 priority 254 ! Webコンソールを管理ポートの 192.168.99.1 として開始 http-server ip access-list web-http-acl http-server ip enable ! ! ! ! 各サブネットごとに、自身をDNSサーバーと通知するDHCPプロファイルを作成 ip dhcp profile dhcp-profile-99 dns-server 192.168.99.1 ! ip dhcp profile dhcp-profile-120 dns-server 192.168.120.1 ! ip dhcp profile dhcp-profile-130 dns-server 192.168.130.1 ! device GigaEthernet0 ! GE1 ポートに ポートベース VLAN グループを設定 device GigaEthernet1 vlan-group 2 port 2 vlan-group 3 port 3 4 ! GE0 は WAN 側として、 IPアドレスを DHCP から自動取得し、 NAPT を有効化 interface GigaEthernet0.0 description WAN1 ip address dhcp receive-default ip napt enable ip napt hairpinning no shutdown ! GE0 の グループ N/A (ポート1番) のアドレスと DHCP の設定 interface GigaEthernet1.0 description LAN1 ip address 192.168.99.1/24 ip dhcp binding dhcp-profile-99 no shutdown ! GE0 の グループ N/A (ポート1番) の VLANID 222 の VLAN タグ付きの設定 (BVI20とブリッジ) interface GigaEthernet1.2 description VLAN222 encapsulation dot1q 222 tpid 8100 auto-connect no ip address bridge-group 200 no shutdown ! GE0 の グループ N/A (ポート1番) の VLANID 333 の VLAN タグ付きの設定 (BVI30とブリッジ) interface GigaEthernet1.3 description VLAN333 encapsulation dot1q 333 tpid 8100 auto-connect no ip address bridge-group 300 no shutdown ! GE0 の グループ 2 (ポート2番) の untag の設定 (BVI20とブリッジ) interface GigaEthernet1:2.0 no ip address bridge-group 200 no shutdown ! GE0 の グループ 3 (ポート3番&4番) の untag の設定 (BVI30とブリッジ) interface GigaEthernet1:3.0 no ip address bridge-group 300 no shutdown ! VLANID 222 向けのブリッジインタフェースのアドレスと DHCP の設定 interface BVI20 ip address 192.168.120.1/24 ip dhcp binding dhcp-profile-120 bridge-group 200 no shutdown ! VLANID 333 向けのブリッジインタフェースのアドレスと DHCP の設定 interface BVI30 ip address 192.168.130.1/24 ip dhcp binding dhcp-profile-130 bridge-group 300 no shutdown ! interface Loopback0.0 no ip address ! interface Null0.0 no ip address ! </code></pre> <p>メモ:</p> <p>なお、このページのコンフィグ例では、 IX2105 や IX2106, IX2107 のように GigaEthernet1 デバイスがスイッチングハブであることを前提としている。<br /> IX2215 や IX2235 のように GigaEthernet2 デバイスなどがスイッチングハブとなっている場合、適宜読み替えて設定して欲しい。</p> <h2 id="前提知識"><a href="#%E5%89%8D%E6%8F%90%E7%9F%A5%E8%AD%98">前提知識</a></h2> <p>ひとつひとつ、細かく解説していこう。</p> <p>まず前提として理解しておかなくてはならないのは、 IXシリーズの設定の考え方に於いて <strong>タグVLAN と ポートVLAN は全く異なる機能</strong> であり、独立した設定となっている、という点だ。</p> <h3 id="タグVLAN"><a href="#%E3%82%BF%E3%82%B0VLAN">タグVLAN</a></h3> <p><strong>タグVLAN</strong> は、</p> <ol> <li>ある GigaEthernet1.0 といった <strong>"基本インタフェース"</strong> に対して、 GigaEthernet1<strong>.2</strong> のような <strong>"サブインタフェース"</strong> を作成し… <sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></li> <li><strong>各サブインタフェースに VLAN ID を割り当て</strong>ると…</li> <li><strong>基本インタフェース側</strong>では IEEE 802.1Q <strong>VLANタギング でカプセル化</strong>されたフレームが流れる</li> </ol> <p>という仕組みだ。</p> <p>すなわち、基本インタフェース GigaEthernet1<strong>.0</strong> 内にて、各サブインタフェース GigaEthernet1<strong>.1</strong>, GigaEthernet1<strong>.2</strong> が、 VLANタギング によってトンネリングされていると見做せる。</p> <p>基本インタフェースも各サブインタフェースも、それぞれに IP アドレスを割り当てれば、各々がルーティングの対象となる。</p> <p>メモ:</p> <p>IXルーター上でトンネリングを行う仕組みとしては、似たようなもので他にも Tunnelインタフェース が存在する。</p> <p>Tunnelインタフェース では、カプセル化後が (L3 の) IP パケットとなるようなモノを対象とするため、カプセル化後のパケットはルーティングされる。</p> <p>一方、サブインタフェースでは、 VLANタギング や PPPoE といった、カプセル化後が (L2 の) Ethernet フレームとなるようなモノを対象としているため、カプセル化後のフレームは親となる基本インタフェース(と後述するブリッジ先)にしか流れない、といった仕組みの違いがある。</p> <h3 id="ポートVLAN"><a href="#%E3%83%9D%E3%83%BC%E3%83%88VLAN">ポートVLAN</a></h3> <p>一方で <strong>ポートVLAN</strong> は、</p> <ol> <li>スイッチハブ機能を持つデバイス (IX2105 なら GigaEthernet1) を</li> <li>複数のサブネット (グローバルキャストドメイン) に分割&グループ化し</li> <li>GigaEthernet1<strong>:2</strong>.0, GigaEthernet1<strong>:3</strong>.0 のような「ポートベース VLAN グループ番号」が異なる独立したインタフェースを作成する <sup id="fnref2:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></li> </ol> <p>という仕組みだ。</p> <p>すなわち、 グループなし GigaEthernet1.0 や、ポートベース VLAN でグループ化された GigaEthernet1<strong>:2</strong>.0, GigaEthernet1<strong>:3</strong>.0 などは、それぞれ L2 (レイヤー2) 的に互いに独立していると見做せる。</p> <p>もちろん、各ポートVLANグループにそれぞれ IP アドレスを割り当てれば、各々がルーティングの対象となる。</p> <h3 id="ブリッジ"><a href="#%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8">ブリッジ</a></h3> <p>独立した タグVLAN と ポートVLAN を紐づけるためには、複数のインタフェースをひとつのサブネット(グローバルキャストドメイン)にまとめる <strong>ブリッジ機能</strong> を活用する。</p> <p>インタフェースにブリッジ機能を割り当てると、そのインタフェースでは L3 のネットワーク層の情報が機能しなくなるため、IPアドレスや DHCP の設定など L3 に関する機能が使用できなくなる。 <sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup></p> <p>このため、ブリッジしたインタフェース上でルーティングや IPアドレスの設定などを行う場合、 <strong>BVIインタフェース</strong> という仮想インタフェースを作成してブリッジに加え、これに IPアドレス などの L3 に関する機能を割り当てる必要がある。</p> <blockquote> <p><a target="_blank" rel="nofollow noopener" href="https://aquasoftware.net/blog/wp-content/uploads/2023/09/use-port-and-tag-vlans-together-on-nec-ix-01.png"><img src="https://aquasoftware.net/blog/wp-content/uploads/2023/09/use-port-and-tag-vlans-together-on-nec-ix-01.png" alt="" /></a></p> </blockquote> <h2 id="具体的なコンフィグの解説"><a href="#%E5%85%B7%E4%BD%93%E7%9A%84%E3%81%AA%E3%82%B3%E3%83%B3%E3%83%95%E3%82%A3%E3%82%B0%E3%81%AE%E8%A7%A3%E8%AA%AC">具体的なコンフィグの解説</a></h2> <p>まず、 GE0 を NAPT する WAN側、 GE1 を DHCP と Webコンソールを有効にした LAN側 と見立てた、以下のようなコンフィグを入れてある状態とする。</p> <pre><code class="text">ip ufs-cache enable ip dhcp enable ip access-list web-http-acl permit ip src any dest 192.168.99.1/32 ! proxy-dns ip enable proxy-dns interface GigaEthernet0.0 priority 254 ! http-server ip access-list web-http-acl http-server ip enable ! ip dhcp profile dhcp-profile-99 dns-server 192.168.99.1 ! interface GigaEthernet0.0 description WAN1 ip address dhcp receive-default ip napt enable ip napt hairpinning no shutdown ! interface GigaEthernet1.0 description LAN1 ip address 192.168.99.1/24 ip dhcp binding dhcp-profile-99 no shutdown ! </code></pre> <h3 id="タグVLANの構成"><a href="#%E3%82%BF%E3%82%B0VLAN%E3%81%AE%E6%A7%8B%E6%88%90">タグVLANの構成</a></h3> <p>タグVLAN のトランクポートを扱うには、前述の「サブインタフェース」を作成する必要がある。</p> <p>以下のように、 GigaEthernet1.0 に対応する各サブインタフェースにも IP アドレスや DHCP の設定を行うと、 GE1 の各ポートでは</p> <ul> <li>タグなし: 192.168.99.1/24 の基本インタフェース</li> <li>VLAN ID 222: 192.168.120.1/24 のサブインタフェース番号2</li> <li>VLAN ID 333: 192.168.130.1/24 のサブインタフェース番号3</li> </ul> <p>に割当たるようになる。</p> <p><code>encapsulation dot1q</code> コマンドを実行した場合は、その反映には端末の再起動が必要な点には注意。</p> <pre><code class="text">ip dhcp profile dhcp-profile-120 dns-server 192.168.120.1 ! ip dhcp profile dhcp-profile-130 dns-server 192.168.130.1 ! interface GigaEthernet1.2 description VLAN222 encapsulation dot1q 222 tpid 8100 auto-connect ip address 192.168.120.1/24 ip dhcp binding dhcp-profile-120 no shutdown ! interface GigaEthernet1.3 description VLAN333 encapsulation dot1q 333 tpid 8100 auto-connect ip address 192.168.130.1/24 ip dhcp binding dhcp-profile-130 no shutdown </code></pre> <p><code>encapsulation dot1q</code> コマンドで tpid の値を省略してもデフォルト値 0x8100 が設定されるのだが、省略したか否かにかかわらず <code>show running-config</code> や <code>show startup-config</code> のダンプ結果には表示されるため、最初からコマンドに含めている。</p> <p>上記の例では、説明のために敢えて サブインタフェース番号 2 に VLAN ID 222、等と異なる番号を割り当てているが、実際に設定するときはある程度揃えておいた方が分かりやすいだろう。<br /> サブインタフェース番号の上限は 32 等と少なめ(機種による)なので、 VLAN ID と完全に一致させるのはなかなか難しいだろうが。</p> <h2 id="ポートVLANとブリッジの追加構成"><a href="#%E3%83%9D%E3%83%BC%E3%83%88VLAN%E3%81%A8%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8%E3%81%AE%E8%BF%BD%E5%8A%A0%E6%A7%8B%E6%88%90">ポートVLANとブリッジの追加構成</a></h2> <p>前項の タグVLAN の構成だけでは、 GE1 のどの番号のポートもトランクポートへのアクセスとなるため、 untagged なフレームを VLAN 用のサブネットにスイッチングできない。</p> <p>GE1 の 2番~4番ポートをアクセスポートのように扱うために、これらのポートにポートVLANのグループ設定を構成し、トランクポートとネットワークを分割する以下のコードを実行する。</p> <pre><code class="text">device GigaEthernet1 vlan-group 2 port 2 vlan-group 3 port 3 4 </code></pre> <p>"ポートベース VLAN グループ番号" 2 に、 GE1 の 2番ポートを、 グループ番号 3 に、 GE1 の 2番 & 4番 ポートを、それぞれ割り当てている。</p> <p>なお、グループ番号は 1 からスイッチングハブスロット上のポート数以下の整数値 (IX2105 なら 4) を設定できる。</p> <p>GE1 の 1番ポートをグループ化の対象としないことにより、1番ポートには GigaEthernet0.0 の タグVLAN トランクポートのフレームが引き続き流れ続ける。</p> <p>一方で、単にポートVLANグループに分割しただけでは、2番~4番ポートに untagged のフレームはスイッチングされてこない。</p> <p>そこで、 untagged なフレームが流れている タグVLAN の各サブインタフェースと、 <strong>ブリッジ</strong> させてしまおう。</p> <pre><code class="text">configure bridge irb enable ! ! interface GigaEthernet1.2 description VLAN222 encapsulation dot1q 222 tpid 8100 no ip address no ip dhcp binding dhcp-profile-120 bridge-group 200 no shutdown ! interface GigaEthernet1:2.0 no ip address bridge-group 200 no shutdown ! interface BVI20 ip address 192.168.120.1/24 ip dhcp binding dhcp-profile-120 bridge-group 200 no shutdown ! ! interface GigaEthernet1.3 description VLAN333 encapsulation dot1q 333 tpid 8100 no ip address no ip dhcp binding dhcp-profile-130 bridge-group 300 no shutdown ! interface GigaEthernet1:3.0 no ip address bridge-group 300 no shutdown ! interface BVI30 ip address 192.168.130.1/24 ip dhcp binding dhcp-profile-130 bridge-group 300 no shutdown ! </code></pre> <p>まず、ブリッジ機能を有効にするために <code>bridge irb enable</code> コマンドの実行が必要だ。<br /> (このコマンドはグローバルコンフィグモードで実行する必要があるため、手前で <code>configure</code> コマンドを実行している)</p> <p>ここで タグVLAN の サブインタフェース と、 グループ化したポートを ブリッジするのだが、 前述の通りブリッジ機能を使うと サブインタフェースに設定していた L3 の IP 関連の構成が機能しなくなる。<br /> このため、 VLAN 毎に BVI インタフェースを作成してブリッジに加えたうえで、そちらに <code>ip address</code> や <code>ip dhcp binding</code> の構成を移植する。</p> <p>なお、タグVLAN で使用している "サブインタフェース番号" GigaEthernet1<strong>.2</strong> と、ポートベース VLAN で使用している "グループ番号" GigaEthernet1<strong>:2</strong>.0 (、そして BVI インタフェース番号 BVI<strong>20</strong> や bridge-group <strong>200</strong>、 VLANID VLAN<strong>222</strong>) をある程度数字揃えてブリッジしているが、必ずしもこれら番号は揃えておく必要は無い。<br /> 見やすさやわかりやすさを重視しつつ、指定できる範囲内で設定するのが良いだろう。</p> <h2 id="動作確認"><a href="#%E5%8B%95%E4%BD%9C%E7%A2%BA%E8%AA%8D">動作確認</a></h2> <p>ここまでの設定が完了すると、4つのサブネット間でルーティングされ、GE1 デバイスの各ポートでは以下のような組み合わせで VLAN のイーサネットフレームが流れるようになる。</p> <p><a href="https://crieit.now.sh/upload_images/65977e5c680bdc1e3b81a85057afc4fb650f11784d39a.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/65977e5c680bdc1e3b81a85057afc4fb650f11784d39a.png?mw=700" alt="image.png" /></a></p> <p>試しに、GE1 の 2番ポート に繋いだ PC (192.168.120.2) から、 GE1 の 1番ポート に繋いだ PC (192.168.99.2) に、 ping を打ってみた所を、 GE1 の 1番ポート に繋いだ PC 側でパケットキャプチャしてみる。</p> <p><a target="_blank" rel="nofollow noopener" href="https://aquasoftware.net/blog/wp-content/uploads/2023/09/use-port-and-tag-vlans-together-on-nec-ix-11.png"><img src="https://aquasoftware.net/blog/wp-content/uploads/2023/09/use-port-and-tag-vlans-together-on-nec-ix-11.png" alt="" /></a></p> <p>192.168.120.1/24 のサブネットで ARP のブロードキャストされたフレームが、送信元 PC に繋いだ NIC の MACアドレス (Buffalo_f0:1X:XX) より <strong>VLANID 222 のタグ付き</strong>で 1番ポート へ届いていることがわかる。</p> <p><a target="_blank" rel="nofollow noopener" href="https://aquasoftware.net/blog/wp-content/uploads/2023/09/use-port-and-tag-vlans-together-on-nec-ix-12.png"><img src="https://aquasoftware.net/blog/wp-content/uploads/2023/09/use-port-and-tag-vlans-together-on-nec-ix-12.png" alt="" /></a></p> <p>一方、 ICMP の通信はルーティングされた上で 192.168.99.2/24 のサブネットへ届いているため、 IXルーター の MACアドレス (NECPlatf_4f:XX:XX) より<strong>タグなし</strong>で 1番ポート へ届いていることがわかる。</p> <h2 id="おわりに"><a href="#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB">おわりに</a></h2> <p>上記の設定では、VLANグループ間でスイッチングはされないが、サブネット同士で自由にルーティングされる。このため、L3スイッチで VLAN を分割しただけの場合とは異なり、 VLAN 間でも IPレイヤー の通信は行われる。実運用で VLAN 間の通信を制限したい場合は、適宜フィルタなどを追加して使う事になるだろう。<br /> また、パスワードが設定されていないので、実運用では設定しておこう。</p> <p>以上のように、VLAN スイッチなどでは単純にできるような設定でも、ルーターで実現するにはまぁまぁ大変であることがわかると思う。</p> <p>とはいえ、ブリッジなどを駆使すれば、このような複雑な構成であってもルーターだけで構成できるのが IXルーター の強みとも言える。</p> <p>上記の例では使用しなかったが、 GigaEthernet1<strong>:2****.3</strong> のように、"ポートベース VLAN グループ番号" に "サブインタフェース番号" をつけることもできるため、ポートベース VLAN グループに割り当てたポートに VLAN タグがついたフレームを流すことも可能だ。 <sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup></p> <p>参考: <a target="_blank" rel="nofollow noopener" href="https://www.labohyt.net/blog/lan/post-7008">NEC IX2207 の VLAN 設定備忘録 | hyt adversaria</a></p> <div class="footnotes" role="doc-endnotes"> <hr /> <ol> <li id="fn:1" role="doc-endnote"> <p><a target="_blank" rel="nofollow noopener" href="https://www.support.nec.co.jp/View.aspx?id=3170102588">IX2000シリーズ取扱説明書</a> の 【3 基本操作と各種説明 → モードについて → インタフェース表示の意味】 あたりを参照 <a href="#fnref:1" class="footnote-backref" role="doc-backlink">↩︎</a> <a href="#fnref2:1" class="footnote-backref" role="doc-backlink">↩︎</a></p> </li> <li id="fn:2" role="doc-endnote"> <p><a target="_blank" rel="nofollow noopener" href="https://www.support.nec.co.jp/View.aspx?id=3170102598">IX2000/IX3000 シリーズ 機能説明書</a> の【■2.9 ブリッジの設定】より <a href="#fnref:2" class="footnote-backref" role="doc-backlink">↩︎</a></p> </li> <li id="fn:3" role="doc-endnote"> <p><a target="_blank" rel="nofollow noopener" href="https://www.support.nec.co.jp/View.aspx?id=3170102600">UNIVERGE IXシリーズ 設定事例集</a> の 【19.2 ポートベース VLAN とタグ VLAN の併用】 あたりを参照 <a href="#fnref:3" class="footnote-backref" role="doc-backlink">↩︎</a></p> </li> </ol> </div> advanceboy tag:crieit.net,2005:PublicArticle/18124 2022-02-24T23:29:56+09:00 2022-02-24T23:44:23+09:00 https://crieit.net/posts/Gitlab-push-buffalo 【障害切り分けのコツはまずは森を見ること!】Gitlabのpushエラー、原因は(恐らく?)buffalo製ルータだった話 <p>お久しぶりですにゃ。<br /> やらなきゃいけない事があるからと、”<strong>優先度の低いものをする時間をマストタスクに割り当てよう</strong>”と考えながら<br /> 、<strong>結局マスト作業も先延ばしになり帳尻合わせが大変になる</strong>時空を生きて21年目の私です😢</p> <p>実はこの間に、所属している会社のブログも1ページながら担当させていただきましたねこ!業務内容とおすすめ焼酎4選という内容なので、<br /> 良かったら探してみて欲しいぎょぴ!!<br /> (さすがにネコ語は自重しましたぎょぴぼー)<br /> 貴重な経験をさせてくださった弊社の担当者様、ありがとうございますにゃー!</p> <p>久しぶりの投稿ということで前置きが長くなってしまいましたが、<br /> <strong>今回は自宅で特定の通信がハングアップしてしまったときのこと</strong>を綴りますぴょん。<br /> ※解決法とういうよりは、ハチャメチャに慌ててる私をご覧いただく記事となります。</p> <hr /> <h4 id="v目次にゃv"><a href="#v%E7%9B%AE%E6%AC%A1%E3%81%AB%E3%82%83v">v目次にゃv</a></h4> <p>1.今回起こった問題<br /> 2.一旦バックグラウンド<br /> 3.対処1<br /> 4.対処2<br /> 5. 切り分け<br /> 6. 今回の件から私が得るべき教訓は…<br /> 7. エンドタイトル</p> <hr /> <h4 id="今回起こった問題"><a href="#%E4%BB%8A%E5%9B%9E%E8%B5%B7%E3%81%93%E3%81%A3%E3%81%9F%E5%95%8F%E9%A1%8C">今回起こった問題</a></h4> <p>自宅クライアントPCからドメインでGitlabへ200MB付近の容量ファイルをgit pushすると</p> <blockquote> <p>error: RPC failed; curl 56 Recv failure: Connection was reset<br /> fatal: The remote end hung up unexpectedly</p> </blockquote> <p>とのエラーが出てpushできない。※今回は19MBのサイズでエラー出ました<br /> どうやら<strong>サイズ制限にかかり、正常にpushできていない</strong>みたい。<br /> ※ファイルサイズが小さいものは問題なくpushできます。</p> <p>〇 5KB<br /> ✖ 19MB</p> <hr /> <h4 id="一旦バックグラウンド"><a href="#%E4%B8%80%E6%97%A6%E3%83%90%E3%83%83%E3%82%AF%E3%82%B0%E3%83%A9%E3%82%A6%E3%83%B3%E3%83%89">一旦バックグラウンド</a></h4> <p>唐突ですが、当時の自宅の簡単な構成を…<br /> <a href="https://crieit.now.sh/upload_images/c8e3813e38831a16492d64162853d8f062177aebea260.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c8e3813e38831a16492d64162853d8f062177aebea260.png?mw=700" alt="image.png" /></a></p> <p>Windowsサーバより外の構成は私関与していなかったので、聞き伝えでの図ですが…<br /> 今回、外部からWebサーバにアクセスできるように<strong>buffaloルータでポート開放</strong>されていますうさぎ~。</p> <p>また、CentOS内部では、80番ポートはプロジェクト管理ソフトWebGUIへ(Apache)<br /> GitLabはパッケージ内包のNginxで動いています。<br /> <strong>hoge/projects</strong>と<strong>hoge/gitlab</strong>で<strong>サブディレクトリ</strong>にして、<strong>Apaceでリバースプロキシ設定で運用</strong>していますきんぎょ~。<br /> 今回アクセスする経路はドメイン指定するので<strong>1度インターネット抜けしてからLAN内にあるサーバに戻ってくる</strong>形です。(混乱する要因の1つ)<br /> この辺の詳細は省きます。わけわかランボルギーニ~(^^♪<ふんっ!ふんっ!</p> <hr /> <h4 id="対処1"><a href="#%E5%AF%BE%E5%87%A6%EF%BC%91">対処1</a></h4> <p>原因を調べたところ、GItLab側(Nginx)で<strong>一定値を超えるものは制限</strong>をかけているらしい。(そもそも大容量通信を想定していない)<br /> 早速、ネットに記載されていた対処法を試すねこ!</p> <p>まずは<strong>クライアント側でバッファを増やす設定</strong>をするにゃ</p> <pre><code>git config --global http.postBuffer 524288000 </code></pre> <p>次に<strong>サーバ側のGitlabのサイズ制限を変更す</strong>るために、Nginxのconfigに追記するぎょぴぼー。</p> <pre><code>client_max_body_size 200M </code></pre> <p>その後、各ソフトとサーバーを<strong>再起動</strong>っぽ!<br /> 。<br /> 。<br /> 。<br /> 同じエラーが返ってくる…</p> <hr /> <h4 id="対処2"><a href="#%E5%AF%BE%E5%87%A6%EF%BC%92">対処2</a></h4> <p>根気強くネットで解決策をさがすと、”<strong>プロキシを挟まずに直でGitlabにつないだらいけた</strong>!!”との記事を発見!<br /> バックグラウンドを見ていただくと分かると思いますが、自宅構成では<br /> <strong>クライアントからGitlabに行く際に、リバースプロキシを介しています</strong>。<br /> しかし、リバースプロキシを使わないと、Gitlabかプロジェクト管理GUIのどちらか一方しかアクセス出来なくなりますぴょん…<br /> もちろん、URLでポート指定すればよいのですが、ユーザ側の負担が増えるため却下ですにゃ…<br /> というか、そもそも<strong>Apacheにデフォルトでサイズ制限はない</strong>らしい!!(もしかしたらという事もあるので一応設定をいろいろ試しました)</p> <hr /> <h4 id="切り分け"><a href="#%E5%88%87%E3%82%8A%E5%88%86%E3%81%91">切り分け</a></h4> <p>ここまで、サーバ側、もしくはクライアントの設定を疑い試行錯誤してきましたが、一向に解決しないため、<br /> サーバ内だけでなく全体を見て切り分けを行いましたきんぎょ。<br /> 通常なら切り分けを最初にするべきですが、ネット上に同じ問題に直面している方がおり、<br /> さらに解決策まで載っているという事で<strong>先入観を持ってしまったのが私の敗因</strong>ですねこ…</p> <p>まずはリバースプロキシが原因かどうかを確認するため、<br /> 新しくテスト仮想サーバをつくり、Gitlabだけ構築します。<br /> Gitlabは設定を変更せず、リポジトリだけ作成し、大容量push時にエラーを返す状態を再現します。<br /> ドメインを紐づけるのはめんどくさかったので、プライベートIPで開くようにしました。</p> <p>↓リポジトリパス↓</p> <blockquote> <p>http:\192.168.100.101/gitlab/piyopiyo.git</p> </blockquote> <pre><code>###push 結果↓ 〇 5KBのデータ  ←小さいファイルはOKですね 〇 19MBのデータ ←え!?pushできた!!!! </code></pre> <p>ということは、<strong>GitlabやNginxは問題なし</strong>。リバースプロキシが怪しい…<br /> 前段階でリバースプロキシは違うと踏んでただけに驚きました。</p> <p>より本番環境に近い(外部からのアクセス)挙動も確認したいので、一応ドメインとIPを紐づける(もちろん本番環境のIPは重複を避け変更しておく)<br /> クライアント側でリポジトリのパスをドメイン指定に変更<br /> ↓リポジトリパス↓</p> <blockquote> <p>http:\hogehoge.nk/gitlab.piyopiyo.git</p> </blockquote> <pre><code>###push 結果↓ 〇 5KBのデータ  ←小さいファイルはOK ✖ 19MBのデータ  ←あれ、いつものエラーで通らない…💦 </code></pre> <p>小さいファイルは通っているのでDNSの根本的な間違えはなさそう…<br /> 今回はリバースプロキシは設定していないので、リバースプロキシのせいでエラーが出るわけではなさそう<br /> もしや、<strong>wanを抜ける過程で失敗している</strong>??</p> <hr /> <p>テスト仮想サーバを閉じ、本番サーバのIPとドメインを紐づけ直して再度検証</p> <pre><code>###push 結果↓ 〇 5KBのデータ  ←小さいのは通った! ✖ 19MBのデータ  ←通らない </code></pre> <p>この場合、以下の2つ範囲で考えることが出来ますね。<br /> <strong>①プロバイダ側で何かしら制限がある(これだったらお手上げです😢)<br /> ②自分の管轄範囲のNWで問題がある</strong></p> <p><del><strong>想定できる原因</strong></del><br /> <del>・大容量通信は弾いている<br />  →Youtube等の大容量のデータはup,down共に正常に疎通可能。おそらく違う。</del></p> <p><del>・特定プロトコルの大容量データを弾いている<br />  →gitの仕様詳細まで分からず、未検証。(今回はサイズによらずHTTPを使っているはず)</del></p> <p><del>・十分な帯域が確保できず、通信量を絞っている<br />  →サーバ側のタイムアウト時間も延長したがダメ</del></p> <p>Lanでは繋がり、Wanでは繋がらない(小さいデータは繋がるが)という事で、私の手が届く1番Wan側のbuffaloルータを詳しく見てみます。<br /> 設定を覗いた感じ、QoSが設定してあるわけでもなく、問題はなさそう。<br /> <strong>機器固有の設定は不明</strong>なので、我が家にある<strong>FortiGateに置き換えることにした</strong>にゃ!<br /> <a href="https://crieit.now.sh/upload_images/c8e3813e38831a16492d64162853d8f0621774bb13a10.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c8e3813e38831a16492d64162853d8f0621774bb13a10.png?mw=700" alt="image.png" /></a><br /> ついでなので、セグメント別けしました。(NW図の構成が甘くてすみません)</p> <p>FortiGateの設定を行い、接続確認をしました。<br /> ↓リポジトリパス↓</p> <blockquote> <p>http:\hogehoge.nk/gitlab.piyopiyo.git</p> </blockquote> <pre><code>###push 結果↓ 〇 5KBのデータ  ←小さいファイルはOK 〇 19MBのデータ  ←無事に通った! </code></pre> <p><strong>通常利用が想定されるWanを介しての大小データのpushに成功したのにゃ!!</strong></p> <hr /> <h4 id="今回の件から私が得るべき教訓は…"><a href="#%E4%BB%8A%E5%9B%9E%E3%81%AE%E4%BB%B6%E3%81%8B%E3%82%89%E7%A7%81%E3%81%8C%E5%BE%97%E3%82%8B%E3%81%B9%E3%81%8D%E6%95%99%E8%A8%93%E3%81%AF%E2%80%A6">今回の件から私が得るべき教訓は…</a></h4> <p>まずは、今回、問題解決に至るまでのネックポイント<br /> ・ネット記事に、同一サーバにWebサーバを同時導入(リバースプロキシ使用)例が少ない<br /> ・GitHubの方がユーザが多くGitlabはどちらかといえば少数派なため、なぜかGithubの記事に案内される<br /> ・Hyper-vよりDockerを使用している例が多いため、解決法がマッチしない<br /> ・buffaloルータの仕様を理解できていない</p> <p>以上を踏まえ、<strong>今回の件から私が得るべき教訓は、全体を見て切り分けをしっかりしよう!ということだ。</strong></p> <p>↓今回の切り分け例↓<br /> <strong>サーバサイド</strong><br /> ・リバースプロキシがおかしい<br /> ・Gitlabがおかしい<br /> ・Nginxがおかしい<br /> ・ポートやファイアウォールの設定がうまく機能していない<br /> <strong>その他物理</strong><br /> ・クライアントの設定ミス<br /> ・物理機器の故障、謎仕様<br /> <strong>ネットワークサイド</strong><br /> ・Wan側がおかしい<br /> ・Lan側がおかしい<br /> ・NW境界部がうまく機能していない</p> <p>てっきりサーバ側だと思い込んでそちらばかり対応にあたったのがダメでした。<br /> 今回は<strong>ネットワークサイド、NW境界部(buffaloルータの仕様なのかな?)があたり</strong>でしたね…<br /> 結局、最たる原因は仕様が不明のため、buffaloさんには問い合わせて回答をいただく予定です。</p> <h4 id="エンドタイトル"><a href="#%E3%82%A8%E3%83%B3%E3%83%89%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB">エンドタイトル</a></h4> <p>今回は個人的にいろいろな事象が複雑に面倒くさく絡まっていたのが、解決への道を妨げるものでした。<br /> リソースの関係上仕方がないとはいえ、シンプルな設計の重要さを身をもって学びました。み〇ほ銀行のジャングルシステムがいい例ですね。いや、悪い例か…<br /> 複雑なものをどのようにまとめようか思考しながら筆をとった結果、語尾も中途半端になる始末…(しかも非常に読みづらくて申し訳ない)</p> <p>今回はここまで🐾<br /> 自宅にて、焼酎のお湯割りを飲みながら…。</p> <p>次回も頑張るきんぎょー…</p> <h5 id="編集後記"><a href="#%E7%B7%A8%E9%9B%86%E5%BE%8C%E8%A8%98">編集後記</a></h5> <p>私のCrieit記事では、私個人の思ったことや考えを色濃く記事に出しています。qiitaやStack Overflowのような解決を求める記事や、参考となる記事とは違い、実際に困難(?)に直面しているへっぽこ技術者の狭い視野やドキドキを臨場感のある雰囲気を含め楽しんで屍を越えて下されば幸いです。</p> <p>せっかくなので、次回あたりFortiGateの設定などもご紹介できればよいですにゃ~…</p> keito_woood tag:crieit.net,2005:PublicArticle/17538 2021-07-25T00:48:24+09:00 2021-07-26T11:27:01+09:00 https://crieit.net/posts/RESTful-API RESTful APIとは <h1 id="RESTful APIとは何?"><a href="#RESTful+API%E3%81%A8%E3%81%AF%E4%BD%95%EF%BC%9F">RESTful APIとは何?</a></h1> <p>RESTというだけあって、休みまくりのAPI。かと思ってたら全然違いました(汗)</p> <p>RESTは、<strong>REpresentational State Transfer</strong>の略。<br /> 分散型システムを設計するための構造</p> <p>APIなので、複数のアプリケーションを連携できる。twitterなど。</p> <h2 id="RESTの特徴"><a href="#REST%E3%81%AE%E7%89%B9%E5%BE%B4">RESTの特徴</a></h2> <h3 id="ステートレス"><a href="#%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E3%83%AC%E3%82%B9">ステートレス</a></h3> <p>状態を管理しないので、入力の内容によってのみ出力が決定される。</p> <h3 id="アドレス可能性"><a href="#%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E5%8F%AF%E8%83%BD%E6%80%A7">アドレス可能性</a></h3> <p>URIで表現される。一目でなんの情報かがわかる。</p> <h3 id="接続性"><a href="#%E6%8E%A5%E7%B6%9A%E6%80%A7">接続性</a></h3> <p>別の情報へのリンクを貼ることができる</p> <h3 id="統一インターフェース"><a href="#%E7%B5%B1%E4%B8%80%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9">統一インターフェース</a></h3> <p>操作は全てがHTTPで動く<br /> 取得「GET」、作成「POST」、更新「PUT」、削除「DELETE」</p> <h3 id="DNA CENTERでの使われ方"><a href="#DNA+CENTER%E3%81%A7%E3%81%AE%E4%BD%BF%E3%82%8F%E3%82%8C%E6%96%B9">DNA CENTERでの使われ方</a></h3> <p>自作プログラムを作って、Cisco DNA centerで使える機能を拡張することができる。</p> skyms tag:crieit.net,2005:PublicArticle/17537 2021-07-24T23:07:34+09:00 2021-07-24T23:07:34+09:00 https://crieit.net/posts/NETCONF-RESTCONF 【ネットワーク】NETCONFとRESTCONFについて <p>ネットワーク機器を設定するためのSBIプロトコル。<br /> データモデリング言語はYANG</p> <h1 id="NETCONFとは"><a href="#NETCONF%E3%81%A8%E3%81%AF">NETCONFとは</a></h1> <p>標準規格として、RFCがある。細かく分けると、</p> <ul> <li>RFC 4741(ベースプロトコル)</li> <li>RFC 4742(SSHトランスポートマッピング)</li> <li>RFC 4743(SOAPトランスポートマッピング)</li> <li>RFC 4744(BEEPトランスポートマッピング)</li> <li>RFC 5277(NETCONFイベント通知)</li> </ul> <p>コンソールやSSHで接続して通信を行う。基本XML</p> <h1 id="RESTCONFとは"><a href="#RESTCONF%E3%81%A8%E3%81%AF">RESTCONFとは</a></h1> <p>JSONやXMLファイルでネットワーク機器と通信する<br /> NETCONFのあとに出てきた。NETCONTとRESTの合体版。</p> skyms tag:crieit.net,2005:PublicArticle/17528 2021-07-20T22:37:06+09:00 2021-07-20T22:37:06+09:00 https://crieit.net/posts/SDN-Software-Defined-Network 【ネットワーク】SDN(Software Defined Network)とは <h1 id="SDNとは?"><a href="#SDN%E3%81%A8%E3%81%AF%EF%BC%9F">SDNとは?</a></h1> <p>SDNとは、Software Defined Networkの略です。さあ翻訳しましょうか</p> <p><strong>(Software)ソフトウェアで (Defined)定義された (Network)ネットワーク</strong> のことです。ほとんど英語のままですが。</p> <p>つまり、</p> <h5 id="ネットワークの構成や機能といったものを、ソフトウェアで管理しましょう"><a href="#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AE%E6%A7%8B%E6%88%90%E3%82%84%E6%A9%9F%E8%83%BD%E3%81%A8%E3%81%84%E3%81%A3%E3%81%9F%E3%82%82%E3%81%AE%E3%82%92%E3%80%81%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%A7%E7%AE%A1%E7%90%86%E3%81%97%E3%81%BE%E3%81%97%E3%82%87%E3%81%86">ネットワークの構成や機能といったものを、ソフトウェアで管理しましょう</a></h5> <p>という意味です。</p> <h2 id="SDNのメリット"><a href="#SDN%E3%81%AE%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88">SDNのメリット</a></h2> <ol> <li>ネットワークの管理を、ネットワーク単位でソフトウェアで一括管理できる。</li> <li>構成を変えたいってなった時に、LANケーブル付け直したりルーティングしなおしたりというめんどい作業をSDNコントローラでできる</li> <li>データ転送と制御機能が別れていて便利</li> </ol> <p>論理ネットワークを我々がSDNコントローラーに対して設定をします。<br /> そうすると、SDNコントローラーが勝手に物理構成を行ってくれます。</p> <h2 id="データプレーンとコントロールプレーン"><a href="#%E3%83%87%E3%83%BC%E3%82%BF%E3%83%97%E3%83%AC%E3%83%BC%E3%83%B3%E3%81%A8%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%83%97%E3%83%AC%E3%83%BC%E3%83%B3">データプレーンとコントロールプレーン</a></h2> <p>SDNのメリットとして、データ転送と制御機能が別れていて便利って書いたんだけど<br /> それぞれをデータプレーン、コントロールプレーンと言います</p> <p>我々エンジニア陣が、SDNコントローラに設定を行うと、其奴が各ルータやスイッチのデータプレーンに書き込みしてくれて、コントロールプレーンはカクカクシカジカのルータのをSDN上で一括制御できます。</p> <h2 id="SDNそのものの構造"><a href="#SDN%E3%81%9D%E3%81%AE%E3%82%82%E3%81%AE%E3%81%AE%E6%A7%8B%E9%80%A0">SDNそのものの構造</a></h2> <p>SDNは、インフラストラクチャー層、コントロール層、アプリケーション層に分かれています。</p> <p>インフラストラクチャー層で、それぞれのデータの管理(OpenFlowなど)<br /> コントロール層で制御<br /> アプリケーション層はソフトウェア部分</p> <p>というシンプル構造。</p> <h1 id="OpenFlow"><a href="#OpenFlow">OpenFlow</a></h1> <p>SDNのうちの一つに、OpenFlowがあります。</p> <p>仕組みは同じ。OpenFlowコントローラを弄って下位層のルータやスイッチに設定する。</p> <p>使われるAPIは、北側(上位層側。アプリケーション側)はNorthbound API、南側(スイッチなどの機器側)はSouthbound APIと言います。</p> <p>画像はping-tより</p> <p><a href="https://crieit.now.sh/upload_images/6eb34a68fe74b4d1f50371db06f8070e60f6d0447f1c1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/6eb34a68fe74b4d1f50371db06f8070e60f6d0447f1c1.png?mw=700" alt="aaaa.png" /></a></p> skyms tag:crieit.net,2005:PublicArticle/17526 2021-07-20T22:36:14+09:00 2021-07-20T22:36:14+09:00 https://crieit.net/posts/7ede1ce27436b5d5e1a1de2fca90394d ファイアーウォールの機能 <h1 id="ファイアーウォール"><a href="#%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%83%BC%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB">ファイアーウォール</a></h1> <h2 id="主な機能"><a href="#%E4%B8%BB%E3%81%AA%E6%A9%9F%E8%83%BD">主な機能</a></h2> <div class="table-responsive"><table> <thead> <tr> <th>機能</th> <th>説明</th> </tr> </thead> <tbody> <tr> <td>パケットフィルタリング</td> <td>パケットの通過を許可したり、拒否したり...</td> </tr> <tr> <td>ステートフルインスペクション</td> <td>通信を監視して、不正な通信を拒否する。DoS攻撃対策</td> </tr> </tbody> </table></div> <h2 id="ゾーンについて"><a href="#%E3%82%BE%E3%83%BC%E3%83%B3%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">ゾーンについて</a></h2> <p>ファイアーウォールは、違うゾーンにパケットを飛ばす時に、精査します</p> <div class="table-responsive"><table> <thead> <tr> <th>ゾーン名</th> <th>説明</th> </tr> </thead> <tbody> <tr> <td>内部ゾーン</td> <td>基本的に安全と考える場所</td> </tr> <tr> <td>外部ゾーン</td> <td>攻撃してくる可能性がある場所</td> </tr> <tr> <td>DMZ</td> <td>内部と外部の間で、外部からアクセスしたい時に使う場所</td> </tr> </tbody> </table></div> skyms tag:crieit.net,2005:PublicArticle/17515 2021-07-14T15:39:56+09:00 2021-07-14T15:39:56+09:00 https://crieit.net/posts/LAN-WPA-WPA2-WPA3 【ネットワーク】無線LANの認証機能(WPA・WPA2・WPA3)と暗号化アルゴリズム <p>ワイヤレスでの認証規格に、WPA、WPA2、 WPA3がある</p> <p>この記事書くのにヤクの毛大量に刈ってきましたが、まだ間違っているかもなので間違いみっけたらコメントくれると助かります</p> <h1 id="それぞれの規格一覧"><a href="#%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%E3%81%AE%E8%A6%8F%E6%A0%BC%E4%B8%80%E8%A6%A7">それぞれの規格一覧</a></h1> <p><a href="https://crieit.now.sh/upload_images/8433f144cd60ab84b23d7834aaa6f25960e95d8c41ab8.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8433f144cd60ab84b23d7834aaa6f25960e95d8c41ab8.png?mw=700" alt="image" /></a></p> <h2 id="暗号化方式とは"><a href="#%E6%9A%97%E5%8F%B7%E5%8C%96%E6%96%B9%E5%BC%8F%E3%81%A8%E3%81%AF">暗号化方式とは</a></h2> <h5 id="TKIP"><a href="#TKIP">TKIP</a></h5> <p>RC4で暗号化し、Michaelで安全性を検証している</p> <h5 id="CCMP"><a href="#CCMP">CCMP</a></h5> <p>AESアルゴリズムをもとに暗号化をする方式</p> <h5 id="GCMP"><a href="#GCMP">GCMP</a></h5> <p>WPA3用。新種すぎてなかなか情報が得られず。(2017年にWPA2に脆弱性が見つかったらしいよ)</p> <h2 id="暗号化アルゴリズム(めちゃ数学です)"><a href="#%E6%9A%97%E5%8F%B7%E5%8C%96%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%EF%BC%88%E3%82%81%E3%81%A1%E3%82%83%E6%95%B0%E5%AD%A6%E3%81%A7%E3%81%99%EF%BC%89">暗号化アルゴリズム(めちゃ数学です)</a></h2> <h5 id="RC4"><a href="#RC4">RC4</a></h5> <p>共通鍵暗号方式で、WEPやWPA、SSL/TLSなどに使われている</p> <p>データを1ビットずつ暗号化していく<strong>ストリーム暗号</strong>で、<br /> 疑似乱数を生成して、平文との排他的論理和を計算し、それを暗号文としている。</p> <p>暗号化した時と同じ疑似乱数を使ってもう一度排他的論理和を計算すると、平文に戻るという仕組みです。<br /> 擬似乱数を共通鍵として持っておけば、複合化できます。</p> <p>排他的論理和を2回繰り返すと元に戻るという数学チックなやり方を使っていますね</p> <h5 id="AES"><a href="#AES">AES</a></h5> <p>無線LANやファイルの暗号化で使われている。</p> <p><strong>Advanced Encryption Standard</strong>の略<br /> RC4とは対照的に、一定量のデータをまとめて暗号化する<strong>ブロック暗号</strong>を利用しています。<br /> AESで使う4 種類の変換は、「SubBytes」「ShiftRows」「MixColumns」「AddRoundKey」<br /> これを基本的にこの順番で、何回か繰り返して作られています。</p> <h6 id="SubBytes"><a href="#SubBytes">SubBytes</a></h6> <ol> <li><p>8ビットの情報をガロア体GF(28)の逆数に変換<br /> 最初の4ビットがX, 後半4ビットがYになります。<br /> <a href="https://crieit.now.sh/upload_images/fef47aea7e6009d8c040e4b1a1a121e460eada947f9c1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/fef47aea7e6009d8c040e4b1a1a121e460eada947f9c1.png?mw=700" alt="スクリーンショット 2021-07-11 20.48.28.png" /></a><br /> GF(28)の逆数変換テーブル</p></li> <li><p>その結果をもとに、行列変換をします。</p></li> </ol> <p><a href="https://crieit.now.sh/upload_images/dc0b31bc7bf1241dd6b3cc7e671dda9b60eadc34a6a16.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/dc0b31bc7bf1241dd6b3cc7e671dda9b60eadc34a6a16.png?mw=700" alt="スクリーンショット 2021-07-11 20.55.28.png" /></a></p> <p>a0からa7までに、逆数変換した後の値を入れて、行列変換します。</p> <h6 id="ShiftRows"><a href="#ShiftRows">ShiftRows</a></h6> <p>その名の通り、列を並べ替えていきます。</p> <p>4×4の行列を、行ごとで一つずつシフト</p> <p><a href="https://crieit.now.sh/upload_images/2da2a1210ecce69718ddeb021008d2e260eae10711b1d.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/2da2a1210ecce69718ddeb021008d2e260eae10711b1d.png?mw=700" alt="スクリーンショット 2021-07-11 21.16.03.png" /></a></p> <h6 id="MixColums"><a href="#MixColums">MixColums</a></h6> <p>行列を、列ごとに掛け算していきます。<br /> 行列は、<a href="https://crieit.now.sh/upload_images/8396bd9aad7141bdd503b24f158fb1db60eae2a11ad9c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8396bd9aad7141bdd503b24f158fb1db60eae2a11ad9c.png?mw=700" alt="スクリーンショット 2021-07-11 21.22.53.png" /></a><br /> で求められます</p> <h6 id="AddRoundKey"><a href="#AddRoundKey">AddRoundKey</a></h6> <p>Key Scheduleから作成された行列との排他的論理和をとります。至って単純。</p> <p>アルゴリズムの参考サイト<br /> <a target="_blank" rel="nofollow noopener" href="http://www.ihpc.se.ritsumei.ac.jp/hpc/papers/b05/umehara.pdf">http://www.ihpc.se.ritsumei.ac.jp/hpc/papers/b05/umehara.pdf</a><br /> <a target="_blank" rel="nofollow noopener" href="https://www.cqpub.co.jp/DWM/contest/2004/specification2004.pdf">https://www.cqpub.co.jp/DWM/contest/2004/specification2004.pdf</a><br /> その他諸々</p> <h2 id="認証方式について"><a href="#%E8%AA%8D%E8%A8%BC%E6%96%B9%E5%BC%8F%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">認証方式について</a></h2> <h4 id="WPAパーソナル"><a href="#WPA%E3%83%91%E3%83%BC%E3%82%BD%E3%83%8A%E3%83%AB">WPAパーソナル</a></h4> <p>認証サーバを使わないモード</p> <h5 id="PSK"><a href="#PSK">PSK</a></h5> <p>Pre-Shared Keyの略。意味は、「共有パスワードキー」<br /> まー従来使われていたやつ。</p> <h5 id="SAE"><a href="#SAE">SAE</a></h5> <p>Simultaneous Authentication of Equalsの略。<br /> クライアント役とサーバ役が時と場合によりコロコロ入れ替わる。<br /> 認証パスワードが予測できない。<br /> 鍵交換に4ウェイハンドシェイクするらしい(4ウェイって初めて聞いた笑)</p> <h4 id="WPAエンタープライズ"><a href="#WPA%E3%82%A8%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A4%E3%82%BA">WPAエンタープライズ</a></h4> <p>認証サーバを使用するモード。<br /> 企業で使われる</p> <h5 id="IEEE 802.1X/EAP"><a href="#IEEE+802.1X%2FEAP">IEEE 802.1X/EAP</a></h5> <p>WEPにはない認証方式を作るためにできた。<br /> サプリカント、認証装置、認証サーバを用いる。<a href="https://crieit.now.sh/upload_images/4f2fb798ce8ede0f416577ce9af4f98660eaf318e1571.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/4f2fb798ce8ede0f416577ce9af4f98660eaf318e1571.png?mw=700" alt="スクリーンショット 2021-07-11 22.33.08.png" /></a></p> <p>認証方式に、MD5とか。TLSとか。よく聞いたとこあるようなやつが使われている。</p> skyms tag:crieit.net,2005:PublicArticle/17499 2021-07-12T13:59:54+09:00 2021-07-12T13:59:54+09:00 https://crieit.net/posts/WLC 【ネットワーク】WLCの画面一覧 <p>なかなかお目にかかることができないので、画像を探し歩いてきました</p> <h1 id="WLCの操作で使うメニューとその内容"><a href="#WLC%E3%81%AE%E6%93%8D%E4%BD%9C%E3%81%A7%E4%BD%BF%E3%81%86%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%81%A8%E3%81%9D%E3%81%AE%E5%86%85%E5%AE%B9">WLCの操作で使うメニューとその内容</a></h1> <h3 id="モニターメニュー"><a href="#%E3%83%A2%E3%83%8B%E3%82%BF%E3%83%BC%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC">モニターメニュー</a></h3> <p>コントローラーや、APなどの概要が載ってます<br /> <a href="https://crieit.now.sh/upload_images/4f1f59720013e7c2ec3a887bcc2ec0e060e9543605a4a.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/4f1f59720013e7c2ec3a887bcc2ec0e060e9543605a4a.png?mw=700" alt="image" /></a></p> <h3 id="WLANメニュー"><a href="#WLAN%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC">WLANメニュー</a></h3> <p>プロファイル名とか、SSIDを設定できます<br /> <a href="https://crieit.now.sh/upload_images/d56004d0e4ac076b40866329f183460760e954a5a83e6.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/d56004d0e4ac076b40866329f183460760e954a5a83e6.png?mw=700" alt="image" /></a></p> <h3 id="コントローラーメニュー"><a href="#%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC">コントローラーメニュー</a></h3> <p>ここで、インターフェースの設定を行えます。<br /> <a href="https://crieit.now.sh/upload_images/edf3b39bdb24d7e8ad656989d60f639760e954ea33f6f.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/edf3b39bdb24d7e8ad656989d60f639760e954ea33f6f.png?mw=700" alt="image" /></a></p> <h3 id="ワイヤレスメニュー"><a href="#%E3%83%AF%E3%82%A4%E3%83%A4%E3%83%AC%E3%82%B9%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC">ワイヤレスメニュー</a></h3> <p>LAP(LightweightAccessPoint)の設定を行えます<br /> <a href="https://crieit.now.sh/upload_images/18da7ed13e3b12f42e561e7cffdac05460e955f9390c9.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/18da7ed13e3b12f42e561e7cffdac05460e955f9390c9.png?mw=700" alt="image" /></a></p> <h3 id="セキュリティメニュー"><a href="#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC">セキュリティメニュー</a></h3> <p>ここで、RADIUSサーバに関する設定を行えます<br /> <a href="https://crieit.now.sh/upload_images/cb67b74eee5f9b32a1df931ffc32da1060e956020367a.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/cb67b74eee5f9b32a1df931ffc32da1060e956020367a.png?mw=700" alt="image" /></a></p> <h3 id="マネジメントメニュー"><a href="#%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC">マネジメントメニュー</a></h3> <p>HTTP/HTTPSによるWLCへのアクセスを許可/拒否など、管理系の設定ができます<br /> <a href="https://crieit.now.sh/upload_images/a60e9deeed44bc9814dd334d1a47a38460e9561134e27.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/a60e9deeed44bc9814dd334d1a47a38460e9561134e27.png?mw=700" alt="image" /></a></p> <h3 id="コマンドメニュー"><a href="#%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC">コマンドメニュー</a></h3> <p>WLCのコンフィグのアップ・ダウンロードができます<br /> <a href="https://crieit.now.sh/upload_images/175ce045701611863772ee04e6b3bea860e9561eb2084.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/175ce045701611863772ee04e6b3bea860e9561eb2084.png?mw=700" alt="image" /></a></p> skyms tag:crieit.net,2005:PublicArticle/17492 2021-07-07T17:26:57+09:00 2021-07-07T17:31:50+09:00 https://crieit.net/posts/ICMPv6 【ネットワーク】ICMPv6とNDPについて <h1 id="ICMPv6とは"><a href="#ICMPv6%E3%81%A8%E3%81%AF">ICMPv6とは</a></h1> <p>ICMPv6は、IPv6用のICMPです。(そのまんまですが)</p> <p>v4と違って<br /> IPv6にはARPがないので、ARPに相当するアドレス解決の機能を持っている。</p> <p>ICMPv6の主な機能</p> <div class="table-responsive"><table> <thead> <tr> <th>機能</th> <th>詳細</th> </tr> </thead> <tbody> <tr> <td>エラー通知</td> <td>パケットが破棄された理由を送信元に通知する機能</td> </tr> <tr> <td>近隣探索</td> <td>同一セグメント上のデバイスのアドレスを調べる機能</td> </tr> </tbody> </table></div> <h2 id="NDP(Neighbor Discovery Protocol:近隣探索プロトコル)"><a href="#NDP%EF%BC%88Neighbor+Discovery+Protocol%EF%BC%9A%E8%BF%91%E9%9A%A3%E6%8E%A2%E7%B4%A2%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB%EF%BC%89">NDP(Neighbor Discovery Protocol:近隣探索プロトコル)</a></h2> <p>NDPでは、同じセグメントにあるMACアドレスを調べるためにICMPv6パケットを使用している。</p> <ul> <li><p>NS(Neighbor Solicitation:近隣要請):MACアドレスを問い合わせるパケット</p></li> <li><p>NA(Neighbor Advertisement:近隣広告):NSへの応答パケット</p></li> </ul> <p>IPv6アドレスを調べるときは<br /> ・RS(Router Solicitation:ルータ要請):RAを要請するパケット<br /> ・RA(Router Advertisement:ルータ広告):セグメントのプレフィックスなどを伝えるパケット</p> <h5 id="NDPによってできること"><a href="#NDP%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%93%E3%81%A8">NDPによってできること</a></h5> <ul> <li>MACアドレスの解決(IPv4のARPに相当)</li> <li>SLAAC(StateLess Address Auto Configuration:アドレスの自動設定)</li> <li>DAD(Duplicate Address Detection:重複アドレスの検出)</li> </ul> <h2 id="IPv6アドレスの割り当て方法"><a href="#IPv6%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AE%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E6%96%B9%E6%B3%95">IPv6アドレスの割り当て方法</a></h2> <h3 id="SLAAC(StateLess Address Auto Configuration)"><a href="#SLAAC%EF%BC%88StateLess+Address+Auto+Configuration%EF%BC%89">SLAAC(StateLess Address Auto Configuration)</a></h3> <p>SLAACはIPv6に標準で搭載されたアドレス自動設定機能のこと。<br /> SLAACはNDPを利用して自動設定を行う。</p> <h5 id="SLAACでのアドレス設定"><a href="#SLAAC%E3%81%A7%E3%81%AE%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E8%A8%AD%E5%AE%9A">SLAACでのアドレス設定</a></h5> <ol> <li>IPv6ルーティングが有効なルータが定期的にRAによって、そのセグメントのプレフィックスを広告する</li> <li>ネットワークに追加されたホストはRSを送信し、ルータがRAを即時に送信するよう要求する</li> <li>ホストは、受信したRAからプレフィックスを、EUI-64によってインターフェースIDを取得し、IPv6アドレスを自動設定する。また、RAを送信したルータのIPv6アドレスをデフォルトゲートウェイとして設定する</li> <li>アドレス設定が完了し、通信が可能になる</li> </ol> <p>インターフェースのIPv6情報の確認方法<br /> show ipv6 interface</p> skyms tag:crieit.net,2005:PublicArticle/17491 2021-07-07T16:30:36+09:00 2021-07-07T16:30:36+09:00 https://crieit.net/posts/IEEE-802-1Q-VLAN 【ネットワーク】IEEE 802.1Qの概要と、ネイティブVLAN <h1 id="IEEE 802.1Q"><a href="#IEEE+802.1Q">IEEE 802.1Q</a></h1> <p>IEEE 802.1Qは、フレームにVLANタグをつけるための規格。<br /> それによって、スイッチ同士やスイッチとルータ間で送受信するフレームが、どこのVLANに属しているかを識別している</p> <p>IEEE 802.1Qの主な特徴は以下の通りです。</p> <ul> <li>IEEE標準規格である</li> <li>送信元MACアドレスアドレスとタイプの間にタグフィールド(4byte)を追加する</li> <li>FCS(フレームチェックシーケンス)を再計算</li> <li>ネイティブVLAN(タグをつけないもの)をサポートしている</li> </ul> <h2 id="ネイティブVLANについて"><a href="#%E3%83%8D%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96VLAN%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">ネイティブVLANについて</a></h2> <p>IEEE 802.1Qでサポートされている機能。</p> <p>通常ではフレームにタグを付けて送信するけど、こやつは例外<br /> ネイティブVLANかどうかは、タグがあるかどうかで判断</p> <p>ネイティブVLANは、スイッチを管理するトラフィック(CDPやSTPやDTPなど)で使われる。タグを理解しないやつに使うと効果的。</p> <p>switchport trunk native vlan {VLAN番号}<br /> で変更可能</p> skyms tag:crieit.net,2005:PublicArticle/17490 2021-07-07T16:30:15+09:00 2021-07-07T16:30:15+09:00 https://crieit.net/posts/VTP 【ネットワーク】VTPと、各種モードについて <h1 id="まず、VTPとは?"><a href="#%E3%81%BE%E3%81%9A%E3%80%81VTP%E3%81%A8%E3%81%AF%EF%BC%9F">まず、VTPとは?</a></h1> <p>VTPとは、VLAN Trunking Protocolの略で、VLAN情報を同期するためのプロトコル。<br /> モードは3種類。サーバモード、クライアントモード、トランスペアレントモード。</p> <h2 id="サーバモード"><a href="#%E3%82%B5%E3%83%BC%E3%83%90%E3%83%A2%E3%83%BC%E3%83%89">サーバモード</a></h2> <p>VLAN情報を同期するモードのうち、<strong>VLANの作成と削除が可能なモード。</strong></p> <h2 id="クライアントモード"><a href="#%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%83%A2%E3%83%BC%E3%83%89">クライアントモード</a></h2> <p>VLAN情報を同期するモードのうち、<strong>VLANの作成と削除ができないモード。</strong></p> <h2 id="トランスペアレントモード"><a href="#%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9%E3%83%9A%E3%82%A2%E3%83%AC%E3%83%B3%E3%83%88%E3%83%A2%E3%83%BC%E3%83%89">トランスペアレントモード</a></h2> <p>なんとなんと、<strong>VLAN情報を同期しないモード</strong><br /> (VLAN情報を同期するためのプロトコルって言ってたのに。。。)<br /> でも、転送はできます。<br /> つまりこんな感じ<br /> <a href="https://crieit.now.sh/upload_images/cbb9e3409fbd58cc6e14ca45e22335d660e2c754bc291.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/cbb9e3409fbd58cc6e14ca45e22335d660e2c754bc291.png?mw=700" alt="image" /></a></p> <p>間に同期しないやつが挟まっていても、転送はしてくれるので後ろにあるクライアントモードのスイッチにはVLAN情報の同期が可能。</p> <p>でも同期そのものに、条件があって</p> <ol> <li>トランクポートによる接続であること</li> <li>VTPドメイン名が一致してること</li> <li>VTPモードは、サーバもしくはクライアント</li> <li>VTPパスワードの一致(VTPパスワードが設定されている場合)</li> <li>VTPバージョンの一致</li> </ol> <p>確認は、show vtp statusでできます</p> skyms tag:crieit.net,2005:PublicArticle/17484 2021-07-05T16:34:54+09:00 2021-07-05T16:36:09+09:00 https://crieit.net/posts/DTP DTPについて <h1 id="DTPについて"><a href="#DTP%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">DTPについて</a></h1> <p>DTP(Dynamic Trunking Protocol)とは、<br /> スイッチとスイッチを接続したポートで、トランクポート接続をするのか、アクセスポート接続をするのかを動的に決めるためのプロトコル。<br /> (Cisco独自)</p> <p>・スイッチポートモードの変更方法<br /> (config-if)#switchport mode {access | trunk | dynamic {auto | desirable<span>}</span><span>}</span></p> <p>desirableでは、DTPを送信してみて、対向ポートがtrunk、dynamic desirable、dynamic autoのいずれかの場合、トランクポートになる。</p> <p>autoでは、DTPを受信したときにtrunkかdesirableのときにトランスポートになる。</p> <p>・DTPの無効化<br /> (config-if)#switchport nonegotiate</p> skyms tag:crieit.net,2005:PublicArticle/17483 2021-07-05T15:53:11+09:00 2021-07-05T17:03:41+09:00 https://crieit.net/posts/258489e5b2af2ad2ec871232ebd6eaed 【セキュリティ】主な攻撃の一覧表 <h1 id="主な攻撃一覧"><a href="#%E4%B8%BB%E3%81%AA%E6%94%BB%E6%92%83%E4%B8%80%E8%A6%A7">主な攻撃一覧</a></h1> <p>(やってくださいという意味ではありません)</p> <h2 id="主なマルウェア一覧"><a href="#%E4%B8%BB%E3%81%AA%E3%83%9E%E3%83%AB%E3%82%A6%E3%82%A7%E3%82%A2%E4%B8%80%E8%A6%A7">主なマルウェア一覧</a></h2> <p>マルウェアとは、悪意のあるプログラムのこと<br /> <div class="table-responsive"><table> <thead> <tr> <th>マルウェア</th> <th>説明</th> </tr> </thead> <tbody> <tr> <td>ウイルス</td> <td>他のプログラムに寄生して悪さをするプログラム。規制されたプログラムをしようすることで感染を広げる</td> </tr> <tr> <td>ワーム</td> <td>単独で増殖し、自ら感染を拡大させるプログラム</td> </tr> <tr> <td>トロイの木馬</td> <td>有益なプログラムを装ってコンピュータに侵入する</td> </tr> <tr> <td>スパイウェア</td> <td>感染したパソコンの内部情報(個人情報やアクセス履歴など)を収集し、外部へ勝手に送信する</td> </tr> <tr> <td>キーロガー</td> <td>ユーザのキーボード操作を記録し外部に送信する</td> </tr> <tr> <td>ボット</td> <td>攻撃を行うためのプログラム</td> </tr> </tbody> </table></div></p> <h2 id="スプーフィング一覧"><a href="#%E3%82%B9%E3%83%97%E3%83%BC%E3%83%95%E3%82%A3%E3%83%B3%E3%82%B0%E4%B8%80%E8%A6%A7">スプーフィング一覧</a></h2> <p>なりすまし。送信元を偽装する(特に、ほにゃららスプーフィング系)</p> <div class="table-responsive"><table> <thead> <tr> <th>攻撃</th> <th>説明</th> </tr> </thead> <tbody> <tr> <td>IPスプーフィング</td> <td>送信元のIPアドレスを偽装して、攻撃元を隠蔽する。</td> </tr> <tr> <td>メールスプーフィング</td> <td>メールのヘッダを偽装する。フィッシングメール</td> </tr> <tr> <td>DNSスプーフィング</td> <td>DNSを書き換えることで、偽物サイトへ誘導する</td> </tr> <tr> <td>ARPスプーフィング</td> <td>ARPの応答を偽装することで、既知のIPアドレスから未知のMACアドレスへ誘導させる</td> </tr> <tr> <td>DoS</td> <td>一台のコンピュータからターゲットに大量のパケットを送りつけてターゲットのPCを困らせる。この時にIPスプーフィングしたりする。</td> </tr> <tr> <td>DDoS</td> <td>↑の、複数のコンピュータver</td> </tr> <tr> <td>リフレクション</td> <td>偽った送信元でサーバに送信し、ターゲットに大量の応答を返すように仕向ける(増幅攻撃・アンプ攻撃とも)</td> </tr> <tr> <td>中間者攻撃</td> <td>正規の受信者と送信者の間に入って、盗聴したり書き換えたりする</td> </tr> <tr> <td>バッファオーバーフロー</td> <td>バッファを超えるデータを使って、悪意のある命令を実行させる攻撃</td> </tr> </tbody> </table></div> <h2 id="パスワード系攻撃一覧"><a href="#%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E7%B3%BB%E6%94%BB%E6%92%83%E4%B8%80%E8%A6%A7">パスワード系攻撃一覧</a></h2> <p>その他、中間者攻撃やキーロガーで覗き見るという方法もある</p> <div class="table-responsive"><table> <thead> <tr> <th>攻撃</th> <th>説明</th> </tr> </thead> <tbody> <tr> <td>ブルートフォースアタック</td> <td>考えられる全ての文字を総当たりで試してパスワードを見破る</td> </tr> <tr> <td>辞書攻撃</td> <td>ありそうな単語を次々に試して見破る</td> </tr> <tr> <td>トラフィック妨害</td> <td>パケットをキャプチャして覗き見る</td> </tr> </tbody> </table></div> <h1 id="防ぐ方法(ネットワークセキュリティ)"><a href="#%E9%98%B2%E3%81%90%E6%96%B9%E6%B3%95%EF%BC%88%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%EF%BC%89">防ぐ方法(ネットワークセキュリティ)</a></h1> <div class="table-responsive"><table> <thead> <tr> <th>方法</th> <th>概要</th> </tr> </thead> <tbody> <tr> <td>OSとアプリの定期的な更新</td> <td>セキュリティホール(弱点)が見つかることがあるので、それを防ぐため</td> </tr> <tr> <td>ネットワークデバイスの保護</td> <td>物理的に、ネットワークデバイスを鍵付きのラックに入れるなどして、厳重に保護</td> </tr> <tr> <td>ユーザに対する教育</td> <td>情報漏洩や内部からの攻撃が怖いので。</td> </tr> <tr> <td>FW、IDS\IPS、ウイルス対策ソフトの配備</td> <td>FWでパケットフィルタリング、IDSやIPSで侵入防止、ウイルス対策ソフトで悪意のあるソフトウェアからPCを保護する</td> </tr> <tr> <td>パスワードの複雑化</td> <td>パスワードにpasswordとかつけないように。文字数や大文字小文字数字を組み合わせるなどして複雑にする。</td> </tr> <tr> <td>多要素認証</td> <td>知識要素(パスワードやPIN)と、所有要素(SMS認証やワンタイムパスワード)と、 生体認証(指紋や網膜)を組み合わせる</td> </tr> <tr> <td>CDPの無効化</td> <td>隣接機器にIPアドレスを伝えたくないので、必要ない場合は無効化しておく</td> </tr> <tr> <td>HTTPサーバとHTTPSサーバの無効化</td> <td>リモートアクセスの時は、SSHを使ったCLIが多いので、GUI操作であるHTTPやHTTPSは切っておく</td> </tr> <tr> <td>セキュアなプロトコルを使う</td> <td>Telnetを使うぐらいなら、SSHで</td> </tr> <tr> <td>未使用ポートの無効化</td> <td>使っていないポートはshutdownしておく</td> </tr> <tr> <td>パスワードの暗号化</td> <td>ネットワーク管理者の操作画面から盗まないように、encryptionしておく</td> </tr> </tbody> </table></div> skyms tag:crieit.net,2005:PublicArticle/17482 2021-07-05T15:52:01+09:00 2021-07-05T15:52:01+09:00 https://crieit.net/posts/5ea2e845a4d8584a26cfcc0a1d73ecd3 アクセスポートとトランクポートの違い <h2 id="アクセスポートとトランクポートの違い"><a href="#%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E3%81%A8%E3%83%88%E3%83%A9%E3%83%B3%E3%82%AF%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AE%E9%81%95%E3%81%84">アクセスポートとトランクポートの違い</a></h2> <p>スイッチを設定するときに、アクセスポートとトランクポートの違いをいまいち理解できていなかったので。</p> <h5 id="スイッチのポートは、「どのVLANに対応しているか」で、アクセスポートとトランクポートに分類される"><a href="#%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%E3%81%AE%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AF%E3%80%81%E3%80%8C%E3%81%A9%E3%81%AEVLAN%E3%81%AB%E5%AF%BE%E5%BF%9C%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B%E3%80%8D%E3%81%A7%E3%80%81%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E3%81%A8%E3%83%88%E3%83%A9%E3%83%B3%E3%82%AF%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AB%E5%88%86%E9%A1%9E%E3%81%95%E3%82%8C%E3%82%8B">スイッチのポートは、「どのVLANに対応しているか」で、アクセスポートとトランクポートに分類される</a></h5> <p>・アクセスポート<br /> 1つのVLANに対応。エンドユーザーのPCを接続するポートなどに利用される。(デフォルトはVLAN1)</p> <p>・トランクポート<br /> 複数のVLANに対応。スイッチ同士やスイッチとルータを接続(VLAN間通信の際に利用)するポートなどに利用される。</p> <h4 id="アクセスポートの設定例"><a href="#%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AE%E8%A8%AD%E5%AE%9A%E4%BE%8B">アクセスポートの設定例</a></h4> <p>・Fa0/2をアクセスポートにして、VLAN20を割り当てる<br /> Switch(config)#interface FastEthernet 0/2<br /> Switch(config-if)#switchport mode access<br /> Switch(config-if)#switchport access vlan 20</p> <p>・Fa0/5をアクセスポートにして、VLAN30を割り当てる<br /> Switch(config)#interface FastEthernet 0/5<br /> Switch(config-if)#switchport mode access<br /> Switch(config-if)#switchport access vlan 30</p> <h4 id="トランクポートの設定例"><a href="#%E3%83%88%E3%83%A9%E3%83%B3%E3%82%AF%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AE%E8%A8%AD%E5%AE%9A%E4%BE%8B">トランクポートの設定例</a></h4> <p>・Fa0/1のカプセル化方式を802.1Qにしてdynamic desirableモードにする<br /> (対向とのネゴシエーションの結果トランクポートになる)<br /> Switch(config)#interface FastEthernet 0/1<br /> Switch(config-if)#switchport trunk encapsulation dot1q<br /> Switch(config-if)#switchport mode dynamic desirable</p> <p>・Fa0/6のカプセル化方式を802.1Qにしてトランクポートにする<br /> Switch(config)#interface FastEthernet 0/6<br /> Switch(config-if)#switchport trunk encapsulation dot1q<br /> Switch(config-if)#switchport mode trunk</p> <h3 id="アクセスポートとトランクポートの確認方法"><a href="#%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E3%81%A8%E3%83%88%E3%83%A9%E3%83%B3%E3%82%AF%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AE%E7%A2%BA%E8%AA%8D%E6%96%B9%E6%B3%95">アクセスポートとトランクポートの確認方法</a></h3> <p>アクセスポートになっているのか、トランクポートになっているのかは「show vlan」「show interfaces trunk」「show interfaces status」「show interfaces switchport」などのコマンドで確認できます。<br /> 各コマンドの表示は以下のようになります。なお、いずれもFa0/1とFa0/6がトランクポートになっている場合の表示例です。</p> <p>・show vlan<br /> 「Ports」の項目に表示されるポートがアクセスポート<br /> 「Ports」の項目に表示されないポートがトランクポート</p> <p>・show interfaces trunk<br /> 「Port」の項目に表示されないポートがアクセスポート<br /> 「Port」の項目に表示されるポートがトランクポート</p> <p>・show interfaces status<br /> 「VLAN」の項目がVLAN番号になっているポートがアクセスポート<br /> 「VLAN」の項目がtrunkとなっているポートがトランクポート</p> <p>・show interfaces switchport<br /> 「Operational Mode」の項目がaccessとなっているポートがアクセスポート<br /> 「Operational Mode」の項目がtrunkとなっているポートがトランクポート</p> skyms tag:crieit.net,2005:PublicArticle/17477 2021-07-01T10:44:35+09:00 2021-07-09T10:02:59+09:00 https://crieit.net/posts/AP 【ネットワーク】APのモードについて <h1 id="APのモードについて"><a href="#AP%E3%81%AE%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">APのモードについて</a></h1> <div class="table-responsive"><table> <thead> <tr> <th>モード</th> <th>概要</th> </tr> </thead> <tbody> <tr> <td>Local</td> <td>無線LANクライアントと電波を送受信する</td> </tr> <tr> <td>FlexConnect</td> <td>WAN経由でWLCと接続するときに使用する。集中管理型APだとWLCが必要なので、あったほうが良い。いざなんかあったとき(WLCにつなげなくなったとき)ローカルで実行することができる。</td> </tr> <tr> <td>Monitor</td> <td>不正なAPや無線LANクライアントを監視と分離</td> </tr> <tr> <td>Rogue Detector</td> <td>不正APの検出と侵入検知の専用センサー</td> </tr> <tr> <td>Sniffer</td> <td>特定のチャネルのパケットをすべて集めて指定されたデバイスに送信する</td> </tr> <tr> <td>Bridge</td> <td>APをブリッジとして機能させる</td> </tr> <tr> <td>SE-Connect</td> <td>スペアナで無線電波の干渉などを調べる</td> </tr> </tbody> </table></div> skyms tag:crieit.net,2005:PublicArticle/17084 2021-05-11T00:58:16+09:00 2021-05-26T20:11:28+09:00 https://crieit.net/posts/01-60995818ef306 🐈【ネコでもわかる03】サブネッティングとネットワーク切り分け <p>今回はサブネッティンとネットワークの切り分けについて解説するぎょぴ!<br /> 特攻で作ったから粗が目立つのは大目にみてくださいきんぎょ</p> <p>**********************<br /> ※21/5/26-追記<br /> なぜか、ルータに同じIPアドレスを振っている箇所が複数あります。<br /> 私の勉強不足、不注意です。お詫び申し上げます。<br /> 尚、題材のサブネッティングのやり方には影響はありませんので、そこはご安心を<br /> **********************</p> <p><strong>訂正</strong><br /> ※資料中の表記の訂正です。”オクテッド”ではなく<strong>正しくは</strong>”<strong>オクテット</strong>”です。<br /> <strong>×”オクテッド”<br /> 〇”オクテット”</strong></p> <p>※今回は分かりさを重視するため、誤解を恐れず、不正確な内容を容認しております。そこだけ注意してこの記事を閲覧、ご理解の足しにしていただけますようお願い申し上げます。</p> <p>※ネットワークの設計自体に欠陥があります。こちらは多少大目に見ていただけると幸いです。<br /> 尚、サブネットやネットワーク切り分けに関しての間違えや欠陥についてはコメントにてご指摘いただけますとありがたいです。随時、加筆修正いたします。<br /> (青いネットワークは本当に大目に見てほしいです。ここだけは知識不足、時間不足を痛感しております。💦L3スイッチの偉大さに気づかされました。今後リベンジします。)</p> <p>注意書きが多くてごめんなさいネコ。でも、とても重要なことなのにゃ🐈</p> <hr /> <h4 id="v目次にゃv"><a href="#v%E7%9B%AE%E6%AC%A1%E3%81%AB%E3%82%83v">v目次にゃv</a></h4> <p>1.サブネッティング<br /> 2.今回の構成<br /> 3.今回の条件<br /> 4.ルールや慣例<br /> 5.勘違いしやすいポイント<br /> 6.いざ入刀①<br /> 7.いざ入刀②飛天御剣流抜刀術<br /> 8.まとめ表とエトセトラ</p> <hr /> <h4 id="サブネッティング"><a href="#%E3%82%B5%E3%83%96%E3%83%8D%E3%83%83%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0">サブネッティング</a></h4> <p>ネットワークを切り分ける前に、サブネッティングについて解説するぎょぴー<br /> <a href="https://crieit.now.sh/upload_images/2554329f06841e260699ca7803c494a560993d9e0c9b0.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/2554329f06841e260699ca7803c494a560993d9e0c9b0.png?mw=700" alt="サブ01" /></a><br /> <em>再※※資料中の表記の訂正です。”オクテッド”ではなく<strong>正しくは</strong>”<strong>オクテット</strong>”です。</em></p> <p>まずはネットワーク部とホスト部について簡単におさらいするきんぎょっ!<br /> ちなみにIPアドレスを8ビット毎に区切った位置のことを<strong>第〇オクテット</strong>と呼ぶ狐。</p> <p><a href="https://crieit.now.sh/upload_images/1d4998f49905725f4142502eeb17fafa60993fa5838ad.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/1d4998f49905725f4142502eeb17fafa60993fa5838ad.png?mw=700" alt="サブ02" /></a></p> <p>とりあえず、ここでは<strong>サブネットとIPアドレスを重ね合わせてみる</strong>ことを覚えておくねこよ~</p> <p><a href="https://crieit.now.sh/upload_images/eb63f85f86b59f7ac4919063559d00ed6099409f6dd68.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/eb63f85f86b59f7ac4919063559d00ed6099409f6dd68.png?mw=700" alt="サブ03" /></a></p> <p>さっきから2進数や10進数に変換してばかりで大変きんぎょ~(-_-;)<br /> でもこのくらいの変換ならすぐ慣れるぎょぴぼー。</p> <p>ここでは<strong>重みづけ</strong>から実際に割り当て可能な数を導き出すのにゃ~<br /> <strong>2^n</strong>はコンピュータの世界ではよく出る数式だから覚えておくとよいきんぎょ。<br /> 表中の<strong>実際の値</strong>が<strong>指数</strong>。<strong>2</strong>が<strong>底</strong>ですねこ~。</p> <p><a href="https://crieit.now.sh/upload_images/e3688f0d829876d7b541cc0333c77869609942d51411a.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e3688f0d829876d7b541cc0333c77869609942d51411a.png?mw=700" alt="サブ04" /></a></p> <p>今回は例として重み<strong>6と5の間</strong>で分けたものを用意しましたねこ。<br /> ホスト部となっている<strong>重み5</strong>を先ほどの数式にあてはめるきんぎょー。<br /> 表からも分かる通り、<strong>32</strong>という数字が導けたぬっこーね。<br /> これが<strong>割り当て可能な機器数</strong>になるぎょぴー。</p> <hr /> <h4 id="今回の構成"><a href="#%E4%BB%8A%E5%9B%9E%E3%81%AE%E6%A7%8B%E6%88%90">今回の構成</a></h4> <p>今回ネットワーク切り分けするネットワーク構成ですにゃ🐈<br /> <a href="https://crieit.now.sh/upload_images/5db8e5496bdd583adc1924ce4927795f60994462c38fb.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5db8e5496bdd583adc1924ce4927795f60994462c38fb.png?mw=700" alt="サブ05" /></a><br /> 機器の台数や構成は図の通りねこね~。<br /> (橙枠のハブは気にしないでほしいぎょぴぼー)</p> <p>【ワンポイントアド】<br /> <a href="https://crieit.now.sh/upload_images/5c64ad7b24056b60cfc960eee0862ff5609944e0a261c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5c64ad7b24056b60cfc960eee0862ff5609944e0a261c.png?mw=700" alt="サブ06" /></a><br /> 「<strong>なぜネットワークをわけるの~?</strong>」と思う方も多いはずですにゃ(~_~メ)<br /> 例えば、学校なんかでは生徒用と教員用のネットワークを分けていることがほとんどきんぎょ。<br /> こうすることによって、生徒に見られたらまずい<strong>データを生徒用PCネットワークからアクセスできなくしたり</strong>、ファイアウォール設定で、コンピュータウイルスを<strong>1つのネットワークの中だけで抑え込めたり</strong>するぎょぴ!</p> <hr /> <h4 id="今回の条件"><a href="#%E4%BB%8A%E5%9B%9E%E3%81%AE%E6%9D%A1%E4%BB%B6">今回の条件</a></h4> <p><a href="https://crieit.now.sh/upload_images/41ae66688966d65af58f2bfbfb38c4f5609946bb91cf9.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/41ae66688966d65af58f2bfbfb38c4f5609946bb91cf9.png?mw=700" alt="サブ07" /></a><br /> 今回は<strong>192.168.0.0/24</strong>の中で各機器にIPアドレスを割り振っていくぎょぴよ~<br /> ネットワーク構成は図の通り。<strong>3つ</strong>ぎょぴね。<br /> 今回はさらに、できるだけ<strong>最小</strong>で分けていくきんぎょ。<br /> こうすることで限られた<strong>アドレスを有効活用</strong>出来るぎょぴ!<br /> ただし、ギリギリで設定すると後から機器を増やすとなったときに、新しい機器を入れる隙間がなくて<strong>増設できくなる</strong>こともあるきんぎょ😿<br /> <strong>はじめから先を見越したネットワーク設計</strong>をすることが大切ぎょぴぼー!</p> <hr /> <h4 id="ルールや慣例"><a href="#%E3%83%AB%E3%83%BC%E3%83%AB%E3%82%84%E6%85%A3%E4%BE%8B">ルールや慣例</a></h4> <p>本格的に始める前に<strong>ルールや慣例</strong>を紹介するねこー!<br /> <a href="https://crieit.now.sh/upload_images/751e1e488e2a27b9f41dc570a99f2fa460994930391f3.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/751e1e488e2a27b9f41dc570a99f2fa460994930391f3.png?mw=700" alt="サブ08" /></a><br /> デフォルトゲートウェイについてはあくまで慣例なので、絶対ではないぎょぴよ~。<br /> ネットワークアドレスの次の値をデフォルトゲートウェイにすることも多いねこー。</p> <hr /> <h4 id="勘違いしやすいポイント"><a href="#%E5%8B%98%E9%81%95%E3%81%84%E3%81%97%E3%82%84%E3%81%99%E3%81%84%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88">勘違いしやすいポイント</a></h4> <p><a href="https://crieit.now.sh/upload_images/bb606e71f21d2a63055a4c4f7194fc55609949ed850eb.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/bb606e71f21d2a63055a4c4f7194fc55609949ed850eb.png?mw=700" alt="サブ09" /></a><br /> 「<strong><del>割り当て可能な数が16なら16個の機器にIPアドレスを設定できるってことだよね</del></strong>」<br /> <strong>実は違います!!!!</strong><br /> <a href="https://crieit.now.sh/upload_images/64c715b165a166f091200d4ddbec9d8460994aa7cd922.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/64c715b165a166f091200d4ddbec9d8460994aa7cd922.png?mw=700" alt="サブ10" /></a></p> <p>ネットワークを切り分けるにはあるルールがあります。<br /> それは<strong>1つのネットワーク</strong>には<strong>ネットワークアドレスとブロードキャスアドレスが1つずつ存在</strong>することねこ<br /> つまり、1つのネットワークを作るたびに”<strong>最大割り当て数-2</strong>”をしてあげた値が割り振り可能な数字ですねこ!!<br /> 詳しくは図中の表を参照してほしいにゃ~。</p> <hr /> <h4 id="いざ入刀①"><a href="#%E3%81%84%E3%81%96%E5%85%A5%E5%88%80%E2%91%A0">いざ入刀①</a></h4> <p>それでは上記のルールや注意事項を踏まえて、いざ尋常に刀を抜くきんぎょー!<br /> <a href="https://crieit.now.sh/upload_images/190a1abb5da494ebd4996372f3d62f6460994d936d017.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/190a1abb5da494ebd4996372f3d62f6460994d936d017.png?mw=700" alt="サブ11" /></a><br /> <a href="https://crieit.now.sh/upload_images/996111d167f65eee25bae41dbd4e6e8060994f01b531c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/996111d167f65eee25bae41dbd4e6e8060994f01b531c.png?mw=700" alt="サブ12" /></a><br /> ここで<strong>サブネットが完成</strong>します。これで、10個の機器を割り振るための<strong>ホスト範囲</strong>が確定したぎょぴ。<br /> 今出た範囲を次でIPアドレスにしますにゃ<br /> <a href="https://crieit.now.sh/upload_images/24af464d882b03a5177230ae26d4591660994ff6f354e.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/24af464d882b03a5177230ae26d4591660994ff6f354e.png?mw=700" alt="サブ13" /></a><br /> 注意してほしいのは採番は<strong>1ではなく0から始まる</strong>ことぎょぴぼー<br /> ホストは<strong>16個</strong>だけど、<strong>0から数えるので範囲は0~15</strong>になるきんぎょよ。<br /> ということで、第4オクテッドにあてはめて、<strong>IPアドレスが完成</strong>ねこ!</p> <p><a href="https://crieit.now.sh/upload_images/0226b016691773b3e243e37d0db274bc609950dc82711.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/0226b016691773b3e243e37d0db274bc609950dc82711.png?mw=700" alt="サブ14" /></a><br /> 範囲がでたら、各機器にアドレスを振っていくのにゃ~。<br /> <strong>慣例によって</strong>、ブロードキャスアドレスの<strong>1つ前</strong>をデフォルトゲートウェイ及びルータのギガビットイーサネット0/1に振るのにゃ。<br /> あとは順番に振ってあげればOKにゃんこ~。<br /> (L2スイッチにはIPアドレスは割り振りませんが、スイッチを外部からアクセスして操作、管理するときにIPが必要なので今回は割り振ります。)</p> <hr /> <h4 id="いざ入刀②飛天御剣流抜刀術"><a href="#%E3%81%84%E3%81%96%E5%85%A5%E5%88%80%E2%91%A1%E9%A3%9B%E5%A4%A9%E5%BE%A1%E5%89%A3%E6%B5%81%E6%8A%9C%E5%88%80%E8%A1%93">いざ入刀②飛天御剣流抜刀術</a></h4> <p>緑枠のネットワークが終わったので、次に大きい橙枠のネットワークを捌いていくっでござるよ。<br /> <a href="https://crieit.now.sh/upload_images/bcd859d6b0811a56d55d24d39cb7529f609952d8835fa.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/bcd859d6b0811a56d55d24d39cb7529f609952d8835fa.png?mw=700" alt="サブ15" /></a><br /> いざ入刀①と同じで、<strong>必要な機器の数を計算</strong>するでござるにござるぅ~!!<br /> <a href="https://crieit.now.sh/upload_images/703fd62e5c2b543976b6d9cb56288c396099536725362.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/703fd62e5c2b543976b6d9cb56288c396099536725362.png?mw=700" alt="サブ16" /></a><br /> サブネット完成でござるよ。<br /> 入刀①とサブネットの値が変わったのが気づけた剣心?<br /> <a href="https://crieit.now.sh/upload_images/e6087650d5264d9a8c9543c8c1f2765f60995405ad643.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e6087650d5264d9a8c9543c8c1f2765f60995405ad643.png?mw=700" alt="サブ17" /></a><br /> <strong>2回目以降</strong>のネットワーク切り分けの際には<strong>前回のネットワーク範囲を考慮</strong>するのを忘れたらだめゼヨ。<br /> <strong>前回、0.15まで使った</strong>ので、<strong>今回はその続きの0.16から</strong>はじめるぎょぴー。<br /> <a href="https://crieit.now.sh/upload_images/260db61842432da89cdf266ace10bf09609954d6bd795.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/260db61842432da89cdf266ace10bf09609954d6bd795.png?mw=700" alt="サブ18" /></a><br /> こちらも各機器にアドレスを振っていくきんぎょねー。</p> <hr /> <h4 id="まとめ表とエトセトラ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81%E8%A1%A8%E3%81%A8%E3%82%A8%E3%83%88%E3%82%BB%E3%83%88%E3%83%A9">まとめ表とエトセトラ</a></h4> <p>今回はネットワーク構成では3つあったけれど、私の個人的都合で、青ネットワークは非常にややこしくなってしまい、今回の意図を外れそうなのでパスさせてほしいきんぎょ…</p> <p>(<strong>この行読むとややこしくなります。未読推奨です</strong>)一応、表は掲載しますが、機器2つに対して2つのネットワークを振ってる金魚。私の設計力、知識、その他もろもろ不足していた結果です。後日リベンジ…</p> <p>まとめの表には今回、私が割り振ったネットワークと機器数や表の見方が書いてあるでござる。<br /> 参考になるかわかりませんが、よろしければ…<br /> <a href="https://crieit.now.sh/upload_images/c2a7d4b890e1cf363b5fb936cab1a9c46099556473979.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c2a7d4b890e1cf363b5fb936cab1a9c46099556473979.png?mw=700" alt="サブ19" /></a></p> <hr /> <p>今回はここまで🐾<br /> 記事や資料のの細々したミスはボチボチ修正していくねこ。<br /> <a href="https://crieit.net/posts/04">次回の記事</a>にもっと直感的に分かる資料も追加する予定きんぎょ~</p> <p>**********************<br /> 再※21/5/26-追記<br /> なぜか、ルータに同じIPアドレスを振っていますね…<br /> 私の勉強不足、不注意です。お詫び申し上げます。<br /> **********************</p> <p>次回も頑張るきんぎょー…</p> keito_woood tag:crieit.net,2005:PublicArticle/17056 2021-05-04T11:55:50+09:00 2021-05-04T11:55:50+09:00 https://crieit.net/posts/Windows-Server-CertReq-CSR Windows Server の CertReq で作成した CSR の文字化けを回避する <p>Windows Server の <code>certreq.exe</code> を使って、 https 等を目的に サーバー証明書署名要求 (CSR) を作成した際に、 その CSR や署名後の CER で、 サブジェクト字が文字化けしてしまう場合がある。</p> <p><a href="https://crieit.now.sh/upload_images/2a94ae5a87f998674df6b4d30b4427bd6090b6a8103f8.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/2a94ae5a87f998674df6b4d30b4427bd6090b6a8103f8.png?mw=700" alt="certreq-unicode-00.png" /></a> <a href="https://crieit.now.sh/upload_images/903a4a7899522cbe94fec78c2657d4e96090b6aeb36cc.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/903a4a7899522cbe94fec78c2657d4e96090b6aeb36cc.png?mw=700" alt="certreq-unicode-01.png" /></a></p> <p>この問題は、 <code>certreq.exe</code> にて、テキストファイル (.inf ファイル) から CSR を作成した場合に発生する。</p> <p>そしてこれは、 .inf ファイルを BOM付き UTF-16 LE で保存すれば解決する。<br /> (BOM付き/BOMなし の UTF-8 には対応していない)</p> <p><a href="https://crieit.now.sh/upload_images/86fdbbe43a80ce83bd3ac30183fe7f906090b6b15624c.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/86fdbbe43a80ce83bd3ac30183fe7f906090b6b15624c.png?mw=700" alt="certreq-unicode-02.png" /></a><br /> Windows のメモ帳であれば、 文字コードを Unicode に設定すれば、 OK だ。</p> <p>対処法は単純だが、原因が少しややこしかったので、少し深堀りしてみる。</p> <h2 id="CSR が文字化けする要因"><a href="#CSR+%E3%81%8C%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91%E3%81%99%E3%82%8B%E8%A6%81%E5%9B%A0">CSR が文字化けする要因</a></h2> <p>そもそも、文字化けする要因は以下の3カ所あった。</p> <ol> <li>.inf ファイルが ASCII (Shift_JIS) で保存すると Unicode の情報が失われる</li> <li>certreq.exe が .inf ファイルの文字コードの解決に失敗する</li> <li>X.509 の文字列のエンコードが UTF-8 が指定されていない</li> </ol> <p>(1) はまぁわかりやすいだろう。<br /> テルグ文字や絵文字など、 Shift_JIS に存在しない Unicode の文字が文字化けするのは、これが原因だ。</p> <p>ところが、 古い Windows Server (2012 あたりとか) だったり、 .inf の内容によっては、 非 Shift_JIS 文字だけでなく、 非Ascii 文字 (上のスクショで言うと "京都府" のあたり) も文字化けする場合がある。<br /> これは (1) だけでは説明がつかない。</p> <p>(2) については、 .inf ファイルが Shift_JIS や UTF-8 で保存されていると、 certreq.exe が文字コードの解決を誤ってしまう場合があるのが原因だ。<br /> おそらく、 OS のロケールなどを見て、 BOM付き UTF-16 LE ではないファイルが .inf ファイルに渡されたときの挙動が決まるのだと思われる。</p> <p>この問題も、 .inf ファイルを .inf ファイルを BOM付き UTF-16 LE で保存すれば、文字の解釈が明確になるので、文字化けしなくなる。</p> <p>なお、 (3) については、現行のサポート中の OS では気にする必要はないだろう。 古い OS だと、 HTTPS サーバー証明書の規格である X.509 で、扱う文字列を UTF-8 で記述するバージョンに対応していない可能性がある。</p> <h2 id="サーバー証明書のサブジェクトに顔文字を入れる"><a href="#%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%81%AE%E3%82%B5%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AB%E9%A1%94%E6%96%87%E5%AD%97%E3%82%92%E5%85%A5%E3%82%8C%E3%82%8B">サーバー証明書のサブジェクトに顔文字を入れる</a></h2> <p>試しに、 以下のような内容の <code>request.inf</code> ファイルを、 BOM付き UTF-16 LE で保存して、 certreq.exe で CSR ファイルを作成してみよう。</p> <pre><code class="text">[NewRequest] Subject = "CN=(´◉◞౪◟◉); OU=🥺; O=aquasoftware.net; L=京都市; ST=京都府; C=JP; [email protected]" X500nameflags = "CERT_NAME_STR_SEMICOLON_FLAG" KeyLength = 3072 KeySpec = AT_KEYEXCHANGE KeyUsage = "CERT_DIGITAL_SIGNATURE_KEY_USAGE | CERT_KEY_ENCIPHERMENT_KEY_USAGE" HashAlgorithm = sha256 MachineKeySet = True ProviderName = "Microsoft RSA SChannel Cryptographic Provider" ProviderType = 12 RequestType = CMC [EnhancedKeyUsageExtension] OID=1.3.6.1.5.5.7.3.1 [Extensions] 2.5.29.17="{text}" _continue_ = "DNS=aaa.example.com&" _continue_ = "DNS=bbb.example.com&" _continue_ = "IPAddress=192.0.2.1&" _continue_ = "IPAddress=192.0.2.2" </code></pre> <pre><code class="console">PS> certreq.exe -new .\request.inf .\csr.req CertReq: 要求が作成されました </code></pre> <p>.inf ファイルの書き方については、 <a target="_blank" rel="nofollow noopener" href="https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/certreq_1">certreq | Microsoft Docs</a> のドキュメントを参照のこと。<br /> いくつか特徴的な部分について解説しておくと、</p> <ul> <li>Subject 内のパラメーターに <code>","</code> が使えるよう、 <code>X500nameflags</code> に <code>CERT_NAME_STR_SEMICOLON_FLAG</code> を指定して、区切りを <code>";"</code> に変更している。</li> <li><code>OID=1.3.6.1.5.5.7.3.1</code> の部分では、「拡張キー使用法」に「サーバー認証」の仕組みを与えている。</li> <li><code>[Extensions]2.5.29.17=...</code> の部分では、 SubjectAltName (SAN) に、 DNS や IpAddress を指定している。 SAN の指定がないと、 Chrome で証明書エラーになってしまうため。</li> </ul> <p>これを CA で署名してもらってサーバー証明書として使えば、サーバー証明書内で絵文字ですら使えるようになる。</p> <p><a href="https://crieit.now.sh/upload_images/6cb04d4d5eacfaa773cbe305c0c9f30e6090b6b40a165.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/6cb04d4d5eacfaa773cbe305c0c9f30e6090b6b40a165.png?mw=700" alt="certreq-unicode-03.png" /></a> <a href="https://crieit.now.sh/upload_images/8ff19ca50b52e7e778d73072cb57cf9c6090b6b70a776.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8ff19ca50b52e7e778d73072cb57cf9c6090b6b70a776.png?mw=700" alt="certreq-unicode-04.png" /></a></p> advanceboy tag:crieit.net,2005:PublicArticle/16412 2020-12-23T22:02:48+09:00 2020-12-23T22:02:48+09:00 https://crieit.net/posts/Wireshark Wiresharkの基本 <h3 id="Wiresharkとは"><a href="#Wireshark%E3%81%A8%E3%81%AF">Wiresharkとは</a></h3> <p>Wiresharkはネットワークの解析ソフトウェアの名前。<br /> 近年様々な業界でIT化が推進されている為、どの業界でもエンジニアには必須となりつつある(のかもしれない)…</p> <h5 id="実行環境"><a href="#%E5%AE%9F%E8%A1%8C%E7%92%B0%E5%A2%83">実行環境</a></h5> <ul> <li>OS・・・・・・・・・・・・Windows10 Pro</li> <li>Wireshark Version・・・・・3.4.0</li> </ul> <h5 id="Wiresharkの基本操作"><a href="#Wireshark%E3%81%AE%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C">Wiresharkの基本操作</a></h5> <ul> <li>キャプチャを開始する<br /> Wiresharkを起動すると下記の画面が表示される。<br /> キャプチャの開始方法は次の通り<br /> <a href="https://crieit.now.sh/upload_images/83faef344aee0abca06a7aab0e346e765fe33ece3f647.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/83faef344aee0abca06a7aab0e346e765fe33ece3f647.png?mw=700" alt="image" /></a></li> </ul> <p>①インターフェースを直接選択する<br />  この欄にはWiresharkが自動的に読み込んだインターフェースの一覧が表示<br />  される。<br />  表示されているインターフェースをダブルクリックすると、<br />  そのインターフェースの通信をキャプチャする。</p> <p>②メニューバーから選択する<br />  メニューバーから、「キャプチャ」→「オプション」と選択すると、<br />  インターフェースの一覧が表示される。<br />  ここではNICの動作選択でプロミスキャスモードのON/OFFができるので、<br />  変更が必要な場合はここから開始すると良い。<br />  ※プロミスキャスモードとは・・・同一ネットワーク内のパケットを<br />   全て受信して読み込むモード。<br />   公共のネットワークなどで行うのはクラッキング行為とみなされるので注意</p> <p>③ツールバーから選択する<br />  ツールバーの「キャプチャオプション」を選択すると②と同じウィンドウが開く。</p> <p>④プロトコルでフィルターを掛ける<br />  キャプチャを開始すると、選択したインターフェース上を流れる全ての通信が延々と表示・更新され<br />  続ける。<br />  キャプチャしたいプロトコルが決まっている場合、「表示フィルター」にプロトコル名を入力して、<br />  フィルターを有効化する。</p> <ul> <li><p>キャプチャを停止する<br /> <a href="https://crieit.now.sh/upload_images/1bf1fbfafafb5226bdd22e187ee049795fe29925e8ccb.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/1bf1fbfafafb5226bdd22e187ee049795fe29925e8ccb.png?mw=700" alt="image" /></a><br /> ①ツールバーの「パケットキャプチャを停止します」を選択すると、パケットのキャプチャを停止する。<br /> キャプチャしている限り画面は常に更新し続けるため、必要なデータがとれたらキャプチャを停止して<br /> からパケット解析をすると良い。</p></li> <li><p>キャプチャの読み取り方<br /> <a href="https://crieit.now.sh/upload_images/07c48ae5f6b52cae3d65af35d040ff915fe303b282e23.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/07c48ae5f6b52cae3d65af35d040ff915fe303b282e23.png?mw=700" alt="image" /></a></p></li> </ul> <p>①【No.】<br />  キャプチャされた順番。No.の値が大きいほど最新のパケット情報を表す。</p> <p>②【Time】<br />  Wiresharkでキャプチャを開始してから経過した時間を表す。</p> <p>③【Source】<br />  通信の送信元情報。MACアドレスだったり、IPアドレスだったりする。<br />  ※表示されるMACアドレスは、メニューバーから「表示」→「名前解決」の<br />  「物理アドレスを解決」にチェックが入っていると、ベンダーコード(MACアドレス上位の6桁)を<br />  文字列に変換してくれる。<br />  例としてはApple_xx:xx:xxやBuffalo_xx:xx:xxといった感じ。</p> <p>④【Destination】<br />  通信の宛先情報。③と同じくMACアドレスやIPアドレスが表示される。<br />  ブロードキャスト通信だった場合、「名前解決」機能でBroadcast表記される。</p> <p>⑤【Protocol】<br />  その通信で扱っている通信プロトコルを表示する。</p> <p>⑥【Length】<br />  その通信のフレーム長を表示する。単位は[byte]</p> <p>⑦【Info】<br />  通信内容に関するインフォメーション。<br />  例)ICMPのエコー要求、HTTPのGETメソッド</p> <p>⑧【パケット詳細ペイン】<br />  通信の詳細情報を表示する。<br />  この図だと、上から順にEthernetフレーム、Ethernetヘッダ、ARPヘッダを表示している。<br />  各項目の左側にある「>」マークをクリックすると、そのフレーム・ヘッダ情報を<br />  詳しく見ることができる。</p> Nata tag:crieit.net,2005:PublicArticle/16389 2020-12-19T02:25:20+09:00 2020-12-19T02:26:20+09:00 https://crieit.net/posts/afe34561da4cf25d195e6c936b5d1aef インフラエンジニアって何なの? <p>テクノロジーの進化でグローバル化が進み、ITの必要性は加速しています。<br /> 5G時代の4種の神器ともいわれている、</p> <p>「ビッグデータ」「クラウド」「ブロックチェーン」「IoT」<br /> で情報の通信も複雑化しています。それに伴いネットワークを構築するための需要も高くなります。そこで必要となるのがITエンジニアです。</p> <h2 id="縁の下の力持ちである"><a href="#%E7%B8%81%E3%81%AE%E4%B8%8B%E3%81%AE%E5%8A%9B%E6%8C%81%E3%81%A1%E3%81%A7%E3%81%82%E3%82%8B">縁の下の力持ちである</a></h2> <p>普段からやり取りするために利用される、Line、Instagram、仕事の連絡でもzoom、Slack、娯楽や学びを提供するYouTube、Netflixなど、これらを動かすプログラムだけでは全く機能しません。</p> <p>そこで必要になるのがそれらのデータを管理するサーバとそれらを利用するデバイスをつなげるネットワークです。そのネットワークの通信をつなぐためにはいくつものデータの通信が必要になります。それらを安定して安全に提供するためにはインフラエンジニアが必要になります。</p> <h2 id="インフラエンジニアに必要なもの"><a href="#%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E3%82%82%E3%81%AE">インフラエンジニアに必要なもの</a></h2> <p>2000年以降、世界経済が進み市場に急速の変化が始まりました。変動性、不安定であり、未来の読めない時代になっています。変化に対応するためには常に情報をアップデートし、新たな技術、脅威、市場など、インフラエンジニアは学習していく必要があります。</p> <p>インフラエンジニアに求められるのはサーバやネットワーク技術を扱うエンジニアでかつ、利⽤者の悩みを改善するための提案やその改善ができる⼈です。</p> <h2 id="インフラエンジニアが扱う仕事の範囲"><a href="#%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%8C%E6%89%B1%E3%81%86%E4%BB%95%E4%BA%8B%E3%81%AE%E7%AF%84%E5%9B%B2">インフラエンジニアが扱う仕事の範囲</a></h2> <p>ITを扱うにあたり、OSI参照モデルという通信の流れのようなものがあります。それを利用し、通信の規則を決めております。</p> <hr /> <div class="table-responsive"><table> <thead> <tr> <th>レイヤー</th> <th>階層名</th> </tr> </thead> <tbody> <tr> <td>レイヤー7</td> <td>アプリケーション層</td> </tr> <tr> <td>レイヤー6</td> <td>プレゼンテーション層</td> </tr> <tr> <td>レイヤー5</td> <td>セッション層</td> </tr> <tr> <td>レイヤー4</td> <td>トランスポート層</td> </tr> <tr> <td>レイヤー3</td> <td>ネットワーク層</td> </tr> <tr> <td>レイヤー2</td> <td>データリンク層</td> </tr> <tr> <td>レイヤー1</td> <td>物理層</td> </tr> </tbody> </table></div> <hr /> <p>データを送信する際はアプリケーション層(レイヤー7)からデータを下階層に渡していき、物理層(レイヤー1)まで到達したら相手の物理層からデータを上階層に渡していき、アプリケーション層に到達して送信完了となります。</p> <p>これが送信の流れですが、インフラエンジニアが担当する仕事は<br /> トランスポート層、ネットワーク層、データリンク層、物理層を担当します。それ以上の層はサーバエンジニアやフロントエンドエンジニアが担当します。</p> <h2 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h2> <p>繋がって当たり前だと思われているネットワークですが、インフラエンジニアがいることでライフラインであるネットワークをこうして今も使うことができます。</p> <p>積極的にはプログラミングをあまり行わないインフラエンジニアですが、会社でネットワーク環境を作る企業が増え、かなり責任重大な仕事です。業務では緊張感を持ってやっていかなければいけないですね。</p> masaochann tag:crieit.net,2005:PublicArticle/16380 2020-12-17T11:46:33+09:00 2020-12-23T16:40:17+09:00 https://crieit.net/posts/bda5f98ff5a11f3e54c79efdd30ca9db ネットワーク基礎~通信のカプセル化~ <h5 id="OSI参照モデルとTCP/IPモデル"><a href="#OSI%E5%8F%82%E7%85%A7%E3%83%A2%E3%83%87%E3%83%AB%E3%81%A8TCP%2FIP%E3%83%A2%E3%83%87%E3%83%AB">OSI参照モデルとTCP/IPモデル</a></h5> <p>OSI参照モデルとTCP/IPモデルは共に、端末から端末へデータを通信する際に必要な処理を、<br /> いくつかのステップをまとめたもの。</p> <ul> <li><p>OSI参照モデル<br /> 全7階層からなる通信モデル。通信の流れを細かく規定していたが、あまり浸透しなかった。<br /> そのため、現在では通信の考え方を学ぶために参照される程度となっている。<br /> <a href="https://crieit.now.sh/upload_images/f54cef13db3868e26498af2ad01d5c595fdac251d7e93.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/f54cef13db3868e26498af2ad01d5c595fdac251d7e93.png?mw=700" alt="image" /></a></p></li> <li><p>TCP/IPモデル<br /> 全4階層からなる通信モデル。インターネットを中心とした、現在のネットワークでよく使われるプロトコルを4つの階層にまとめた通信の基本ルール。<br /> 現在のネットワークはこちらの通信モデルで設計されている。<br /> <a href="https://crieit.now.sh/upload_images/66bc1d1ba53ef9a645963d5cd6a15cf85fdac26ac2e6d.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/66bc1d1ba53ef9a645963d5cd6a15cf85fdac26ac2e6d.png?mw=700" alt="image" /></a></p></li> </ul> <h5 id="ヘッダとカプセル化/非カプセル化について"><a href="#%E3%83%98%E3%83%83%E3%83%80%E3%81%A8%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96%2F%E9%9D%9E%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">ヘッダとカプセル化/非カプセル化について</a></h5> <p>通信を行う際には通信モデルの上位層から、ヘッダをデータに付与していく。<br /> この一連の流れをカプセル化という。<br /> カプセル化とは、送信側の機器がデータを通信できる形に加工すること。<br /> カプセル化のイメージをTCP/IPモデルで表すと下記のとおり。<br /> <a href="https://crieit.now.sh/upload_images/fa6372f0409a65ff57342097dc8427365fd950914dfad.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/fa6372f0409a65ff57342097dc8427365fd950914dfad.png?mw=700" alt="image" /></a></p> <p>データの送信側が梱包したデータを、ヘッダの情報に基づいて受信側が開封していく作業を非カプセル化という。<br /> 非カプセル化とは、受信側の機器が通信データから必要な情報を切り取っていくこと。<br /> 非カプセル化のイメージをTCP/IPモデルで表すと下記のとおり。<br /> <a href="https://crieit.now.sh/upload_images/80ac78d2b59035647d6315f45683bce65fd950a985e7b.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/80ac78d2b59035647d6315f45683bce65fd950a985e7b.png?mw=700" alt="image" /></a></p> <h5 id="ヘッダの種類"><a href="#%E3%83%98%E3%83%83%E3%83%80%E3%81%AE%E7%A8%AE%E9%A1%9E">ヘッダの種類</a></h5> <p>ヘッダにはそれを取り付けた通信モデルの階層によって異なる名前がつけられる。<br /> 以下、一例。</p> <ul> <li><p>Ethernetヘッダ・・・データリンク層、ネットワークインターフェース層でつくヘッダ。制御情報の中身は送信元(Source)のMACアドレスと送信先(Destination)のMACアドレス。</p></li> <li><p>Ethernetトレーラ・・・データリンク層、ネットワークインターフェース層ではデータの末尾にトレーラと呼ばれる制御情報がセットで付与される。これは送信先でデータが欠けていないかをチェックする為のチェックコードとなっている。</p></li> <li><p>IPヘッダ・・・ネットワーク層、インターネット層でつくヘッダの一種。IPアドレスで通信する際に使用される。制御情報の中身は送信元(Sender)IP Address、送信元(Sender)MAC Address、送信先(Target)IP Address、送信先(Target)MAC Addressとなる。</p></li> <li><p>TCPヘッダ・・・トランスポート層でつくヘッダの一種。<br /> 送信元のポート番号、送信先のポート番号や、送信データの読み取り順序情報などが含まれる。</p></li> </ul> <h5 id="各層でのデータの名前"><a href="#%E5%90%84%E5%B1%A4%E3%81%A7%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%90%8D%E5%89%8D">各層でのデータの名前</a></h5> <p>通信モデルでは、カプセル化する事で各層でデータの中身が異なる。上位の層から受け取ったデータ(ペイロード)と、現在の階層ヘッダを合わせた物を、PDU(Protocol Data Unit)と呼び階層ごとに名称が異なる。</p> <ul> <li>アプリケーション層(+プレゼンテーション層+セッション層)でのPDUの名前はメッセージ。</li> <li>トランスポート層でのPDUの名前はセグメント。L4ヘッダ+メッセージ</li> <li>ネットワーク層(もしくはインターネット層)でのPDUはパケット。L3ヘッダ+セグメント</li> <li>データリンク層(もしくはネットワークインターフェース層)でのPDUはフレーム。L2ヘッダ+パケット+L2トレーラ</li> </ul> Nata