linux

CentOS 6.4 epel のunbound でmessagesにcould not open autotrust file for writing, /etc/unbound/root.anchor のerrorが出続ける件

error: could not open autotrust file for writing, /etc/unbound/root.anchor.47922-3: Permission denied https://bugzilla.redhat.com/show_bug.cgi?id=910756 このbugzilla見てるとfedora 19のpackageでは直っているらしい。動作を見ているとunbound ユ…

bashでファイルのリダイレクトによる上書きを防止するオプション

自分が運用する環境では、うっかりrm、mv、cpでファイルを消さない/上書きしないようにbashのaliasの機能を使って"-i"オプションを有効にしています。 alias rm='rm -i' alias cp='cp -i' alias mv='mv -i'これはこれでいいんですが、このaliasはうっかりフ…

proftpdでTimesGMT OFFにしているのにchrootユーザだと時刻がGMT表記になる現象の対策

今まではinetdモードで動かしていて、その場合は /etc/xinet.d/proftpd にenv =TZ=JST-9 と書いておけば良かった。 service ftp { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.proftpd log_on_failure += USERID disab…

serverspec でサーバの設定状況をテスト

http://serverspec.org/ # gem install rake # gem install serverspec 使ってみた。rspecを使って、サーバのファイル、ファイルの中身、listenしているportや、起動スクリプト(chkconfig の状況など)をテストできるブツ。ぱっと使って見たけど簡単で良さそ…

python製の構成管理ソフト ansible を使ってみたのでまとめ

python製 構成管理ソフト https://github.com/ansible/ansible/ http://www.ansibleworks.com/docs/ chef(まともに使ったことないので良く知らないけど)は各nodeが管理サーバへアクセスする方式で、ansibleはサーバから各nodeへアクセスするpush方式。なので…

linuxでiSCSI

恥ずかしながらiSCSIに触れる機会が全くなくて、さすがに卒業したいので、 とりあえずlinuxサーバでやってみた。iSCSI target : server iSCSI initiator : client target # yum install scsi-target-utils # chkconfig tgtd on # service tgtd start tgtadm …

RHEL6系のnfsのdefaultのversionを3に変更する

RHEL6系からnfs client nfsd ともにversionが4になったので、nfs serverがNFSv4に対応していない場合、clientのfstab内に vers=3 と都度書いていかないといけなくて、これが面倒だったりするのでdefaultの設定を変更したいという話。 clientの設定は/etc/nfs…

packstackでopenstack install するときにハマった

http://openstack.redhat.com/Quickstart CentOS 6.4 epel リポジトリはpackstack時にinstallされる あらかじめepelリポジトリをinstallしている場合はenabled=1にしておくこと selinuxを無効にしている場合、puppet の実行でerrorになる remoteでsetenforce…

linuxでファイルが多いディレクトリの中を素早くlsする

最近忙しかったり、怠けてたり、ネタがなかったりで気がついたら4月何も書いてなかったのでせめて小ネタでも書く。ext3などのファイルシステムによっては1ディレクトリ中のファイルが10万単位になると、lsを実行した際の応答が遅くなる。これはファイルの結…

swatch exec で指定して他のプログラム実行させると、子プロセスがdefunct になってゾンビで生き続けてうざいので、Swatch::Actions のsub exec_command 内に local $SIG{CHLD} = 'IGNORE'; を足した

件名の通りで、内容は1つ前のエントリとほぼ同じ。 # diff -u /usr/lib/perl5/vendor_perl/5.8.8/Swatch/Actions.pm.org /usr/lib/perl5/vendor_perl/5.8.8/Swatch/Actions.pm --- /usr/lib/perl5/vendor_perl/5.8.8/Swatch/Actions.pm.org 2013-03-06 14:0…

glusterfs distributed でvolume 作ると、gluster native でmount したときに応答返ってこない(straceするとgetdentsが出続ける) 問題はサーバ側のfilesystemをext4からxfsに変えたら発生しなくなった

タイトルのまま。 ext4 でdistributed volume 作ると、まともに使えなくて困っていた。(stripe だと問題なし) サーバ # mkfs.ext4 /dev/vdb1 # mount /dev/vdb1 /data # gluster volume create vol1 gf01:/data/vol1 gf01:/data/vol1 gf03:/data/vol1 # glus…

inittab からプロセスをrespawnさせる時はフォアグラウンドで実行する

良く考えたら当たり前なんだけど。(使ってないからわからないけど、daemontools から起動するときもたぶん同じ理由でフォアグラウンドで起動しているはず)sshd などは実行すると親プロセスから切り離してバックグラウンドで動いてしまうので、いつものように…

iptablesでブルートフォース攻撃対策

VPSに変なのが来るのでやってみた。 man iptables http://snowman.net/projects/ipt_recent/ recent モジュールを使って、n秒の間にm回 アクセスしたものをDROPする。--name を指定しないとDEFAULT になる。 # iptables -A INPUT -p tcp --syn --dport 22 -m…

RHEL系OSでAPIPAを無効にする

169.254.0.0/16のアレ。放っておいても実害ないけど、絶対使わないので無効にする。 /etc/sysconfig/network NOZEROCONF=yes

名前解決が妙に遅い場合にRHEL6系の/etc/resolv.conf にはsingle-request-reopen 入れたほうが良いかも

http://www.kunitake.org/chalow/2012-11-02-1.html まさにこれが起きた。ipv6がうんぬんの環境も要因にあるんだろうけど、juniper のssg5 の下に置いているサーバでまさにこのエントリの通りになって、名前解決するのが遅くなったので/etc/resolv.conf にsi…

samba でshadow copy の機能を使う

http://www.samba.gr.jp/project/translation/3.6/htmldocs/manpages-3/vfs_shadow_copy2.8.html http://d.hatena.ne.jp/hogem/20130122/1358862685 LVMやbtrfsのsnapshotを使わなくてもrsyncの--link-dest と組み合わせれば簡単にshadow copy 使えて、昔の…

rsync でファイルに変更がない場合にhardlinkを作成する --link-dest を利用して差分バックアップを取る

このオプション知らなかった。いわゆるsnapshotのようなものが手軽にできますね。 $ rsync --help (略) --link-dest=DIR hardlink to files in DIR when unchanged まず、一度rsyncで完全なコピーを作る。 $ rsync -avz data/ snapshot1/この後、--link-dest…

linux で特定のポートを予約する

sysctl.conf (proc)一時的に割り当てられるportの範囲は /proc/sys/net/ipv4/ip_local_port_range で指定する。 そのうち、除外したいportがあればip_local_reserved_ports で指定。

sshd_config AllowUsersにuser@host を書いてユーザごとにログイン元IPを制限する

これ出来るの知らなかった。(IP制限はfirewall, iptables, tcp wrapper(/etc/hosts.allow) でもするけど) man sshd_config にガッツリ書かれてますね。 AllowUsers (snip) If the pattern takes the form USER@HOST then USER and HOST are separately check…

dmesg, syslog に "nf_conntrack: table full, dropping packet." とエラーが出るのを回避する

haproxyを検証しようとしていて起きた。 LB: os: centos6 httpd: haproxy epel 1.4.22 server os: centos6 httpd: nginx epel 1.0.15 仮想OS上のCentOS6のhaproxy目掛けてhttp_load をぶっこんだところ、syslogに大量のエラーが出た。 __ratelimit: 10662 ca…

iptables で NAT

nic 2枚 持ってるlinuxをLoad Balancerとして動かしたかったので久々にやろうとしたら結構忘れていたのでメモ。 LBじゃなくて普通のrouterにしたいなら、vyattaを使えばNATの設定入れたら裏でiptablesも設定してくれて楽ですけど。 eth0: 192.0.2.1 (グロー…

pam_tally2 で一定回数ログインに失敗したアカウントをロックする

http://www.fprog.org/~mura-masa/diary/?date=20111130 man pam_tally2 /etc/pam.d/password-auth authの冒頭部分に追記。(pam_env.soの次?) 下の例は合計失敗3回するとロックされる。(ロックされるまでの途中に一度でも認証成功したら失敗回数はクリアさ…

tcp wrapper で/etc/hosts.allow を使って特定のhost/networkを拒否する

https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sect-Security_Guide-Server_Security.html#sect-Security_Guide-Server_Security-Securing_Services_With_TCP_Wrappers_and_xinetd man hosts.allow hosts…

linux でtap deviceで仮想インタフェースを作成する

通常1つのnic上に仮想IPを割り当てる場合はifconfig eth0:0 のようにaliasで設定すればいいけど、L2レベルでの仮想デバイスが欲しかったのでtapを使ってみた。 # yum install tunctl # tunctl ==> tap0 が出来るあとはいつものように/etc/sysconfig/network-…

tapデバイスを利用してdynagen/dynamips 上のcisco routerとIPで直接接続する

dynagenでcisco routerを動かすのはいいけど、アクセスするにはコンソール用のポートに接続しないといけなくてポート番号忘れたりするしやきもきするので、直接接続したくなったのでやった。 dynagenのrouterの設定で、F1/0 = NIO_tap:tap0 のように記述すれ…

Dynagen/Dynamips linux上でCisco Router のemulatorを動かす

dynagen dynamips 何か会社の自席から半径2メートルぐらいでにわかに盛り上がっていたのでやってみた。GUIが使えるならGNS3というのも使うと、トポロジーが簡単に作れるので良い。エミュレートするマシンにCatalystはないけど、routerにNM-16ESW モジュール…

分散ファイルシステム glusterfs を試してみた

http://www.gluster.org/download/ http://www.gluster.org/wp-content/uploads/2012/05/Gluster_File_System-3.3.0-Administration_Guide-en-US.pdf レッドハットに買収されたとかで、RHEVやovirtとも絡んできそうなので試してみた。実験用に仮想化環境で動…

tarとncを使って簡単にディレクトリごと他のサーバに転送

http://d.hatena.ne.jp/hogem/20101115/1289827270 続き tarと組み合わせればファイルだけじゃなくてディレクトリごといけますね。ncの入出力にtar の"-" で標準入出力を使えば良い。 portは適当(ここでは10000) 送信サーバ tar zcvf - ./directory | nc -l …

fio でdisk のパフォーマンス測定

http://freecode.com/projects/fio http://sourceforge.jp/magazine/08/05/22/0127246 install libaio-devel がいる。 # yum install libaio-devel # wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gz # tar zxvf fio-2.0.7.tar.gz # cd fio-2.0.7 # mak…

mysqltunerでmysqlの設定値を診断してチューニングする

https://github.com/rackerhacker/MySQLTuner-perl/ mysqltuner.pl を実行するだけ。 $ git clone git://github.com/rackerhacker/MySQLTuner-perl.git $ cd MySQLTuner-perl $ perl mysqltuner.pl"!!"の項目が改善すべき項目。 $ perl mysqltuner.pl >> MyS…