サーバの作り方と、それをとりまくネットの整え方をみていきます。[※1]
- ※1
- ネットワークを作るときに注意しなければいけないのは、その安全性(セキュリティ)ですがーーとはいえ、完全に安全なシステムを作ることは不可能、というのはよく言われることですよね(無限のお金と永遠の時間はかけられない)。トラブルが起こらないようにすることだけに注力し、それが「絶対に起こらない」と考えたり言ったりするのでなく、<トラブルが起きたときにどうするか>を考えたり言ったりすることがむしろ大切だったりするわけですし(危機管理)。
コンピュータとOS
- ◯
- しくみ
コンピュータと周辺機器:CPU (Intel, AMD, Arm) , GPU (Nvidia, AMD) , strage (HDD, SSD)
- ◯
- つくる
LANとインターネット
- ◯
- しくみ
ルーティング(切れたら自動で切り替え〜分散型の管理):IGP (RIP, OSPF), EGP (BGP)
IPとエンドツーエンド原理(インターネットが世界規模になれる理由):IP
TCPと2軍隊問題(どうして<OK>のやり取りは3回なのか):TCP
ローカルネットワークとインターネット・スイートの連携:Ethernet, ARP
プラグ&プレイ(なにもしなくてもネットにつながる):DHCP
プロトコルの階層(足元だけ気にすればいい):OSI, Ethernet, TCP/IP
- ◯
- つくる
独自のコミュニケーション方式を作る:Erlang
ネットワーク・シミュレータを使う:ns3
静的ルートを設定する:Yamaha RTX (ip route)
各種サービス:ネームサービス
- ◯
- しくみ
広域分散データベース(データのツリーがネット全体のダウンを防ぐ):DNS
もうひとつの分散ネームサービス:LDAP
ファイルサーバとの連携:NIS
- ◯
- つくる
DNSサーバを設定する:BIND (named)
NISサーバを設定する:NIS server (ypserv)
各種サービス:メールサービス
- ◯
- しくみ
メールの送信(多様なメールの通信方式からインターネット向けへ):SMTP
メールの受信(メールを取り込む/サーバで管理する):POP/IMAP
メーリングリスト(メールをいっせいに送る)
- ◯
- つくる
メールサーバを設定する:Postfix
メールボックスサーバを設定する:Dovecot
メーリングリスト管理アプリを設定する:Mailman
メールサーバの設定で注意すべきこと
各種サービス:ファイルサービス
- ◯
- しくみ
より安全なファイルサービス:SSH (SFTP)
ローカルネットワークで同一環境を実現する:NFS
- ◯
- つくる
ファイルサーバを設定する:sftpd
ファイルサーバを設定する:nfsd, autofs
パソコン(Windows / Mac )向けのファイル共用環境を作る:Samba (smb)
各種サービス:ウェブサービス
- ◯
- しくみ
ウェブのプロトコル(なぜ<クッキー>が必要になる?):HTTP
ウェブサーバとプロキシ
- ◯
- つくる
ウェブサーバを設定する:Apache (httpd)
ウェブサーバの設定で注意すべきこと
暗号化と認証
- ◯
- しくみ
秘密鍵と公開鍵
VPNとワンタイムパスワード
- ◯
- つくる
VPNを設定する(ルータ):Yamaha RTX (tunnel)
VPNを設定する(サーバ):OpenVPN (openvpn) , L2TP (xl2tpd)
認証をネームサービスと連携させる:RADIUS
ワンタイムパスワードを設定する:Google Authenticator
C/Sシステムとファイアウォール
- ◯
- しくみ
サーバとクライアント
パケットとフィルタ(不正侵入を防ぐ)
- ◯
- つくる
パケットフィルタを設定する(ルータ向け):Yamaha RTX (ip filter)
ネットワークとマルチプレイ 〜 XR空間での同期:Unity (Netcode, XR Interaction Toolkit)
プラグ&プレイ〜高可用性システム
- ◯
- しくみ
リソースの自動割当
クラスタと高可用性
- ◯
- つくる
ネットワークのプラグ&プレイ(DHCPサーバを設定する):Yamaha RTX (dhcp)
コンテナにリソースを自動で割り当てる:Docker, Kubernetes
ストレージの可用性を上げる:RAID, network RAID
高可用性アプリを設定する(ファイル/フォルダの冗長化):DRBD, Corosync, Pacemaker
高可用性アプリを設定する(仮想OSの冗長化):DRBD, Corosync, Pacemaker, Xen
コンテナをクラスタで管理する:Docker, Kubernetes
システム管理の効率を上げる
- ◯
- しくみ
ネットワーク監視のための統一リソース:SNMP
独自スクリプトから構成管理アプリへ
- ◯
- つくる
ストレージのバックアップをとる:tar, rsync
システムをモニタする:snmpd
管理用のスクリプトを作る:sh, awk, perl, ...
構成管理アプリを使う:Ansible