= 別ページ = * [[/Pacman]] * [[/UnixSeminar2013演習の回答]] * [[/HSCursesをArchにインストール]] = 雑多なメモ = = 特定のポートを使ってるプロセスを特定 = lsof -i:''port番号'' = rvm gemsetの変な挙動 = 'rvm use ruby-head'すればgemsetはglobalに自動でなるのかと思いきやそうじゃなかった。 defaultとglobalというgemsetが用意されている模様。しかもbundleを使ったときとgemを使ったときのインストール先が別々になっているようだ。 'rvm use gemset global'で解決 = SSH Port Fowarding = localhostの8080番ポートがmznh.dip.jpの6667番を指すようにする。hisuiに中継させる。 {{{ iz@garnet:~$ ssh -L 8080:mznh.dip.jp:6667 hisui }}} = Debianのドキュメント = * http://www.debian.org/doc/manuals/debian-reference/index.ja.html == Wiresharkグループ == wiresharkを使用できるユーザー == MockとStubの違い == どちらもオブジェクトの実装を偽装するもの。 Stubは単純に偽装するだけ。Mockは呼び出し回数などテスト元オブジェクトとの関係の検査も行う。 データベースとのインターフェースがあってそれのStubとMockを作るとき、 * Stubは単に呼び出しに対して値を返すだけ。 * Mockは何回呼び出されたか、どんな引数で呼び出されたか、Openされた後Closeされたかなどのチェックも行う。 ぶっちゃけ気にする必要あるか微妙 == 公開鍵認証によるログイン == === サーバーの設定 === * クライアントの公開鍵を.ssh/authorized_keysに追記 * /etc/ssh/sshd_configに"PubkeyAuthentication yes"を追加(デフォルトでyesになるらしいが一応) * .sshのパーミッションを700(必須) * .ssh/authorized_keysのパーミッションを600に(必須) == DNS講習 == === メモ === * ドメインのルートは空文字。つまり"www.google.com"の正式なドメイン名は"www.google.com." * 正式なドメイン名のことをFQDN(Fully Qualified Domain Name)という * 名前解決:ドメイン名からIPアドレスを調べること === 歴史 === インターネットの前身であるARPANETではHOSTS.TXTというドメイン名とIPアドレスの対応を記録したファイルを持っていた。 この仕組みはネットワークの規模がでかくなり破綻。 ドメインとIPの対応を分散管理する仕組みが考えられたー>DNS === DNSの仕組み === * 各ドメインのDNSはサブドメインのDNSのIPアドレスを記録する ==== 概要 ==== * あるネットワーク上に端末AとDNSサーバーSがあるとする * Aが"www.uec.ac.jp"の名前解決をしたい * AがSに問い合わせる(再帰問い合わせ) * Sがインターネット上に存在するルートサーバーに問い合わせる(反復問い合わせ) * ルートサーバーのIPアドレスはよく知られている(世界に13、どっかのバカが攻撃かけたりしてたまに変わる)。 ==== 使用例 ==== * digコマンド:正引き(ドメイン名ー>IPアドレス) ===== digの出力 ===== * AUTHORITY SECTION :そのIPアドレスとドメイン名の対応を管理しているドメイン * ADDITIONAL SECTION:そのた有用なドメインとIPの対応 ==== 有名なDNSサーバーソフトウェア ==== * BIND(MMAではこれのバージョン9) * Unbound * djbdns * Windows Serverについてくるやつ === BIND === ==== DNSサーバーの種類 ==== * マスターゾーンサーバー * スレーブゾーンサーバー * キャッシュサーバー ==== ゾーンサーバー ==== * ゾーン:DNS情報のひとまとまり 1台のDNSサーバーが1つのドメインを管理しているとは限らない。 複数台で1つのゾーンを管理したり、1つのサーバーが複数のゾーンを管理することもありえる。 * レコード:IPアドレスなどドメイン管理に必要な情報それぞれ ===== レコードの種類 ===== 覚えなきゃいけないらしい。 * SOA(Start Of Authority):ゾーンについての情報。このゾーンの管理者のメールアドレスとか。キャッシュの期限とか。 * A:IPアドレス * NS:DNSサーバー名(自分自身のドメイン名) * MX:メールサーバーのドメイン名 * PTR:逆引き(IPアドレスからドメイン名を調べる) * CNAME:別名 * AAAA:IPv6アドレス ====== MXについて ====== メールサーバーに優先度を割り振ることができる。 メールサーバーってのは落ちられると困る。 障害対策のために何台かメールサーバーを用意しておくとき、適当に割り振るとメールボックスが分散してエラいことになるので優先度を用いる。 ===== マスタとスレーブ ===== DNSは落ちると影響がでかいので、なかなか落ちないようにしている。 マスターが落ちたときのバックアップとして、負荷分散のためのマシンとしてスレーブを用意する。 スレーブはマスターの情報と常に同期する。 ===== ゾーン転送 ===== ふつうゾーンサーバーは複数用意する データの一貫性を保つためにマスタからスレーブに情報を送る。この機能をゾーン転送という。 ==== キャッシュサーバー ==== よく飛んでくるクエリの結果をキャッシュする。 キャッシュサーバーに対する問い合わせを再帰問い合わせ、ゾーンサーバーに対する問い合わせを反復問い合わせという。 ===== DNSキャッシュポイズニング ===== 第3者がキャッシュを書き換える攻撃。やられるとかなり厄介。 ==== 権限 ==== あるDNSがあるドメインを管理していることをそのドメインについて権限を持っているという。 権限は委任することができる。 ex) net hoge pyo foo bar fuga このときhogeのDNSはhogeのDNSに対して権限を委任してドメイン管理をまかせることができる。 uecのサブドメインclubはMMAが管理している(MMAに権限が委任されている)。 === さくらインターネットのドメイン登録サービスに存在した脆弱性 === 1つのサーバーで複数のゾーンを管理しようとすると面倒くさいよという例 * よく分からんかった。後で調べる。 == 工房・Bound Found == まずすべてのnについて1からnまでの和を集めた数列Sを作る。 Sをソートする。 Sの任意の要素2つとって差をとればどっかの部分和になる。後てきとうに。