日々アレこれそれナニ

気がついたことをぼちぼち書いています。

2台構成のADサーバ自身のDNS設定の正解は?

なにが正解かよくわからないのだけど。。。

 

一般的に、DNSがちゃんとひけますようにっていうのがActiveDirectoryでの

作りかたなわけで、外部DNSでもいいわけだけど、実際は動的更新とか勝手にやってくれてたりして

その部分もやろうとすると面倒。

で、WindowsDNSでAD統合でたてちゃうのがよいってことになる。

 

んじゃぁ2台構成の場合はたすき掛けにしたらええやんと思ってたらそうでもないらしい。

PDCサーバ(あえてPDCと書く)がDNSをひけない状態にしないでね、というKBがあるのだ。

それとは別に2003とちょっと古いけどこんなのもある。

https://support.microsoft.com/ja-jp/kb/825036

 

そうなってくると、PDC側は、127.0.0.1と相方、BDC側は相方と、127.0.0.1ってことになる。

でも、これでベストプラクティスなんとかってやると、ループバックを1番目につけるなって怒られるんだよ。。

なにが正解なのやら。。。

これ、3台構成でも同じなんじゃないのかなー。。。

いまさらADのNICのon/offとか。

ADことActiveDirectoryを作っているのだけれど、そんなのしらなかった的な話。

 

ADのドメインコントローラを2台で構築。2012STD R2で、1台は物理サーバ、1台は仮想サーバ。

最近のIAサーバは最低2本はNICがあるんだけれども、使ってない方を無効にもせずとりあえず1本だけ使ってたら

・なんかDNSの再起問い合わせとか失敗する

ドメインの問い合わせ結果がやたら遅い

・現象は物理サーバと仮想サーバの2台の内、物理サーバのみ

というんで、だらだら調査。

 

結果的に、無効にしたら普通の速度になりました。

最初は、DNSの設定がまずいのかと、いろいろ2台を比較してみたりしたがほぼ同じ。

#プライマリとセカンダリとかが違う

ウィルスチェッカやfirewallなのかと、netstat -aを実行すると、うまくいく方はさっくり終わって、

だめな方は、やたら時間がかかる。

眺めていると、169.x.x・・・へ?

使っていないNICにも調査をかけている様子。

ってんで、無効にしましたとさ。

 

IP設定しているつもりがないわけだけど、有効になっている時点で

影響があるんだねぇ。。

 

apachebenchを動かしてみた。

moodleを作って、ちょっと一発どれぐらい処理できるものなのか

ベンチマークをやってみた。

 

使用したのはabことapachebench。

今日はこれのinstallと簡単なコマンド。

実は、apacheには標準で含まれているので、Linuxとかだと気にする必要はない。

Linuxサーバを立てといて、Windowsクライアントあたりからちょっと

試しておきたいってときなどにご利用のほどで便利なxammp。

 

  1. xammpをinstallする。
    Windows用のインストーラが存在するので、それを適当に落としてきてinstallのこと。
  2. xammpでapacheを起動する。
    abはapacheで動作するので、apacheを動かす。<installpath>xammp/apache_start.bat
    を起動。
  3. コマンドプロンプトを起動し、abのあるpathへ移動。
    cd <installpath>xammp/apache/bin
  4. 10個のスレッドで10回リクエスト=100リクエストのコマンドは以下。
    ab -n 100 -c 10 http:xxx.xxx.xxx.xxx/index.html
  5. 結果は以下など参照のこと。
    http://www.itmedia.co.jp/help/tips/linux/l0500.html

1000リクエストでも失敗したのはないし、1秒に7個ぐらい処理できてるから

たぶん大丈夫じゃなかろうか。。。

 

ExtremeOSで、ACLを編集(設定)してみた

