スポンサードリンク

2014年3月26日水曜日

MicroserverにDebianを入れてNASにする

top

NASといってもそんな仰々しいモノではありません。単にSambaでディレクトリを共有しただけの簡単なモノです。言うなれば外付けHDDに毛が生えた程度です。
基本的には以前の記事を改めた内容となっています。


ディスク構成

  • /dev/sda: WD30EFRX-68A 3001GB
  • /dev/sdb: BUFFALO USB Flash Disk 8167MB
DebianをUSBメモリにインストールし、HDDを丸々共有に充てる。
USBメモリは筐体内部のUSBポートに挿している。
標準の500GBのHDDは取り外した。


インストール

インストールには「debian-7.4.0-amd64-netinst.iso」を使用した。
言語は英語を選択した。
一般ユーザ:wheezyを作成した。
HDDは将来の拡張性を考えLVMにし、マウントポイントとして/shareを作成した。
taskselではすべてのチェックを外した。
GRUBを/deb/sdb1にインストールした。


sudoを設定する

$ apt-get update
$ apt-get install sudo
$ visudo

# 以下を追記
wheezy ALL=(ALL:ALL) ALL
インストール時にrootのパスワードを空欄にすることで、初期ユーザに自動的にsudoを割り当てることも可能。


DHCPから固定IPに変更する

ルーターを再起動する度にIPアドレスが変わるのは困るので固定にする。
ここでは192.168.11.100をNASのアドレスとしている。
$ sudo nano /etc/network/interfaces

iface eth0 inet static  ←DHCPからstaticに変更

# 以下を追記
auto eth0
address 192.168.11.100  ←固定したいIP
netmask 255.255.255.0
gateway 192.168.11.1
dns-nameservers 192.168.11.1

$ sudo /etc/init.d/networking restart ←サービスの再起動


SSH

キーボードやディスプレイを接続しておくのは電気代の無駄なので、他のコンピュータから操作できるようにする。
またSSHの標準である22番ポートを別のポートに変更しておく。ここでは1022番ポートに変更する。
$ sudo apt-get install ssh
$ sudo nano /etc/ssh/sshd_config

# ポートの変更
Port 1022  ←22番から1022番

# ルートでログインできなくする
PermitRootLogin no  ←yesからno

$ sudo /etc/init.d/ssh restart  ←サービスの再起動
他のコンピュータより接続できることを確認してから、キーボードやディスプレイを取り外す。


Samba

やること
  • Samba用のユーザ:yutormをつくり、privateグループに属させる
  • /share/public(だれでも共有)と/share/private(制限付共有)をつくる
  • /share/privateはprivateグループに所属するユーザのみアクセス可にする

Sambaのインストール
$ sudo apt-get install samba
$ sudo smbd --version
Version 3.6.6
3.6.6がインストールされた。

Sambaユーザとグループの作成
$ sudo useradd yutorm               ←ユーザ:yutormを作成
$ sudo pdbedit -a yutorm            ←Sambaにyutormを追加
$ sudo groupadd private             ←グループ:privateを作成
$ sudo gpasswd -a yutorm private    ←privateグループに属させる

共有ディレクトリの作成
# だれでも共有
$ sudo mkdir /share/public
$ sudo chmod -R 777 /share/public         ←だれでもアクセス

# 制限付共有
$ sudo mkdir /share/private
$ sudo chmod -R 770 /share/private        ←パーミッションを770にする
$ sudo chgrp -R private /share/private    ←privateグループに属させる

Sambaの設定
$ sudo nano /etc/samba/smb.conf

[global]
security = user            ←アンコメント

# 以下を[global]内に追記
max protocol = SMB2        ←SMB2を有効にする
display charset = UTF-8    ←文字化けを防ぐ
unix charset = UTF-8
dos charset = cp932

# [public][private]を最下部に追記
[public]
path = /data/public
brwoseable = yes
writable = yes
create mode = 0777
directory mode = 0777
share modes = yes
guest ok = yes
guest only = yes

[private]
path = /share/private
brwoseable = yes
writable = yes
create mode = 0770
directory mode = 0770
share modes = yes
guest ok = no
valid users = @private

$ sudo /etc/init.d/samba restart  ←サービスの再起動
クライアントよりアクセスできることを確かめる。


ファイアウォール

iptablesをデーモンにするiptables-persistentを使用する

現状を確認
$ sudo 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のインストール
$ sudo apt-get install iptables-persistent

ルールの編集
$ sudo nano /etc/iptables/rules.v4

# Debian wikiの内容をコピペして、SSHのポートを変更、Sambaのポートを追記する。
*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 1022 -j ACCEPT  ←30000から1022に変更

# 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.

# Allows Samba connections                                   ←Sambaの設定を追記
-A INPUT -p udp --dport 137 -j ACCEPT
-A INPUT -p udp --dport 138 -j ACCEPT
-A INPUT -p tcp --dport 139 -j ACCEPT
-A INPUT -p tcp --dport 445 -j ACCEPT

# 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

# sudo /etc/init.d/iptables-persistent restart  ←サービスの再起動

反映されたか確認
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             loopback/8           reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:1022
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-dgm
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ssn
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:microsoft-ds
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
反映された。

参考


指定した時間にシャットダウン

つけっぱなしはもったいない。もし切り忘れても、夜中の2時になると切れるようにしておく。
$ sudo crontab -e

# 以下を最下行に追記
00 02 * * * /sbin/shutdown -h now


ベンチマーク

一般家庭用では十分すぎるぐらいである。特に何もしてない状態でこれなのだから恐ろしい限りである。
nas-bench


消費電力

待機電力0.8W
起動時(最大値)50.1W
アイドル32.3W前後
読み込み36W台
書き込み39W台
TAP-TST8にて測定

結構高い数値が出た。同じAMDのC-60はアイドル19Wだったので、なんとか下げたいところ。


感想

よかったのは、OSのインストールから設定まで簡単にできたこと。以前に一度まとめておいたのが大きい。
悪かったのは、消費電力が高くなったこと。以前の窒息ケースからちゃんとエアフローが考えられたケースに移行できたと考えれば、高くはない。


関連商品

HP ProLiant MicroServer N54L 500GB 4GBモデル F1F35A0-AAAE
ヒューレット・パッカード
売り上げランキング: 8,235

0 件のコメント:

コメントを投稿