Debian/sarge/記録/2005-08-13 Install

2005年08月13日 昔にインストールした Debian 3.1 sarge のメモ

本体インストール

debian linux 3.1インストール

参考書:Debian GNU/Linuxでつくる骨太システム―安全・強靭なサーバの構築と管理

http://www.amazon.co.jp/exec/obidos/ASIN/4861670381/qid%3D1123920522/249-4574578-0360300

CD-ROMのインストーラから起動

ホスト名を聞かれたので指定。俺のlinuxなので orex に決定

ドメイン名を聞かれたが特に無いので なし

パーティションの設定 パーティションの設定は後々のことを考えてLVMを使うことにする

手動でパーティションテーブルを編集

をとりあえず選ぶ

IDE1hda として認識されているのでこれを操作する

新しいパーティションの作成を選択

/bootLVM を使えないそうなので /boot だけ単独の基本パーティションとして 1GB 確保する

確保完了

空きが 81.3GB あるのでこれを LVM として設定する

残りを全部同一パーティションに設定して利用方法をLVMに指定する

そして論理ボリュームマネージャの設定をする。 これにより複数の基本パーティションを1個のディスクとして操作できる

ボリュームグループの操作を選択

ボリュームグループを作成する

/dev/ide/host0/bus0/target0/lun0/part2 ()

ってやつが表示されてるからチェックをいれて続ける ボリュームグループに名前を付けろといわれるので

vg

にしておく

論理ボリュームの作成にうつる

グループ化して1個のディスクになったのでこれを新たにパーティションに切り分ける

ボリューム名を指定する。 / 用のパーティションを root という名前で作る

どこに作るか聞かれるのでさっき指定した vg を指定する。容量を聞かれるのでとりあえず 8.65G ほど割り当てておく

どんどんパーティションを追加していく

/etc 用のパーティションを作る etc という名前で作成 vg につくる。単なるテキストファイルの集合なんで100MBほど確保する

/tmp 用のパーティションを作る tmp とういう名前で作成 vg につくる。1GB ほど確保

/var var vg

イロイロは入ると思うので 10GB ほど確保しておく

/usr usr vg 

必要だろうなってことで 10GB 確保

/home home vg

45GB

swap領域 swap 1G vg

確保した LVM を確保の名目どおりに割り当てていく

設定をディスクに確定させる

これで設定完了。あとは自動的にインストールされる

ブートローダに GRUB を使うか聞かれるので、使う指定にする

Debian は最小限のインストールで必要なものを後から追加していくことで システムを構築していうというが・・・一瞬でインストール終了 Redhat と大違い・・・唖然

起動しないなんか /etc にファイルが書き込めないとかなんとかほざかれた

何回か試したらできた

意味不明まいいか

コンソール日本語化

2005年08月16日コンソールの日本語化 コンソールの日本語メッセージが化けるので表示を日本語対応にする

なんか jfbterm ってやつを使うらしい

そして jfbterm はフレームバッファを利用するらしい フレームバッファは画面表示の機能を抽象化して決まった手順で画面表示機能を利用できるようにしたものですわ

$ modprobe vesafb

っで登録できる

modprobe はドライバを突っ込む用のインストーラってところか

あらかじめ自分用のカーネル用にコンパイルされたドライバ群の一覧からインストールを試みる

失敗したので

$ modprobe vga16fb

を試してみる 成功!

うちのグラフィックボードはこれらしい

$ jfbterm -c -q other,EUC-jp,iconv,UTF-8

っで起動・・・

でもよく考えれば、Windows側から日本語コンソール使えばいい話であって あんま意味ないな・・・

じゃあこの17インチモニタの理由はなんだ・・・

sshデーモンの設定

2005年08月16日 ssh のサーバ側設定

Windwos 側から接続できるように ssh デーモンを立ち上げることにする

Debian では最初から入っているみたいなんで起動時に立ち上げることにする

一応初期の設定ファイル /etc/ssh/sshd_config を覗いてみる

port 22
Protocol 2

に設定されている

rootでのリモート接続を拒否しておく

PermitEmmptyPasswords no

※何も知らない当時はこうしておくのがいいと思ってましたw。ローカルでは単に不便なだけw ※2020-05-26追記。なんもわかってない

デーモンの起動

なんか本には

$ /etc/init.d/sshd start

って書いてあるがsshd なぞというスクリプトは無い なんか ssh ってスクリプトっぽいので

$ /etc/initl.d/ssh start 

で起動できた。

自動起動するように設定する

$ update-rc.d ssh default

で起動する設定になるっぽい

したけどもう起動する設定になってますよって 言われちゃった。

ってことで接続・・・・現場で使い慣れてるTeraTermProを・・・・ sshが使えねぇ・・・使えね〜

ってことでputtyでやると できたー 接続完了

これで画面のメッセージ記録もwindowsでできるから楽チンだわ ますます17インチのモニタが・・・

ファイアーウォールの準備

2005年08月16日ファイアーウォールの準備

Linuxのファイアーウォールは Netfilter という機能で実装されている

コレを制御するために

$ /sbin/iptables

というコマンドが使われる

まず iptables の設定を保存するための環境を作る

スクリプトのサンプルが

/usr/share/doc/iptables/examples/oldinitdscript.gz

っであるのでこいつを改造する

こいつを解凍して起動のスクリプトの場所に設置する

$ gunzip oldinitdscript.gz
$ cp oldinitdscript /etc/init.d/iptables