ExtremeOSで、ACLを編集(設定)する。

 

  1. 編集(作成)
    # vi only_guest.pol
    vi エディタでonly_guest.polを作成/編集する
  2. syntax確認
    # check policy only_guest
    文法チェックする。(拡張子なしで指定.pol)
    最低限しかチェックしてくれないので、注意。
  3. 編集後のpolicyを読み込み(即有効)
    # configure access-list only_guest vlan <vlan_name>
    初めての場合は上記コマンドを実行
    # refresh policy only_guest
    すでに動作していて編集後、再読み込みの時は上記を実行
    いずれも拡張子なしで指定(.pol)
  4. 確認
    # show access-list
    # show access-list vlan <vlan_name>
    # show access-list vlan <vlan_name> detail
    # show policy
    # show policy detail

 ★:すでに割り付けてあるものを解除する場合は以下のコマンド

   unconfigure access-list only_guest vlan <vlan_name>

 

VLANへの割り付け方。

  1. create vlan "customer"
  2. configure vlan customer tag 2000
  3. configure vlan customer ipaddress xxx.xxx.xxx.xxx 255.255.255.0
  4. enable ipforwarding vlan customer
  5. configure rip add vlan customer
  6. configure rip vlan customer txmode v1only
  7. configure access-list only_guest_policy vlan "customer"


解説:
1行目
    新VLAN "customer"をcreate
2行目
    "customer"にVLANID2000を定義
3行目
    "customer"のipaddressを定義
4行目
    "customer"のforwardingを許可
        →L3内でルーティングが可能になる
5行目
    "customer"をripに追加
6行目
    "customer"ripの定義
7行目
    only_guest_policyにVLAN"customer"を割り付ける

 

本来これは、基幹L3でやってて、ほかにもVALNへのIPアドレス定義とか

ルーティングの定義とかやってる。

興味がある方はリクエストしてください。'`ィ (゚д゚)/

 

とりあえずmysqlの動作確認したいとき。

mysqlで、とりあえず入れるかとか、sqlたたけるかとか

確認したいとき。

お確かめSQLコマンド文。

 

mysql -uユーザ名 -p データベース名
パスワードを聞かれるので、入力のこと。

入ったら。
mysql> show databases;
データベース一覧。

mysql> SELECT host,user FROM mysql.user;
ユーザ一覧。

mysql> show tables from データベース名;
これは、なんかデータベース作った時用。
moodleとかwordpressとかそんなの。

wordpressが入ったサーバをこしらえてみる

ちょっと要請があって、wordpressが実行されるサーバ(Linux)を構築してみた。

 

OS:CentOS6.4(64bit)

Mysql:5.1.69-1.el6_4

Apache:2.2.15-28.el6.centos

php:5.3.3-22.el6

Wordpresswordpress-3.5.2-ja.tar.gz

 

あんまり縁がなくて知らなかったんだけど、Wordpress自体を全部

installを解説しているところってあまりないのね。

どこも、ホスティング(クラウド)業者の簡単installとか

あらかじめ入っているパッケージ使いましょう的なことが書いてあったわ。

 

んで、結局必要な物は

phpmysql(db)とhttpdです。

まんず、OS入れて、httpdも入れちゃってください。

このへんは、他のところでいっぱい解説があると思うので

端折ります。

1    phpをinstallします。

    1)    yum install php php-mbstring php-mysql php-mcrypt
        mbstringとmysqlmcryptもinstallする
    2)    #php -v でverと実行できるかを確認

2    mysqlのinstall    
    1)    #yum install mysql-server
    2)    /etc/my.conf を編集する(必要ならたぶんイラナイ)
    3)    OS起動時に自動起動するようにする
        #chkconfig mysqld on
        mysqld          0:off 1:off 2:on 3:on 4:on 5:on 6:off
    4)    手動起動してみる
        # service mysqld start
    5)    #mysql_secure_installation を実行し、初期設定(以下問い合わせ順)
        rootのpassword設定
        匿名ユーザの削除
        リモートからのrootログイン禁止
        testデータベースの削除
        以上の設定テーブルのreload実行
