MkItYs

MkItYs > 

images

ネットワークとサーバを作る

images

サーバの作り方と、それをとりまくネットの整え方をみていきます[※1]


※1
ネットワークを作るときに注意しなければいけないのは、その安全性(セキュリティ)ですがーーとはいえ、完全に安全なシステムを作ることは不可能、というのはよく言われることですよね(無限のお金と永遠の時間はかけられない)。トラブルが起こらないようにすることだけに注力し、それが「絶対に起こらない」と考えたり言ったりするのでなく、<トラブルが起きたときにどうするか>を考えたり言ったりすることがむしろ大切だったりするわけですし(危機管理)。

コンピュータとOS


しくみ
つくる

LANとインターネット


しくみ
images
ルーティング(切れたら自動で切り替え〜分散型の管理):IGP (RIP, OSPF), EGP (BGP)
images
IPとエンドツーエンド原理(インターネットが世界規模になれる理由):IP
images
TCPと2軍隊問題(どうして<OK>のやり取りは3回なのか):TCP
images
ローカルネットワークとインターネット・スイートの連携:Ethernet, ARP
images
プラグ&プレイ(なにもしなくてもネットにつながる):DHCP
images
プロトコルの階層(足元だけ気にすればいい):OSI, Ethernet, TCP/IP
つくる
images
独自のコミュニケーション方式を作る:Erlang
images
ネットワーク・シミュレータを使う:ns3
images
静的ルートを設定する:Yamaha RTX (ip route)

各種サービス:ネームサービス


しくみ
images
広域分散データベース(データのツリーがネット全体のダウンを防ぐ):DNS
images
もうひとつの分散ネームサービス:LDAP
images
ファイルサーバとの連携:NIS
つくる

各種サービス:メールサービス


しくみ
images
メールの送信(多様なメールの通信方式からインターネット向けへ):SMTP
images
メールの受信(メールを取り込む/サーバで管理する):POP/IMAP
images
メーリングリスト(メールをいっせいに送る)
つくる
images
メールサーバを設定する:Postfix
images
メールボックスサーバを設定する:Dovecot
images
メーリングリスト管理アプリを設定する:Mailman
images
メールサーバの設定で注意すべきこと

各種サービス:ファイルサービス


しくみ
images
より安全なファイルサービス:SSH (SFTP)
images
ローカルネットワークで同一環境を実現する:NFS
つくる
images
ファイルサーバを設定する:sftpd
images
ファイルサーバを設定する:nfsd, autofs
images
パソコン(Windows / Mac )向けのファイル共用環境を作る:Samba (smb)

各種サービス:ウェブサービス


しくみ
images
ウェブのプロトコル(なぜ<クッキー>が必要になる?):HTTP
images
ウェブサーバとプロキシ
つくる

暗号化と認証


しくみ
images
秘密鍵と公開鍵
images
VPNとワンタイムパスワード
つくる
images
VPNを設定する(ルータ):Yamaha RTX (tunnel)
images
VPNを設定する(サーバ):OpenVPN (openvpn) , L2TP (xl2tpd)
images
認証をネームサービスと連携させる:RADIUS
images
ワンタイムパスワードを設定する:Google Authenticator

C/Sシステムとファイアウォール


しくみ
images
サーバとクライアント
images
パケットとフィルタ(不正侵入を防ぐ)
つくる
images
パケットフィルタを設定する(ルータ向け):Yamaha RTX (ip filter)
images
ネットワークとマルチプレイ 〜 XR空間での同期:Unity (Netcode, XR Interaction Toolkit)

プラグ&プレイ〜高可用性システム


しくみ
images
リソースの自動割当
images
クラスタと高可用性
つくる
images
ネットワークのプラグ&プレイ(DHCPサーバを設定する):Yamaha RTX (dhcp)
images
コンテナにリソースを自動で割り当てる:Docker, Kubernetes
images
ストレージの可用性を上げる:RAID, network RAID
images
高可用性アプリを設定する(ファイル/フォルダの冗長化):DRBD, Corosync, Pacemaker
images
高可用性アプリを設定する(仮想OSの冗長化):DRBD, Corosync, Pacemaker, Xen
images
コンテナをクラスタで管理する:Docker, Kubernetes

システム管理の効率を上げる


しくみ
つくる
images
ストレージのバックアップをとる:tar, rsync
images
システムをモニタする:snmpd
images
管理用のスクリプトを作る:sh, awk, perl, ...
images
構成管理アプリを使う:Ansible