Debian wheezy になって iptables の設定が簡単になった

基本的に Debian Wiki で調べるんだけど、簡単になったのはまだ書かれていないようだ。

とりあえず、Debian Wiki に書いてあるように、現状の確認。

# iptables -L

おそらく、こんな出力。

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

で、設定で iptables-persistent ってのを使う。

# apt-get install iptables-persistent

設定ファイルができているが、意味ないので修正。内容は Debian Wiki の

*filter

# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn’t use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

# Accepts all established inbound connections
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

# Allows all outbound traffic
# You could modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

# Allows HTTP and HTTPS connections from anywhere (the normal ports for websites)
-A INPUT -p tcp –dport 80 -j ACCEPT
-A INPUT -p tcp –dport 443 -j ACCEPT

# Allows SSH connections
# THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE
-A INPUT -p tcp -m state –state NEW –dport 22 -j ACCEPT

# Now you should read up on iptables rules and consider whether ssh access
# for everyone is really desired. Most likely you will only allow access from certain IPs.

# Allow ping
-A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT

# log iptables denied calls (access via ‘dmesg’ command)
-A INPUT -m limit –limit 5/min -j LOG –log-prefix “iptables denied: ” –log-level 7

# Reject all other inbound – default deny unless explicitly allowed policy:
-A INPUT -j REJECT
-A FORWARD -j REJECT

COMMIT

を使うが ssh のポート番号に注意。

# vi /etc/iptables/rules.v4

で、中身を入れ替える。

# /etc/init.d/iptables-persistent start

で良いのかと思ったけど、エラーが出たので flush して restart した。

そして

# iptables -L

で確認。

Debian wheezy での基本的な設定

とにかく、インストール時には tasksel で何も選ばない。

インストール後に、

# apt-get install openssh-server

で、~/.ssh/authorized_keys をつくるタイミングとか見ながらだけど、/etc/ssh/sshd_config を編集。

PermitRootLogin no
PasswordAuthentication no

の 2 行が必要。~/.ssh/ のパーミッションは 700、~/.ssh/authorized_keys のパーミッションは 600 にする。

特定 group 以外のユーザは su できなくする。とりあえず、authorized_keys をつくったあとに、/etc/ssh/sshd_config を編集すること。

# vi /etc/group

adm:x:4:root,hoge

adm グループにユーザを追加。

# adduser hoge adm

でも良し。vi での編集では、root も adm グループに入れている。

# vi /etc/pam.d/su

で、以下の行を追加。

auth required pam_wheel.so group=adm

一度 logout しておかないと、adm グループに入っていることにならないので注意。

ついでに sudo も入れる。

# apt-get install sudo

でインストール。

# adduser hoge sudo

で、グループ sudo に管理ユーザを追加しておく。

Debian wheezy で IPv6 を無効にする

/etc/sysctl.conf を編集する。

# vi /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

こんな感じ。

# sysctl -p

で反映。

XMPP

XMPPRFC 3920RFC 3921)をザックリと調べてみた。

XMPP とは、インスタントメッセンジャー(IM)がメッセージの交換やログイン状況の通知などに使う XML ベースのプロトコルのこと。Google の Google Talk や Apple の iChat で使われている(完全準拠らしい)。XMPP Standards Foundation というのがあった。
その他 IM で使われるプロトコルとしては、IBM や Microsoft が採用している SIMPLE(SIP ベースらしい)というプロトコルもある。

さて、実際のところは、1 対多通信はどんな感じなのか、とか、とりあえず管理は楽かどうか、なんかを考えなければならないんだけれど、とりあえず動かしてみて、全体でできる・できないの判断をくださなければならない。

ということで、とりあえずのサーバは Openfire か ejabberd のどちらかになりそう(もう少しは考える)。

Openfire は Java で書かれた、Jive Software というところがつくったもの。前は Wildfire という名前だったらしい。

ejabberd は Erlang(アーラン)という『コンピュータにおいて汎用的な用途に使うことができる並行処理指向のプログラミング言語および実行環境』らしい(ソースは Wikipedia)。

最近は Debian で Java を動かすのが面倒なので(つーか、どれを使うかとか考えたくない)、ejabberd を使うことにしよう。

WordPress に Crayon Syntax Highlighter を入れてみた

Crayon Syntax Highlighter というやつを入れてみました。

C だと、

こんな感じで、ruby だと、

こんな感じ。

Linux でマウスホイールのスクロール方向を逆にする

ngn です。
Debian の環境で作業をしているのですが、マウスホイールでのスクロール方向が Mac OS X と逆なので気持ちが悪く、久々に X の設定を書いてみました(というほどのものではないが)。

! Change mouse wheel scrolling like Mac OS
pointer = 1 2 3 5 4 6 7 8 9 10 11 12

1 2 3 5 4 6 7... となっているのがミソです。

Netatalk 3.0 beta2

HAT さんの Blog でも案内されていましたが、Netatalk 3.0 の beta2 がリリースされていました。

