ネットワーク

覚えなければ意味がないので簡単にいきます。

本当に必要最低限なんですが、
ネットワークエンジニアとの認識が合わせられるようになり確実に威力を発揮すると思います。

では進めていきます。

ネットワークは大きく分けてL2とL3の世界だということを認識し意識しましょう。
では、それぞれ重要と思われる部分を説明していきます。

 

■レイヤ2(データリンク層)

レイヤ2では各ノードを識別するためにNICやハードウェアに一意に割り当てられる物理アドレス(MACアドレス)を利用し、直接接続した機器同士の通信や電気信号の誤り訂正を行う。

レイヤ2に対応するテーブルはMACアドレステーブルである

MACアドレステーブル
接続機器のMACアドレスと自身のポートとの対応表で、接続機器から発せられる通信を参照することで学習、生成している。

使えるツール arping、arp など

 

■レイヤ3(ネットワーク層)

ネットワーク上のノードに一意のIPアドレス情報を割り当て、それを基に、異なるネットワーク間の中継やパケットサイズの変換などを行う。

レイヤ3に対応するテーブルはARPテーブル、ルーティングテーブルである。

ARPテーブル
IPアドレスやMACアドレスの対応表で、arpと呼ばれるプロトコルで取得し、生成している。
ルーティングテーブル
宛先ネットワークと転送先IPアドレスの対応表で、設定や近接機器との経路交換で学習、生成している。

使えるツール ip、ping、traceroute(tracert)など

 L3スイッチでは処理高速化のため、実際には前述のMACアドレステーブルやarpテーブル、ルーティングテーブルを基にFDBテーブルと呼ばれるテーブルを生成、ASICに落とし込んで処理をさせているが、論理的にL2スイッチと高速ルータに分かれていると考えれば良い。

 

■テーブル対応表

tableseet

上記を踏まえてここからは具体的にどのような点に注意すべきなのかをまとめました。 ここでもL2とL3の違いを意識してみていきましょう。
※そもそも分けてまとめていますが^^;

■L2で注意すべき点

上記の表からわかる通りMACアドレステーブルに注意

L2スイッチ間のケーブル配線の変更などまさにこのテーブルを気にするべきです。

逆に言えば、このMACアドレステーブルしか気にしなくても良い。

スイッチの配線を変更した際はこのMACアドレステーブルをクリアするか、エージングタイム(標準301秒~600秒)まで待つ必要がある。

※もしくは作業中に配下のサーバから連続pingを打っておくことで、配線変更後にスイッチが新しいポートで再学習、MACアドレステーブルを上書きするので、滞りなくスイッチ配線の変更が成功します。

■L3で注意すべき点

MACアドレステーブル、ARPテーブル、FDBテーブルに注意する。

サーバのNIC修理やサーバのIPアドレスを別のサーバへ切り替える場合にこれらを留意する必要がある。

ARPの保持期間はMACアドレスのそれより長くなっているので、タイムアウトまで待つのは現実てきではない。

基本的にはすべての機器ですべてのテーブルをクリアしておけば安心 ※GARPが対応していない機器もあるかもしれないので使わない。

ファイアーウォールや負荷分散装置などは意図的に実装を外している場合があるので特に気を付けること。

 

上記がサーバオペレーションで必要最低限気にしておくべき事項でたいてい予想外の障害も把握できるようになると思います。   最後にもっと絞ります。ここだけ読んでもいいかもしれません。

 

■まとめのまとめ。

・L3スイッチは論理的にL2スイッチとL3スイッチに分かれていていると考える。

・ネットワークメンテナンスはL2レベルとL3レベルを意識する。

・VLANにIPが設定できるインテリジェントL2スイッチというものがあるが、基本的にサーバが1台接続されたL2スイッチと考えておけば良い。 ※対象L2スイッチへの死活監視やリモート接続は影響を受けるが、L2スイッチを通過しているだけの通信には影響しない。

上記を最低限押さえておくことで、いろんな事が推測できるようになると思います。

これをベースにいろんな事が説明できるようになっていきます。

サーバにブリッジ機能を持たせた場合はMACアドレステーブルを持つことになるとか仮想化の部分の理解の助けにもなりますし、

OpenFlowの技術はL1からL4、L7などのマルチレイヤ層を抽象化(フロー化)し今まで階層ごとに処理していたものを一つのレイヤのみで転送できるようになる技術なんだとわかるとかですかね。

routeswitch

ということで、
本日のお話しは以上ですが、みなさん的に、これも忘れちゃいかんでしょ?ってありましたらツイートいただけると嬉しいです。反映したいと思います。

linux, コマンド, 小ネタ, 運用管理

ifconfigを含むnet-toolsが非推奨になって久しいようですが、

