« 2007年09月 | メイン | 2007年11月 »

2007年10月26日

覚書:CentOS5にて、iptablesを有効にした状態でyumを使う方法

CentOS5(Linuxの一種)でiptables(ファイヤーウォル)を有効にしているとyum(私は「ヤム」と読むがパートナー会社の方は「ユム」と読んでいた、パッケージ一括管理ソフト、Windowsには無いかもしれない)が使えない。

誰も遭遇しない問題なのか、ありえないように思うがGoogle先生に尋ねても

1.iptablesを無効にしてyumしましょう
  (毎回!?有効にし直すのを忘れるべ!)
2.海外のサイトにて、質問者を茶化してスレ終了
3.DNS等の設定間違い

ぐらいしかない。1.で妥協しないといけないのか、でもカッコ内にあるようにどうも納得いかない。

色々試してみたところどうやらyumを利用する際にリモートから戻ってくるパケットが毎回異なるもよう。断言はしかねるが、まず、INCOMINGのTCPパケットに対して全てのポートを開くと上手く行くが、どのポート番号かがどうやっても特定できない(情報も見当たらない)。それと、ログでも確認出来たのだが下記ログのSPTが毎回80なのに対し、DPTの数値が毎回異なる。SPTとDPTの意味は定かではないが、かなり怪しい・・・。

kernel: IN=eth0 OUT= MAC=**:**:**:**:**:**:**:**:**:**:**:**:**:** SRC=72.21.40.11 DST=192.168.**.** LEN=** TOS=**** PREC=**** TTL=** ID=** DF PROTO=TCP SPT=80 DPT=2807 WINDOW=**** RES=**** ACK SYN URGP=0

で、結局2.の海外のサイトの茶化した人のコメントをヒントに更に探っていって見つけた答えでやっと上手くいった。必要なのは下記1行。

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

ようは自分が出したリクエストに対して戻ってきたパケットは受け付けるようにする設定。この1行には苦労した。。。まるで0対0、延長12回表にやっと入った1点のように。

ちなみに下記が答えが記述されていたサイト。

How can I block every PING / ICMP traffic? - JaguarPC Web Hosting Forums

茶化した人にもサンクス。彼から得たヒントが答えに繋がった。



広ブロっち♪ d(^-^)

2007年10月23日

覚書:CentOS5 で Samba 設定

技術系はネットで公開・非公開は自由だが何らかの形で記録を取るべし。

Sambaを設定するのは3年ぶり2度目だが、初めて往生した時の記録が無いためふたたび往生することに。

SambaとはUnix系OSの中身をWindowsエクスプローラで閲覧操作可能にするソフトウェア、社内LAN環境でよく使われる。

と言うわけで下記覚書。設定ファイル系は全て最初にバックアップを取ることと、自己責任で行うこと。

次回から5分以内で設定できることを自分自身に期待する。

sudo yum -y install samba
#Sambaをインストール(良い子になってやっとsudoを使うことにした、以下、sudoは省略)

vi /etc/samba/smb.conf
#設定ファイルを編集
#--------------------------------------
[global] #共通設定
security = share #共有するように
dos charset = CP932 #Windows側の文字コード
unix charset = UTF-8 #Unix側の文字コード
display charset = UTF-8 # 〃
workgroup = ワークグループ名 #Windows端末と同じワークグループ名
hosts allow = 192.168.○. 127. #許可するIPアドレスの上部(127は不要に思うが・・・)

[Windows側に表示される名前]
path = /home/共有するディレクトリ名
writable = yes #書き込み可能
guest ok = yes #誰でもOK(ネットワーク内なら)
guest only = yes #ゲストのみとする
#--------------------------------------

mkdir /home/共有するディレクトリ名
#共有するディレクトリを作成

chmod -R 777 /home/共有するディレクトリ名
chown nobody:nobody -R /home/共有するディレクトリ名
#全てのユーザに読み書き実行権を与える(後者は不要かも)

chkconfig smb on
#サーバ起動時にSambaサービスが立ち上がるように設定

/etc/rc.d/init.d/smb start
#サービスを起動
SMB サービスを起動中: [ OK ]
NMB サービスを起動中: [ OK ]

#________________________________
#既存のSambaがIPアドレスではなく、マシン名で
#名前解決されているのでこちらもがんばる。
#--------------------------------

vi /etc/sysconfig/network
#ネットワークの設定変更(マシン名のところのみ)
#--------------------------------------
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=マシン名.localdomain
#--------------------------------------

vi /etc/sysconfig/network-scripts/ifcfg-eth0
#イーサネットカードの設定?変更
#--------------------------------------
DEVICE=eth0
BOOTPROTO=none
HWADDR=マックアドレス(触らない)
ONBOOT=yes
DHCP_HOSTNAME=マシン名.localdomain
IPADDR=192.168.○.○
NETMASK=255.255.255.0
GATEWAY=192.168.○.○
#--------------------------------------

/etc/rc.d/init.d/network restart
#ネットワーク再起動

#________________________________
#ここまではまぁ順調。この後でひっかかる。
#答えから言いましょう、IPTablesとSELinux。
#--------------------------------