このスクリプトに実行権限を与える

$ chmod 755 iptables

さらにこいつの iptables の設定ファイルの保存先を作る

場所は

/var/lib/iptables

なぜこんな場所なのかは知らん

一覧を見ると・・・

$ ls
apt       canna  dictionaries-common  dpkg            exim4       misc  urandom
aptitude  dhcp   discover             emacsen-common  logrotate  nfs   usbutils

なので たぶんデーモン系の設定ファイルとかはここらしいね

とりあえず作る 作った

ファイアーウォールに用いられるルールのテーブルは主に二つ filternat

filter はパケットを制限し、nat はルーティングに用いる

ここから iptable コマンドによりルールを登録していく

まずルールを全部破棄する

入力パケット出力パケットすべてを拒否する

$ iptables -P INPUT DROP
$ iptables -P OUTPUT DROP

入力パケットを拒否設定にしたらネットワーク越しのsshのログインが跳ねられた それも設定した瞬間・・・ まぁ設定としては正しいんだが・・・しょうがないからローカルから作業する

今のところ全部拒否になってるので ルールを追加して穴ぼこを空けていく

自分自身に対しての許可をする ループバックの許可ってやつらしいね

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
  • オプション
    • A ルールを追加する
    • s 発信元
    • d 受信先
    • j アクション指定 今の場合は ACCEPTで許可

つまりこのコマンドならローカル発信のローカル受信の場合の入力は許可することになる

再び通信可能なようにsshの穴ぼこを空ける

$ iptables -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
$ iptables -A OUTPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
  • オプション
    • p 使用するプロトコルを指定する。 今回はsshなのでtcp
    • m モジュール指定なんかパケット指定の部品の使い方指定パケットフィルタの場合はとりあえず stateでいいらしい
    • –state   mオプションでstateを指定したのでそのためのオプション指定 新規セッション確立のNEWらしい 深い意味はワカラン
    • –dport 送信先ポートの指定 今は ssh の 22番ポート を指定。入力プロトコル tcp にかんして 22番でセッションを確立することを許可

22番ポートでの新規セッション確立を許可したのでセッション確立後の通信は全部許可することにする

$ iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
$ iptables -A OUTPUT -m state --state ESTABLISHED, RELATED -j ACCEPT

ってことで許可されたっポイんで リモート接続してみる

できたー!OKOKO

そうしたらこの設定を何回も打ち込むのは面倒なんで 保存する ちなみに全部拒否でsshだけ穴が開いている状態なんで当然webなんかもできない

自動更新のシステムapt-getにはftpを利用しているのでftpのリクエストが出て行く穴を開けておかないと 何かと不便なんで空けておく

FTP

$ iptables -A OUTPUT -p tcp -m state --state NEW --dport 20 -j ACCEPT
$ iptables -A OUTPUT -p udp -m state --state NEW --dport 20 -j ACCEPT
$ iptables -A OUTPUT -p tcp -m state --state NEW --dport 21 -j ACCEPT
$ iptables -A OUTPUT -p udp -m state --state NEW --dport 21 -j ACCEPT

http

$ iptables -A OUTPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
$ iptables -A OUTPUT -p udp -m state --state NEW --dport 80 -j ACCEPT

dns

$ iptables -A OUTPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT
$ iptables -A OUTPUT -p udp -m state --state NEW --dport 53 -j ACCEPT

OK全部許可したので セーブする

$ /etc/init.d/iptables save active

とうちこむと さっきの var/lib/iptables のところに保存されるらしい

保存されてた! なんかコマンドを打ち込んだ順番がきになるが

さてと iptable の起動スクリプトを Linux 起動時に起動するようにする

とりあえず今の標準の runlevel が何か調べてみる

$ /etc/inittab

現在の標準は レベル2 だった

だからレベル2のところにショートカットをつくりゃいいわけですな

$ cd /etc/rc2.d
$ ls
S10sysklogd  S18portmap  S20inetd    S20ssh         S89cron
S11klogd     S20canna    S20lpd      S21nfs-common  S99rmnologin
S14ppp       S20exim4    S20makedev  S89atd         S99stop-bootlogd

本では 18番 でポートマップが始まって 20 で各種サービスって言っているので、 19 あたりでサービスに関するフィルタをしておけばいいだろってことで

S19iptables

のシンボリックリンクを作っておく ちなみに portmap は NFS とか NIS とかちょっとヤバメの古いプログラムの番号を TCP にマッピングする仕組みらしい

必要ないような・・・

$ ln /etc/init.d/iptables ./S19iptables

で完了 これで開始時にさっきのルールが適用される

って調子ぶっこいてたら apt-get コマンドが使えなくなった・・・ 正確に言うと更新情報はゲットできるけど更新のデータそのものがダウンロードできない ドコにも情報が載ってないんだよね・・・・

っでググりまくったらなんかファイアーウォール設定した上でFTPを使うには

$ ip_conntrack_ftp

とかいうモジュールがカーネルに組み込まれてナイトだめっぴ

ってことで

$ modprobe ip_conntrack_ftp

を実行すると・・・

$ apt-get install vim

が成功しました! ってことねあとで起動時に読み込む設定にしておかねば

ルーティングもしてる場合は

ip_nat_ftp

もいるらしい・・・

ftpは古いからな〜 こういうところでネジレが出てるのかな

linux/distribution/debian/debian_sarge/rec/2005_08_13.txt · 最終更新: 2020-05-26 19:34 by ore