iptables

iptables関係のパッケージを探す

# apt-cache search iptables

たくさんのパッケージがずらずらと出てくる。無難にiptableを入れる

# aptitude install iptables

iptablesはインストールされたが、どうやらコマンドのみで、起動スクリプトなどはインストールされないらしい。そこでiptablesをコマンドから実行することにする。あちこち調べるとどうやら/etc/network/if-pre-up.d以下のディレクトリにあるシェルスクリプトを自動的に実行するらしい。

# vi /etc/network/if-pre-up.d/iptables.sh

以下のような内容とする。

#!/bin/sh

# Remove All Rule
/sbin/iptables -F INPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F OUTPUT

# Drop All
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP

# Accept Loopback
/sbin/iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
/sbin/iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

# Write Accept Port
/sbin/iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --source-port 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --destination-port 123 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --source-port 123 -j ACCEPT

# Write Log
/sbin/iptables -A INPUT -j LOG --log-prefix "IN-Deny! "
/sbin/iptables -A INPUT -j DROP
/sbin/iptables -A OUTPUT -j LOG --log-prefix "OUT-Deny! "
/sbin/iptables -A OUTPUT -j DROP

実行許可を与え、実行してみる

# chmod 755 iptables.sh
# ./iptables.sh

ところが以下のようなエラー

iptables v1.3.6: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)

いろいろ調べてみるとip_tables.oのモジュールが必要らしい。めんどくさいからカーネルからコンパイルすることにする。
続きは明日

時刻合わせ

先日インストールしたDebianをいじってみる。たまたま日付があっていないことに気づく。
以下のURLでプロパイダのNTPサーバを見つける

見つけたのちntpdateで時刻同期

# ntpdate hoge.hoge

ところがエラー。どうやらntpdateがないもよう。ntpdateをインストールする。

# aptitude install ntpdate

これでとりあえずntpdateで時刻を修正できるようになった。ntpをインストールして同期をとるか迷ったが、そこまでする必要はないだろうということでcronでntpdateを定時起動するだけにする。

# crontab -e

ところがここでGNU nanoというエディタが開く。わからないエディタは怖いので、エディタを終了。EDITOR環境変数を設定してviを起動するように設定する。

# EDITOR=vi; export EDITOR

crontabに値を設定して保存。viを使うように.bashrcに設定する。

# vi .bashrc

ここで、大事なことに気づく、rm、cp、mvのaliasがコメントアウトされている。どうやら、aliasを使いたければ自分でコメントを取れということらしい。なるほど……、OS側で余計なことはしないということか……。とりあえずコメントを外し、EDITOR環境変数を設定する。そして再びログイン。

# crontab -e

以下の行を追加

0 0 * * * ntpdate hoge.hoge