#--------------------------------
#IPTablesから
#--------------------------------
#最初にまずポリシーを決める
#INPUTは全て許可
#OUTPUTは全て許可
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

#ルールをひとまずクリア
iptables -F

#pingと自端末からの入力を許可
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

#名前解決に必要
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT

#WebとSSHに必要なポートを許可
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#Sambaに必要なポートを許可
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p udp --dport 137 -j ACCEPT
iptables -A INPUT -p udp --dport 138 -j ACCEPT

#残りは破棄
iptables -P INPUT DROP

#ルールを保存
/etc/init.d/iptables save
ファイアウォールのルールを /etc/sysconfig/iptables に保存中[ OK ]

#IPTablesを再起動
service iptables restart
ファイアウォールルールを適用中: [ OK ]
チェインポリシーを ACCEPT に設定中filter [ OK ]
iptables モジュールを取り外し中 [ OK ]
iptables ファイアウォールルールを適用中: [ OK ]
iptables モジュールを読み込み中ip_conntrack_netbios_ns [ OK ]

#--------------------------------
#SELinuxの設定
#社内サーバの場合は不要と思いつつも勉強がてら
#--------------------------------
cat /etc/sysconfig/selinux
#--------------------------------
SELINUX=enforcing
#enforcingをdisabledにしてサーバ再起動でも良い
#今回はenforcingのままでそのままファイルを閉じる

setsebool -P samba_enable_home_dirs true
#設定は上記コマンドのみ。手強いヤツのわりには1行だけ

shutdown -r now
#サーバ再起動

Windowsのマイネットワークから表示、操作確認。

パチパチパチ



広ブロっち♪ d(^-^)

2007年10月20日

JAZZギター

ドタバタしていた仕事がやっと落ち着いたのでひとまず一安心。

今朝はひさしぶりに布団の中で寝たいだけ寝ることにした。ここ数ヶ月分の休みを一気に取ってやる、もちろん取れるわけないんだがそこは気持ちの問題。時間を気にすることなく、と言っても10時頃には起きる。

趣味、「私の趣味は仕事」、とどこかで言ったか書いた、他にも歌を歌うのも好きなんだが、もう1つ、忘れていたがギターを弾くのも凄く好き。半年ぶりぐらいにギターケースからギターを取り出す。S.Yairiのアコギ、20代の頃の恋人だ、なんかなつかしい。

ギターを弾く、と言ってもそんなにお洒落なことではなく、Gメジャースケールをひたすらずっと弾き続けてフレットボードの上を旅する。20代の頃から始めた習慣で、無人島の一本釣りとも似通った話だが、こればかりは譲れない。もちろん上手くなりたいからやっていることだが、「こいつ(ギター、及び音楽理論)の正体を自分の足で歩いて(正確には指)発見して知りたい」と言う気持ちが20代の頃はとても強く、レッスンを受けたりテクニック集や曲を覚えたりでは得れないモノをこの習慣から求めている。

ひさしぶりなのに一時停止ボタンを解除したような感覚だ。まるでギターを弾く指に旅路が染み付いているよう(あいかわらずピック操作は苦手のようだが・・・)。

私はこれを「JAZZギター」と勝手に呼んでいる。「趣味はJAZZギター」と答えたこともあるが「枯葉」とかウェス・モンゴメリー弾いたり、と言う意味でのJAZZギターではなく、上記のような一人旅。音楽理論探求の旅だ。

とまぁ、ギターを1時間ぐらい弾いた後、家周りの用事を済ませて昼過ぎには家を出、町で用事を済ませてから事務所へ。

結局事務所に来ずにはいられない(笑;)。



広ブロっち♪ d(^-^)

2007年10月04日

symfonyの本がやっと出た

待望の(って待つ暇無いけど;)symfonyの本が出ました。

ちなみにsymfonyとはPHP言語で作られたWEBアプリケーションフレームワークのことで、PHPの親方フレームワークであるMojaviを継承し、Ruby on Railsの影響を大きく受けていて、一言で言うと「強力」。日本語版のsymfony単独本は初めてです。

Symfony × PHP

10月2日に販売されていることを弊社そろおが発見、早速amazonで購入しました。

経費で買えばいいと言ったのに個人的に欲しいとのこと。会社でも1冊欲しいので購入、隣の会社も1冊購入。

amazonの本紹介ページで在庫3冊と書いてあったのが「お、symfonyの本が出てる」とそらおが言って5分後には在庫ゼロになってしまいました。決して買い占めるつもりではありませんでした。お許しください。

隣の会社の社長に「そう言えばsymfuldazeって更新しよるん?」

私JavaJavaな日々ですから~~(頼むから「斬り!」は言わないでって?@古すぎ)

10月1日から弊社は第3期を迎えました。おっと、そう言えば今日は法人化2周年記念です(笑)。

こっちを記事の本題にするべきでしたが、まぁ、既にここまで書いてしまったので良しとしましょう。

今期も一所懸命がんばりたいと思います。いつもお世話になっている皆様、いつもいつもありがとうございます。これからも引き続き宜しくお願い致します。

m(_ _)m



広ブロっち♪ d(^-^)