ということで、alpha2 から入れ替え。以前の記事と同様にインストールしました。特に問題は発生していません。

設定についての詳細は、HAT さんの Netatalk 3.0 and Samba を読むべきでしょう。

古くなった Mac を便利に使う

Appleちゃんねるの『[Mac] よく「古くなったMacはサーバにしろ!」っていう人いるけど、具体的にどんなこと出来るの?【上級者編】』という記事。

 「miniじゃiMac買った後の使い道に困りそう」
→「つサーバ」

ということで、

一応、リビング用PCとして液晶テレビに繋いで使ってるけど
・VPNサーバーで外出時に自宅ネットワークに繋ぐ。
link : http://www.moongift.jp/2008/06/ivpn/
・家族、友人のみに公開してるHTMLサーバー
link : Mac OS X LeopardでAMP環境を構築しよう
・リビングのオーディオとつないで、iPhone等からRemoteで制御
iTunes Store : Remote
・ホームシェアリングでiTunes内の動画をiPhone,iPadで鑑賞
iTunes9から搭載されたホームシェアリング機能の使い方
・SnapScanを繋いでスキャン→Evernote登録を自動化
Amazon : FUJITSU ScanSnap S1300 FI-S1300
・AppleScript, Automator, Hazelなんかを利用して、
ファイルサーバーやDropBoxにアップされたファイルに対して自動処理
Automator の使い方 [Mac OSの使い方] All About
・ファイルサーバー
WindowsとMacでファイル共有する
・TimeMachineのバックアップ先
MacのTime Machineのバックアップ先にBuffaloのLinkstation(NAS)を設定する方法
・VMWareでWindowsを起動させておいて、
iPadやMacBookからRDPでWindowsを使う。
Amazon : VMware Fusion
・寝ているときや外出時に、動画のエンコード
MacでDVDやBlu-rayのリッピングやエンコード、その他関連まとめ
・DLNAサーバー、液晶テレビやPS3から動画鑑賞
PS3のDLNA機能 徹底攻略(5)Mac OS X/iOS向けDLNAサーバーを集めて検証
・Eye-Fiの母艦
Amazon : Eye-Fi Connect X2 4GB EFJ-CN-4G
・Flickr等に写真をアップするときの作業用

なんてのがあった。

Netatalk 3.0 alpha2 を動かしてみる

突然、サーバ系の話。

どうにも Mac から Samba サーバに接続するとイヤなことが多いので、やはり Netatalk を使ってみようと思い立った。サイトを見ると 3.0 alpha2 がリリースされていたので調べてみると、あの変なフォルダなどができなくなったらしい。英文を読んだので自信はないが、拡張属性を使って処理しているようだ。リソースフォークはダメみたいだけれど、今リソースフォークを使うアプリもなかろうということでチャレンジ!

まず、avahi を入れておく。

$ sudo apt-get install avahi-daemon libnss-mdns

で、必要そうなモノを入れてから、Netatalk のインストールをおこなう。

$ sudo apt-get install libssl-dev libgcrypt11-dev libpam0g-dev libwrap0-dev libdb4.8-dev libavahi-client-dev libacl1-dev libldap2-dev libkrb5-dev

ソースを展開。

$ tar xzf netatalk-3.0alpha2.tar.gz
$ cd netatalk-3.0alpha2
$ ./configure –with-init-style=debian

DHX2 も入っているし、大丈夫でしょう。

$ make
$ sudo make install

なんの問題もなく進みます。/usr/local/etc/afp.conf を編集。Glocal セクションで「mac charset = MAC_JAPANESE」と修正して、公開するフォルダの設定。

2012.04.10 以下の設定は Netatalk 自体が avahi に対応したので必要ないそうです。

あとは /etc/avahi/services/afpd.service をつくる。内容は以下のようにしたが、まったく自信がない。

<?xml version=”1.0″ standalone=’no’?><!–*-nxml-*–>
<!DOCTYPE service-group SYSTEM “avahi-service.dtd”>
<service-group>
<name replace-wildcards=”yes”>%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
</service-group>

で、/etc/init.d/netatalk start すると、起動。なんの問題もないようです。

しかし、Lion から接続しようとすると、エラーが発生して接続できない。DHX2 も効いているはずなのに…

2 時間ほど悩んで、Netatalk の第一人者 HAT さんのサイトの Netatalk 3.0 and Samba を見る。が、やっていることは同じようだ。ちょっと気になったのが、Blog の方の Debian 6 squeezeに Netatalk 3.0 alpha2 を入れる という記事でプロンプトが「#」になっている(sudo とか使っているんだけど)。ということで、make uninstall して、root で再ビルドしてインストールしたところ、Lion からも接続できるようになりました。原因が一般ユーザでのビルドにあるのかどうかは不明ですが、とりあえず使えるようになった。

そして、TimeMachine 用の設定も書いてあったので、それも使ってみています(本稼働とは思っていない)。