rhel7系からnet-toolsはおさらばとなります。
※手動で入れれば使えますが。

今思えば、ifconfig君

あなたと出会ってからこの十数年、あなたを打たなかった日はありません。

雨の日も風の日もいつも一緒だったね。

あなたがいつもいてくれたから私も輝けたんだといます。

これから私は新しいiproute2君と歩んでいくことになりますが、あなたのことは決して忘れることはないでしょう。

ifconfig君に幸あれ

P.S.
ついつい ifco[tab]ってやっちゃうのはご愛嬌です。

ということでnet-toolsとiproute2の対応表一覧です。自分の備忘録として残しておきます。

net-tools iproute2
ifconfig ip l (ip link)
ifconfig -a ip a show (ip addr show)
ifconfig eth0 up ip link set eth0 up
netstat ss
netstat -i ip -s link
netstat -l ss -l
netstat -r ip r (ip route)
route [add|del] ip route [add|del]
route -n ip route show
arp -n ip n (ip neighbor)

heartbeat+pacemakerなどで利用する仮想IPはipaddr2を利用しています。

そもそもifconfigではこのコマンドで設定されたIPは表示されません。rhel6系であってもip addr showで確認しなくてはいけません。

開発、オペレーションする側みんながこの違いを認識し共有することがミスを防ぐことになります。

小ネタ

こんにちは

焼き直し的なネタですが、お恥ずかしながら私は知らなかったので共有します。
ドキュメント用にIPアドレスとドメインが予約されているって話です。

RFC2606:ドメインについて

ドキュメント用に予約されているドメインは

example.com
example.net
example.org

※これらのドメイン名はドキュメンテーションにおける例を提示するために利用する。このドメインは予約されているので万が一パブリック環境で利用したとしても第三者に影響を及ぼすことがない。

jpドメインなら下記が予約されています。

example.jp
example.co.jp
example.ne.jp
ドメイン名例.JP

※また、exampleの後ろに0~9の数字、たとえばexample0.jpなどなども予約されています。

rfc5737(RFC3330):IPv4ドキュメント用アドレスブロック

192.0.2.0/24
198.51.100.0/24
203.0.113.0/24

※こちらもドメイン同様ドキュメントやサンプルコードで例を提示するために利用する。このIPアドレスはブロックされているので第三者に影響を及ぼすことがない。

ちなみにipv6はこちらです。

rfc3849:IPv6ドキュメント用アドレスプリフィックス

2001:0DB8::/32

今後はこのあたりも気にしながら書いてみます。^^

イベント, インフォメーション, ネットワーク, 勉強会

先日香川県高松市で行なわれたJANOG34 Meetingのセッションで、メールとExcelをやめて、もっと便利なツールを使おうぜ、という内容の発表をしてきました。

情報共有ツールの情報共有
http://www.janog.gr.jp/meeting/janog34/program/itool.html

ウケを取るべく

– 北斗の拳
– エレキテル連合

を資料に入れこんでみたのですが、まったくウケず。
会場にいるコア層の30〜40代の男性を狙ったマーケティングだったのですが失敗でした。
どうせウケないのなら、次は20代腐女子を狙って進撃の巨人あたりのネタを使えば良かった。

「ダメよー、ダメダメ!!」も知らない人がほとんど。
DMM.comラボのネットワークチーム内で話題になってたのでイケると踏んだのですが、一般社会と我々のチームの間には大きな溝があったようです。

次回は頑張ります。

 

そうそう、JANOG34 Meetingで配ったDMMかき氷は無事に一般発売されました。

DMM.comが作りたての「かき氷」を再現
http://prtimes.jp/main/html/rd/p/000000040.000002581.html

DMMかき氷

「DMMかき氷を見かけたらtwitterでつぶやこう!」キャンペーンも実施しています。
DMMかき氷の写真をツイートすると1000円分のDMMギフト券が抽選で当たりますよー。

 

小ネタ

最近、rhel7系を触り始めました。

firewalldはiptablesに変更するなど、rhel6系からの移行はゆるーくいこうかなと考えてます。

とりあえず、7系になって違うところを共有していこうと思います。

まずは、rc.local

普通にファイルがあったので、とりあえずコマンドを書き込んでみたのですが、

起動時に実行してくれないようです。

systemdで管理されているようなので、
/usr/lib/systemd/system/rc-local.service
を覗くと実行権限が付与されている場合に読みだされると書いてある。

# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.

# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.d/rc.local is executable.
[Unit]
Description=/etc/rc.d/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
RemainAfterExit=yes
SysVStartPriority=99

ということで、chmod u+x /etc/rc.d/rc.localとして起動してみたところ問題なく実行されてました。

ちなみに起動後に再度読み込ませたい場合は

systemctl start rc-local

で再実行が可能です。

PAGE TOP