2013/06/04

swap 設定

どうやらうまくいったようなので、
swapを設定する。

まずdphys-swapfileのリムーブ
$ sudo apt-get remove dphys-swapfile

次にswap領域に名づけ
$ sudo mkswap -L swappat /dev/sda3

有効化
$ sudo swapon -L swappat

チェック
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda3                               partition 2191356 0 -1

fstabに登録
$ sudo vi /etc/fstab
LABEL=swappat   swap            swap    defaults        0       0

rebootしてチェック

ぜんぜんできてないことが発覚

rootfs の使用サイズがパーティションサイズ一杯(つまり空き容量なし)になってた。
書き込み等はできてるので使用上は問題ないのかもしれなが、
精神衛生上よろしくないので再構築することにする。

今回はswapパーティション対応にしてみる。

準備
・raspbianを展開したSD
・boot用SD/1GB程度(fatでフォーマット)
・USB-HDDを
  パーティション1/16GB程度(ext4でフォーマット)
  パーティション2/残り全部(ext4でフォーマット)
  パーティション3/2GB程度(linux-swapでフォーマット)
 でフォーマット。


boot用SDの構築
raspbianのパーティション1(bootパーティション)のファイルをboot用SDにコピーする。

cmdline.txt の編集
root=/dev/mmcblk0p2 と定義してあるところを
root=/dev/sda1 に書き換える。

rootfsの構築
raspbianのパーティション2のファイルをUSB-HDDのパーティション1にコピーする。
$ sudo -arp /media/(SDのPat2)/* /media/(USB-HDDのPat1)/


諸々ファイルを直接更新しておくと楽かもしれない。。。

2013/06/02

今更ながらアクセス制限設定

外部からの要求は全部ルーターで遮断してるので設定の必要はないが、
まあとりあえず。。

hosts.deny で全拒否
$ sudo vi /etc/hosts.deny
ALL: ALL

hosts.allow でローカル及び同一セグメントからのアクセス許可
$ sudo vi /etc/hosts.allow
ALL: 127.0.0.1
ALL: 192.168.0.0/255.255.255.0

DHCPサーバーも有効にしちゃえ

しばらくの間、dnsmasqのDHCPサーバーも有効にしてみることにする。

$ sudo vi /etc/dnsmasq.conf

no-dhcp-interface=eth0 ←消す

# ↓↓↓有効にする
# ドメインの付加されていない名前解決は上位DNSに転送しない
domain-needed

# プライベートIPの逆引きは上位DNSに転送しない
bogus-priv

# IPアドレスを払い出すインターフェイスの指定
interface=eth0

# domain= で指定されたドメインで補完する
expand-hosts

# 補完するドメイン
domain=local.example.com

# DHCPで割り当てたい範囲とリース時間 (192.168.0.100 〜 199 リース24時間)
dhcp-range=192.168.0.100,192.168.0.199,24h

# オプション番号3:デフォルトルートのアドレス設定
dhcp-option=3,192.168.0.1


サービス再起動で終わり
$ sudo service dnsmasq restart

ルーターのDHCPを切るのを忘れずに

DNSサーバーを立てる

ownCloud だけでは能力の無駄遣いなので、
いろいろサーバーを立ててみよう。
今回はDNSサーバー。

RPiを起動していない場合でもLAN内の他のマシンに影響がでないよう、
あくまでセカンダリのサーバーとして認識させることが前提。


dnsmasq
が簡単らしいのでそれで。

$ sudo apt-get install dnsmasq

hostsファイルをDNSが参照するので、
LAN内で名前解決したいアドレスを記述する。

$ sudo vi /etc/hosts
192.168.xxx.yyy   hogehoge
などなど

$ sudo vi /etc/resolv.conf
hostsファイルで解決できない場合は上位DNSに問い合わせる仕組みのため
resolv.confに上位DNSのアドレスが記述されていること。


DHCPは動かさないので
dnsmasq.conf に明示
$ sudo vi /etc/dnsmasq.conf
no-dhcp-interface=eth0


dnsmasqを再起動すればおk
$ sudo /etc/init.d/dnsmasq restart


ルーターのLAN側DNSにRPiのIPアドレスを指定する。


・・・で、動かない、と。
ルーターがDNSアドレスの通知を怠ってるようだ。


追記
グーグル先生に教えてもらったところ、
家に設置してる某メーカーのルーターは、
・DHCPはルーターの機能を使用
・しかしDNSはルーター外のDNSサーバーを参照
というのは使用できないらしい。
だったら設定できないようにしとけよ、って話。
古いルーターなので、そろそろ引退してもらってもいいのかもしれない。

フォロワー