3    apache設定する   
    1)    vi /etc/httpd/httpd.conf
        httpd.confを設定するのにエディタを起動する
    2)    エラー表示等でサーバの必要以上の表示を行わせない
        ServerTokens OS
        ↓
        ServerTokens Prod
    3)    サーバ名
        ServerName www.example.com:80
        ↓
        ServerName hogehoge.jp:80
    4)    ドキュメントルート設定(この辺は好み)
        DocumentRoot "/var/www/html"
        ↓
        DocumentRoot "/var/www/html/wordpress"
    5)    ディレクトリ設定
        <Directory "/var/www/html">
        ↓
        <Directory "/var/www/html/wordpress">
    6)    index.phpをloadできるように追加
        DirectoryIndex index.html index.html.var
        ↓
        DirectoryIndex index.html index.html.var index.php
    7)    phpを実行できるようどこか適当に追加
        AddType application/x-httpd-php .php
    8)    編集を保存して終了
    9)    OS起動時に自動起動するようにする
        #chkconfig httpd on
        httpd          0:off 1:off 2:on 3:on 4:on 5:on 6:off
    10)    手動起動してみる
        # service httpd start
       
4    phpの起動試験   
    1)    httpで表示させる
        # echo "<?php phpinfo(); ?>" > /var/www/html/wordpress/phpinfo.php
        ブラウザで表示できればOK
        http://hogehoge.jp/phpinfo.php
       
5    mysql設定する   
    1)    mysqlにアクセス
        # mysql -u root -p
        Enter password:
        パスワードを入力
    2)    wordpress用のdatabaseをcreateする
        mysql> CREATE DATABASE wordpress;
    3)    localhostwordpressデータベースに、hogehogeユーザでアクセスする(パスワードはhogerahogera)
        mysql> GRANT ALL PRIVILEGES ON wordpress.* TO "hogehoge"@"localhost" IDENTIFIED BY "hogerahogera";
        mysql> FLUSH PRIVILEGES;
       
       
6    wordpressを展開する   
    1)    wordpressの最新版を入手する
        # wget http://ja.wordpress.org/latest-ja.tar.gz
    2)    ファイルを安置する場所に展開する
        今回は、/var/www/html/の下にwordpressというDirで安置する
        wordpressのアーカイブは、wordpressというdirごと展開されるので、html dirの直下に解凍する
        # cd /var/www/html/
        #tar -xzvf /root/wordpress-3.5.2-ja.tar.gz ./

      

      2013/08/22追記)

          今回用意するのは箱だけだったので気がつかなかったのですが

           アーカイブを解凍するだけじゃ、自動更新とかできないようです。

    3)  更新などをさせるために、dirのオーナをapacheにしておく

           #chown -R apache:apache /var/www/html/wordpress/

           配下全部設定しておく

 
7   wordpressを設定する   
    1)    初期設定ファイル(wp-config.php)を作成する
        サンプルがあるので、cpしてrenameする
        # cd /var/www/html/wordpress
        # cp wp-config-sample.php wp-config.php
    2)    編集する
        # vi wp-config.php
        以下の部分を編集する
        // ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //
        /** WordPress のためのデータベース名 */
        define('DB_NAME', 'database_name_here');
        ↓
        define('DB_NAME', 'wordpress');
       
        /** MySQL データベースのユーザー名 */
        define('DB_USER', 'username_here');
        ↓
        define('DB_USER', 'hogehoge');
        ★5-3)で作ったuser


        /** MySQL データベースのパスワード */
        define('DB_PASSWORD', 'password_here');
        ↓
        define('DB_PASSWORD', 'hogerahogera');
        ★5-3)で作ったpassword

       
    3)    認証キーを入手する
        https://api.wordpress.org/secret-key/1.1/salt/
        へアクセスし、キーをコピーしておく
       
        define('AUTH_KEY', 'put your unique phrase here');
        define('SECURE_AUTH_KEY',  'put your unique phrase here');
        define('LOGGED_IN_KEY',    'put your unique phrase here');
        define('NONCE_KEY', 'put your unique phrase here');
        define('AUTH_SALT', 'put your unique phrase here');
        define('SECURE_AUTH_SALT', 'put your unique phrase here');
        define('LOGGED_IN_SALT',   'put your unique phrase here');
        define('NONCE_SALT',       'put your unique phrase here');
        ↓

        put your unique phrase hereの場所に埋める。

               
        ペースト等で書き換える
       
    4)    編集を保存して終了
       
    5)    以下にアクセスして初期設定
        http://hogehoge.jp/wp-admin/install.php

以上、乱暴ですが、とりあえず全体の手順。