NASといってもそんな仰々しいモノではありません。単にSambaでディレクトリを共有しただけの簡単なモノです。言うなれば外付けHDDに毛が生えた程度です。
基本的には以前の記事を改めた内容となっています。
ディスク構成
- /dev/sda: WD30EFRX-68A 3001GB
- /dev/sdb: BUFFALO USB Flash Disk 8167MB
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.63.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
ベンチマーク
一般家庭用では十分すぎるぐらいである。特に何もしてない状態でこれなのだから恐ろしい限りである。消費電力
待機電力 | 0.8W |
起動時(最大値) | 50.1W |
アイドル | 32.3W前後 |
読み込み | 36W台 |
書き込み | 39W台 |
結構高い数値が出た。同じAMDのC-60はアイドル19Wだったので、なんとか下げたいところ。
感想
よかったのは、OSのインストールから設定まで簡単にできたこと。以前に一度まとめておいたのが大きい。悪かったのは、消費電力が高くなったこと。以前の窒息ケースからちゃんとエアフローが考えられたケースに移行できたと考えれば、高くはない。
関連商品
ヒューレット・パッカード
売り上げランキング: 8,235
売り上げランキング: 8,235
0 件のコメント:
コメントを投稿