簡単!CentOSでsmokeping
smokepingを使ってみたいけど、ちょっと手間がかかりそう。
そんな場合に試してみてください。
※Nixvalレポジトリがいつまで使えるかは不明です。
■検証環境
OS: CentOS 5.6 (32bit)
■設定手順
1.レポジトリの追加
※以下より、環境に合わせてrepoファイルの取得する。
・RPMforge
http://pkgs.repoforge.org/rpmforge-release/
・epel
http://dl.fedoraproject.org/pub/epel/5/i386/repoview/epel-release.html
・Nixval
http://repo.nixval.com/nixval-centos/5/updates/
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm # rpm -ihv rpmforge-release-0.5.2-2.el6.rf.i686.rpm # rpm -ihv http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm # rpm -ihv http://repo.nixval.com/nixval-centos/5/updates/nixval-release-0.1-1.el5.i386.rpm # sed -i s/enabled\ =\ 1/enabled\ =\ 0/g /etc/yum.repos.d/rpmforge.repo # sed -i s/enabled=1/enabled=0/g /etc/yum.repos.d/epel.repo # sed -i s/enabled\ =\ 1/enabled\ =\ 0/g /etc/yum.repos.d/nixval.repo
2.smokepingの追加&設定
# yum --enablerepo=rpmforge,epel,nixval install httpd smokeping # sed -i s/Allow\ from\ 127.0.0.1/Allow\ from\ 192.168.1.0\\/24/g /etc/httpd/conf.d/smokeping.conf ※許可するネットワークを追加 # vi /etc/smokeping/config ※設定は備考URL参照 # ln -s /usr/lib/mrtg2/* /usr/share/smokeping/lib # chkconfig httpd on # chkconfig smokeping on # service httpd start # service smokeping start
3.smokeping管理画面へのアクセス
http://ServerIP/smokeping/sm.cgi
※同梱の「SmokeTrace」(tr.html)は「The specified type of tracerouting is allowed for superuser only」
との事なので、このままでは使えない。
■参照
状態監視ツール(smokeping)構築ガイド
http://www.syon.co.jp/syontech/tech001.html
以上
Data ONTAP8でUnixコマンドを使う
いわゆるSystemShellへのアクセス方法メモ。
■設定手順
> priv set advanced > useradmin diaguser unlock > useradmin diaguser password > systemshell
■動作確認
試しにsshでアクセスしてみる。
login as: root root@10.0.0.1's password: netapp01> netapp01> priv set advanced Warning: These advanced commands are potentially dangerous; use them only when directed to do so by NetApp personnel. netapp01*> netapp01*> useradmin diaguser unlock netapp01*> netapp01*> useradmin diaguser password Please enter a new password: Please enter it again: netapp01*> Tue Feb 7 04:26:12 GMT [netapp01:passwd.changed:info]: passwd for user 'diag' changed. netapp01*> netapp01*> netapp01*> systemshell Data ONTAP/amd64 (netapp01) (ttyp0) login: diag Password: Last login: Tue Feb 7 04:22:01 from localhost Warning: The system shell provides access to low-level diagnostic tools that can cause irreparable damage to the system if not used properly. Use this environment only when directed to do so by support personnel. netapp01% netapp01% netapp01% uname -a Data ONTAP netapp01 8.1X45 Data ONTAP Release 8.1X45 amd64 netapp01% netapp01% netapp01% echo $SHELL /bin/csh netapp01% netapp01% netapp01% netapp01% bash bash-3.2$ bash-3.2$ cat /etc/rc.conf # # default rc.conf file (which is copied) # #ifconfig_bge0="DHCP" #ifconfig_em0="DHCP" #hostname="xxx.yyy.zzz.com" keyrate="fast" sshd_enable="YES" root_rw_mount="NO" rpcbind_enable="YES" nis_client_enable="YES" nisdomainname="unset" nis_client_flags="-ypsetme" #Change swapfile location as part of upgrade swapfile="/mroot/etc/swapfile" swapsize="1073741824" # 1G swapfile sim_swapfile="/sim/swapfile" # use a non-mroot swapfile for vsims. vsa_swapdevice="/dev/ad1s2" # use dedicated partition for vsa, tested for in addswap vsim_std_swapdevice="/dev/ad1s2" # Vsims with standard disk layout uses separate partition just like vsa VSIM_SWAP_BLOCKS=1500 #number of 1M blocks vsim_swapsize=$((${VSIM_SWAP_BLOCKS} * 1024 * 1024)) # ~1.5GB of swapspace. Vsims need more swapspace than hardware - burt273995 entropy_file="/var/entropy" # sendmail related controls sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" ipfilter_enable="YES" ipfilter_rules="/etc/ipf.base.rules" ipv6_ipfilter_rules="/etc/ipf6.base.rules" notifyd_enable="YES" mlogd_enable="YES" sldiag_tcd_enable="YES" ntpd_enable="NO" ntpd_flags="-g -p /var/run/ntpd.pid -f /var/db/ntpd.drift" # For Vsim & VSA, use the correct coredump partition sim_dumpdev="/dev/ad0s4a" vsa_dumpdev="/dev/ad2s2" static_routes="" vmtools_enable="YES" vmdblade_setup_enable="YES" vmmonitor_enable="YES" vmhostinfo_enable="YES" xinetd_enable="YES" ifconfig_lo0="inet 127.0.0.1 -arp mtu 8232" kmip_init_enable="YES" kmip_client_enable="YES" bash-3.2$ bash-3.2$ bash-3.2$ exit exit netapp01% exit logout netapp01*> netapp01*> netapp01*> useradmin diguserlock netapp01*> netapp01*> priv set admin netapp01> netapp01>
作業が終わった後は、以下でAdvancedモードを抜ける。
> exit > useradmin diaguser lock > priv set admin
■参照
Recipes for adding disks to a Data ONTAP 8 Simulator
http://communities.netapp.com/docs/DOC-9579
Array APV WebUIでのAW Error
Array APV WebUIで、一部箇所に「AW Error:non-supported DOCTYPE」というエラー出力される。
→ブラウザによりJavaScriptがうまく実行されない為。
[ブラウザ毎表示結果](2012/01/31)
・Internet Explorer 6
OK
※ログイン画面のみ文字化ける
・Firefox 9.0.1
AW Error
・Opera 11.60
AW Error
・Chrome 16.0
AW Error
IE以外ダメみたい。
コマンドによるIIS FTPサービスの追加及び設定
■前提条件
・Default FTP Siteを使用
■検証環境
・OS: Windows Server 2008
・Windows Firewall無効
・FTPルート及びログディレクトリを別ドライブへ指定
・FTP専用ユーザのみアップロードを許可
■設定手順
1.事前設定
FTPユーザー追加:
> net user ftp-user001 Password /add
FTPユーザーグループ追加:
> net localgroup "FTP User" /add > net localgroup "FTP User" ftp-user001 /add
FTPルートディレクトリ設定:
> md d:\ftp\ftproot > md d:\ftp\logs
現設定の確認:
> cacls d:\ftp\ftproot
Usersグループの書き込み拒否:
> cacls d:\ftp\ftproot /e /p Users:r
FTP Usersグループの書き込み許可(Full Control):
> cacls d:\ftp\ftproot /e /p "FTP Users":f
設定後の確認:
> cacls d:\ftp\ftproot
2.FTPサービス(役割)の追加
現在の役割一覧の確認:
> ServerManagerCmd -query | find "FTP"
FTPの追加:
※インストール完了まで数分かかる
※インストールログをCドライブ直下に出力
> ServerManagerCmd -install Web-Ftp-Publishing -logPath C:\IIS-FTP_install.log
サービスの開始:
> sc start MSFTPSVC > sc query MSFTPSVC
サービス自動起動設定:
> sc config MSFTPSVC start= auto > sc qc MSFTPSVC
現在のFTP設定一覧の取得:
> cd c:\inetpub\AdminScripts
グローバル設定:
> cscript adsutil.vbs ENUM /MSFTPSVC
Default FTP Site:
> cscript adsutil.vbs ENUM /MSFTPSVC/1
3.Default FTP Site設定
ファイル名およびロールオーバーに地域設定を使用する:
※デフォルトでは0:00 GMTにてログローテーションされる為、0:00 JSTへ変更する。
> cscript adsutil.vbs SET /MSFTPSVC/1/LogFileLocaltimeRollover True
新しいログディレクトリの指定:
> cscript adsutil.vbs SET /MSFTPSVC/1/LogFileDirectory "D:\ftp\logs"
ログ取得項目(追加分):
> cscript adsutil.vbs SET /MSFTPSVC/1/LogExtFileDate True > cscript adsutil.vbs SET /MSFTPSVC/1/LogExtFileBytesSent True > cscript adsutil.vbs SET /MSFTPSVC/1/LogExtFileBytesRecv True
匿名接続の禁止
> cscript adsutil.vbs SET /MSFTPSVC/AllowAnonymous False
FTPルートディレクトリ変更:
> cscript adsutil.vbs SET /MSFTPSVC/1/ROOT/Path "D:\ftp\ftproot"
FTP書き込み許可:
> cscript adsutil.vbs SET /MSFTPSVC/1/ROOT/AccessWrite True
その他:
・FTPバナー抑制
※FTP接続時に『Microsoft FTP Service』というバナーを表示しない
> cscript adsutil.vbs SET /MSFTPSVC/1/SuppressDefaultFTPBanner True > cscript adsutil.vbs SET /MSFTPSVC/1/BannerMessage "FTP Server"
・パッシブモードでのポートレンジ指定(21000/tcp~21500/tcp)
> cscript adsutil.vbs SET /MSFTPSVC/PassivePortRange "21000-21500"
以上
Windows Serverをタダで利用する in Amazon EC2
Amanzon EC2の無料使用枠(フリーティア)にWindows Serverが加わったので
利用開始手順も書こうかと思ったけれど、すでに素晴らしい資料があった為
貼り付けだけ。
・EC2でWindowsサーバ立ち上げ
http://www.slideshare.net/kentamagawa/ec2windows
※今回はSP1のパッチが当たった、AMI ID「ami-ecea5ced」を利用した。
※無償枠ユーザーが増えた為なのか、インスタンス起動までに時間がかかる模様。
なお同じフリーティアで、Linuxのmicroインスタンスがもう1つ利用可能なので
計2仮想サーバを1年間無償で利用できる事になる。Amazonってば、太っ腹。
ちなみにLinuxインスタンスを使う場合、RHEL互換のAmazon Linuxがオススメ。
■その他参考情報
・AWS 無料使用範囲
http://aws.amazon.com/jp/free/
・はじめてのアマゾンクラウド1「Amazon Web Service(AWS)のアカウント開設する」
http://www.slideshare.net/kentamagawa/3aws
・はじめてのアマゾンクラウド2「仮想サーバを立ち上げる」(Linux)
http://www.slideshare.net/kentamagawa/3amazon-ec2
・Amazon Linux AMIの提供開始
http://aws.typepad.com/aws_japan/2010/09/amazon-linux-ami%E3%81%AE%E6%8F%90%E4%BE%9B%E9%96%8B%E5%A7%8B.html
以上
ADのアカウントでLinuxサーバにログインする
■趣旨
Active Directoryのアカウントで、Linuxサーバへログインする。
ただし以下の設定は既存のまま変更しない。
- ホスト名
- DNS
また以下の要件を満たす事。
- 各サーバでアカウントのUID/GIDを統一する。
->ADアカウントのRIDをキーとして使用する
- 特定グループに所属するアカウントのみログインを許可する
■検証環境
ドメイン名:EXAMPLE.LOCAL
- ADサーバ
OS: Windows Server 2008 Standard (x86_64)
ホスト名: dc.example.local
IPアドレス: 10.0.0.1
- Linuxサーバ
OS: CentOS 5.6 (x86)
ホスト名: sysa-web01.localdomain
IPアドレス: 10.0.0.2
■設定手順
1.必要パッケージのインストール
- samba-common
- samba-client
# yum install samba-common samba-client
2.winbind認証設定
# authconfig \ --enablewinbind \ --enablewinbindauth \ --smbsecurity=ads \ --smbworkgroup=EXAMPLE \ --smbrealm=EXAMPLE.LOCAL \ --smbservers=dc.example.local \ # ※1 --enablewinbindusedefaultdomain \ # ※2 --winbindtemplatehomedir=/tmp \ # ※3 --winbindtemplateshell=/bin/bash \ --enablelocauthorize \ --update ※1 カンマ区切りで複数指定可。hostsへ対応する名前を記述する。 ※2 ドメイン名自動補完設定。[EXAMPLE\testuser001]のような入力が必要無くなる。 ※3 ログイン時に自動的にホームディレクトリを作りたいならこのあたりを参照
3.samba設定
# cp -p /etc/samba/smb.conf /etc/samba/smb.conf.org # vi /etc/samba/smb.conf --- #idmap uid = 16777216-33554431 #idmap gid = 16777216-33554431 idmap domains = EXAMPLE idmap config EXAMPLE: default = yes idmap config EXAMPLE: backend = rid idmap config EXAMPLE: range = 10000-19999 idmap alloc config: range = 10000-1999 --- ※デフォルト設定をコメントアウトし、上記行を追記(77行目付近)
上記は各LinuxサーバでUID/GIDの整合性を取るための設定
通常は各サーバのwinbindが早いもの順でUID/GIDを割り当てるため、同一ユーザでもサーバ毎にUID/GIDが異なる。
これをWindowsアカウントのSIDの末尾4ケタ(RIDと呼ばれる部分)+指定レンジ(10000-19999)を足し合わせたものをUID/GIDとする設定を行う。
こうする事で各サーバ間でUID/GID割り当てルールを統一される。
■参考
RIDの確認方法
# id testuser001 uid=11110(testuser001) gid=10513(domain users) 所属グループ=10513(domain users),11113(operator) ※この場合、11100がwinbindの割り当てたUID
# wbinfo -U 11110 S-1-5-21-2966872847-1102543892-2619680819-1110 ※アカウントのSIDを取得するコマンド。最後の4ケタ(1110)がRID ※上記割り当てルールでは、これに10000を足し合わせた11110がこのユーザーのUIDとなる。
# wbinfo -G 11113 S-1-5-21-2966872847-1102543892-2619680819-1113 ※グループのSIDを取得するコマンド。最後の4ケタ(1110)がRID ※当該グループ(operator)も同様のルールで割り当てられている事が確認できる。
4.hostsへドメイン名を追加。
既存ホスト名を変更する必要はなし。
# cp -p /etc/hosts /etc/hosts.20120112 # vi /etc/hosts --- 10.0.0.1 DC.EXAMPLE.LOCAL DC # ※1 10.0.0.2 SYSA-WEB01.EXAMPLE.LOCAL SYSA-WEB01 # ※2 --- ※1 AD名前解決用。複数ある場合はその数だけ記載する。 ※2 ADでの、このホストのFQDN
5.ドメイン参加
# net join -U Administrator administrator's password: Using short domain name -- EXAMPLE DNS update failed! # ※1 Joined 'SYSA-WEB01' to realm 'EXAMPLE.LOCAL' ※1 ADをDNSとして設定していない為に出るエラーだが認証させるだけなら問題ない?
# /etc/init.d/winbind restart
ADのユーザー/コンピューター管理ツールにて当該ホスト名のComputerが追加されたことを確認する
6.特定グループユーザのみアクセス許可設定
現状では全ドメインユーザーがアクセスできるため、特定グループのみ
ログイン可能とする。(本ケースではoperatorグループのSIDを追記)
# cp -p /etc/pam.d/system-auth /tmp # vi /etc/pam.d/system-auth # diff -wb /tmp/system-auth /etc/pam.d/system-auth 7c7 < auth sufficient pam_winbind.so use_first_pass --- > auth sufficient pam_winbind.so use_first_pass require_membership_of=S-1-5-21-2966872847-1102543892-2619680819-1113 ※許可するグループとして、SIDにて記述することで「半角スペースを含むグループ名」でも指定できる。 (一応、今回のグループ名ならそのまま「operator」と記述しても可)
7.連携テスト
・Kerberos認証
# kinit testuser001; echo $? ※正常終了する事
・winbind連携
# id testuser001 ※ユーザ情報が表示されること
・ログイン認証
# ssh localhost -l testuser001 ※正常にログイン出来ること。ユーザはあらかじめAD上に作成しておく。
■その他
- winbindにてSID / UID,GID間の紐付けがおかしくなった場合の対処方法
smb.confにてidmapのUID/GID発番Rangeを変更した場合など、以前割り当てられたUID/GIDをキャッシュをクリアしたいなあという時に。
以下にキャッシュが存在するため、ディレクトリごと削除
# rm -rf /var/cache/samba # /etc/init.d/winbind restart
- SSHなどのログイン履歴はイベントログから拾えるようになる。
以上