2011年4月27日水曜日

無線ファイルサーバ(samba)の構築

無線ファイルサーバ(samba)の構築

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。


NAS-T4とGuruPlugPlusを組み合わせて
無線ファイルサーバ(samba)を構築した。


(モチベーション)

自室(兼寝室兼書斎兼BB無線ルータ設置室)に
NAS-T4を設置することはできるが、
常時立ち上げておくと非常にうるさいので、
GuruPlugとNAS-T4を離れたところ
(実は玄関にあるデッドスペース)に
設置して、無線ファイルサーバにする。

(環境)
Linuxマシン
・Linux guru 2.6.33.2-00003-g4b82fc0 #1 PREEMPT Thu Apr 22 03:29:35 PDT 2010 armv5tel GNU/Linux
・Debian Lenny

WINDOWS
・XP Home Edition SP3

- 元のメッセージを隠す -

(ネットワーク構成)

subnet(192.168.1.0/24)

BBルータ(192.168.1.1):インタネットに接続

XP(192.168.1.20):sambaでファイルを読み書きさせたいWINDOWSマシン

GURU(192.168.1.17):ルータ(GuruPlugPlus)のwlan0側、

PLUG(192.168.1.18):sshサーバ(SheevaPlug)、sambaのドメインマスタかつ
本subnetのローカルマスタはPLUG

subnet(192.168.0.0/24)

NAS-T4(192.168.0.36):ファイルサーバ(samba)

GURU(192.168.0.1):ルータ(GuruPlugPlus)のeth0側。
NAS-T4と直接つなぐ場合はクロスケーブルを用いる

[N.B.]sambaの本subnetのローカルマスタはNAS-T4


(手順)

1.GuruPlugPlusを無線LANモードにする(wlan0)

[N.B.] なにか設定がおかしいかったのか、
立ち上げて30分もしないうちにアクセス不能(ファイルサーバの
subnet外部から内部へのpingが通らない)の現象があり困ったが、
いじっているうちに消えた

2.GuruPlugPlusを有線LAN(eth0)とNAS-T4を接続する

[N.B.] 直接つなぐ場合はクロスケーブルを用いる

3.wlan0とeth0は別サブネット(subnet)として接続し、かつ
IPパケットを通したいのでip_forwadをONしておく。

[/etc/sysctl.conf](on GURU)
-----------------------------------------------------------------------
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1
net.ipv4.ip_forward=1
-----------------------------------------------------------------------

[N.B.] ブリッジ接続はちょっとやって諦めた。

4.sambaを設定する。普段あまり使わない設定をする必要がある

ドメインマスター(全体で1ホスト)、ローカルマスター(各subnet毎に1ホスト)、その他ホスト

[/etc/samba/smb.conf](on PLUG) ドメインマスター(全体で1ホスト)
-----------------------------------------------------------------------
[global]


DOS charset = CP932
unix charset = UTF-8
display charset = UTF-8


workgroup = WORKGROUP


server string = %h server


netbios name = GURU
domain master = yes : ドメインマスターになるよの設定
preferred master = yes
local master = yes : ローカルマスターに(も)なるよの設定
wins support = yes
wins proxy = yes
os level = 65
-----------------------------------------------------------------------

[/etc/samba/smb.conf](on NAS-T4) ローカルマスター(各subnet毎に1ホスト)
-----------------------------------------------------------------------
[global]


DOS charset = CP932
unix charset = UTF-8
display charset = UTF-8


workgroup = WORKGROUP


server string = %h server


netbios name = NAS-T4
domain master = No : ドメインマスターになりませんの設定
preferred master = No
local master = Yes : ローカルマスターになるよの設定
wins support = No
wins proxy = No
wins server = 192.168.1.18 : ドメインマスターのIPアドレス
os level = 65
-----------------------------------------------------------------------

[/etc/samba/smb.conf] その他ホスト
-----------------------------------------------------------------------
[global]


DOS charset = CP932
unix charset = UTF-8
display charset = UTF-8


workgroup = WORKGROUP


server string = %h server


netbios name = OTHERHOSTS
domain master = no : ドメインマスターになりませんの設定
preferred master = no
local master = no : ローカルマスターになりませんの設定
wins support = no
wins proxy = no
wins server = 192.168.1.18
os level = 0
-----------------------------------------------------------------------

[N.B.] Windowsマシンではなにも設定する必要はない(XPで確認)

5.sambaでファイルを読み書きさせたいWINDOWSマシンのデフォルトゲートウエイ
を変更するか、routeコマンドでsubnet(192.168.0.0/24)へのゲートウエイを追加
する。これをやらないとファイルサーバが見えない

「ネットワーク接続」-「ローカルエリア接続」-「プロパティ」(全般)
-「インタネットプロトクロ(TCP/IP)」を選択して「プロバティ」(全般)
-「デフォルトゲートウエイ」を変更する

[N.B.] DHCP設定している場合は、routeコマンドで(デフォルトでない)
ゲートウエイを追加する。

route -p add 192.168.0.0 MASK 255.255.255.0 192.168.1.17 IF 0x1

[N.B.]sambaの設定によっては、WINDOWS上のマイネットワークから辿っても
でて来ない場合がある。エクスプローラで直接指定すればよい。上記の
場合だと
\\192.168.0.36
になる


(参考にしたリンク先)

route - ルーティングテーブルの表示/設定を行う
http://www.atmarkit.co.jp/fnetwork/netcom/route/route.html

[Chapter 5] ブラウジングと高度な共有の設定
http://ppona.com/gpl/iodata/usl-5p/USLSRC100/daemon/samba/040924/samba-2.2.11-ja-1.0/docs/ja/htmldocs/using_samba/ch05_01.html

サブネットをまたいで Samba ファイル-プリントサーバーを共有 パート2 - japan.internet.com
http://japan.internet.com/linuxtoday/20080201/4.html

Setting GuruPlug to be a stable WiFi Client - PlugWiki
http://www.plugcomputer.org/plugwiki/index.php/Setting_GuruPlug_to_be_a_stable_WiFi_Client#Configuring_and_compiling_a_new_kernel

お試しネットワーク環境を作る - いますぐ実践! Linuxシステム管理 - Vol.065
http://www.usupi.org/sysad/065.html

Linuxでワイヤレス・アクセスポイントを構築する
http://www.ibm.com/developerworks/jp/linux/library/l-wap/

以上

GuruPlugPlusのwlan0モード設定をifupdownに集約してみた

GuruPlugPlusのwlan0モード設定をifupdownに集約してみた

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。

(モチベーション)

もとの設定は、rc.localから/root/init_setup.shを
呼んで一旦apモードにして、同じくrc.localの
次の行に/root/wlan.shを呼んでwlanモードにする
ようになっている。

設定がいろいろなところに飛んでいるのは分かりにくいと
感じたので、今回、/etc/network/interfacesに
集中させてみた。

(環境、ネットワーク構成)

カーネルの版数等は
・Linux guru 2.6.33.2-00003-g4b82fc0 #1 PREEMPT Thu Apr 22 03:29:35 PDT 2010 armv5tel GNU/Linux
・Debian Lenny

GuruPlugPlus周りのネットワーク構成は、

・BBルータのIPアドレス:192.168.1.1
・GuruPlugPlusのeth0経由でつながるsubnet:192.168.0.0/24
・GuruPlugPlusのeth1経由につながるsubnet:192.168.10.0/24
・GuruPlugPlusのwlan経由につながるsubnet:192.168.1.0/24。BBルータを介してWANへ
のようになっている

(手順等)

[/etc/network/interfaces]
------------------------------------------------------------
auto lo
iface lo inet loopback


auto eth0
iface eth0 inet static
pre-up /usr/sbin/ethtool -s eth0 autoneg on speed 1000 duplex full
# pre-up /usr/sbin/ethtool -s eth0 autoneg on speed 100 duplex full
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
dns-nameservers 192.168.1.1


auto eth1
iface eth1 inet static
# pre-up /usr/sbin/ethtool -s eth0 autoneg on speed 1000 duplex full
pre-up /usr/sbin/ethtool -s eth0 autoneg on speed 100 duplex full
address 192.168.10.1
network 192.168.10.0
netmask 255.255.255.0
broadcast 192.168.10.255
dns-nameservers 192.168.1.1


auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
pre-up /root/wlan.sh
pre-up /sbin/iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
address 192.168.1.17
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
wpa-driver wext
wpa-ssid your_ssid
wpa-psk xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
dns-nameservers 192.168.1.1
------------------------------------------------------------
[N.B.] MASQUERADE設定は不要かも知れない(BBルータの方でやっているから?)
と思っていろいろやってみたが、これがないとインタネットにpingが通らなくなった
[N.B.] wpaに関する設定はこれだけ。wpa_supplicantも陽には起動していない。
ifupdownが「wpa」のキーワードを認識してwpa_supplicantを適当な引数で
起動してくれるようだ


[/root/wlan.sh]
------------------------------------------------------------
#!/bin/sh


# The firmware files are -> sd8688.bin & sd8688_helper.bin
# The firmware files need to be present in /lib/firmware/


rmmod libertas_sdio libertas
cp /root/firmware/sd8688* /lib/firmware/
#/etc/init.d/udhcpd stop
#/etc/init.d/dnsmasq stop


echo 2 > /proc/uap/uap0/hwstatus
ifconfig uap0 down
rmmod uap8xxx


modprobe libertas_sdio


# This will be deleted on bootup.
# Bootup by-default is always AP mode.


touch /etc/wlanclient.mode
# Delete the firmware immediately so that next bootup is in AP mode.
rm -f /lib/firmware/sd8688*


# The newly created interface will be wlan(n)


# The following command lists all the available wireless networks
# iwlist scanning
# To connect to a particular SSID
# iwconfig


#Set leds for client mode
echo 0 > `eval ls /sys/class/leds/guruplug\:green\:wmode/brightness`
echo 1 > `eval ls /sys/class/leds/guruplug\:red\:wmode/brightness`
------------------------------------------------------------
なんか不要な設定がいっぱいありそうだ。

[/etc/sysctl.conf]
------------------------------------------------------------
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1
net.ipv4.ip_forward=1
------------------------------------------------------------

init_setup.shはLEDの設定だけになっている

これで普通(WPA2で暗号化して)に無線LANモードが動くようになった。

(参考にしたリンク先)

WPAで無線LAN on Debian sid-unstable - Let’s start something new!
http://d.hatena.ne.jp/nshttsk/20071023/1193146188

お試しネットワーク環境を作る - いますぐ実践! Linuxシステム管理 - Vol.065
http://www.usupi.org/sysad/065.html

HP2133日記 wpa_supplicantの設定
http://admin.homev6.jp/HP2133/2008/09/wpa_supplicant.html

iptables tutorial 1.2.2 - ステート機構
http://www.asahi-net.or.jp/~aa4t-nngk/ipttut/output/statemachine.html

以上

SheevaPlug, GuruPlugPlusの電源回路を取り寄せてみた

SheevaPlug, GuruPlugPlusの電源回路を取り寄せてみた

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。

(モチベーション)

電解コンデンサの液漏れでSheevaPlugの電源が壊れてそのまま
にしていたのが、最近の情報では電源が単体で売られているらしい、
ということが分かり、

SheevaPlug用電源回路とGuruPlug+用電源回路を購入してみた。

(内容)

SheevaPlug用電源回路は半田付けもなにも必要なく
手でセットできる。

GuruPlug用電源回路は半田付けの必要があった。
コイルが若干大きくなっているように感じたし、
部品のレイアウトも結構異なっているようで、
ショートを防ぐためのプラスチック製?のカバーを
そのままでは入らなかったので少しだけ切って、
なんとか押し込めたが、あれをキチンと入れられる
のだろうか。

というわけで、SheevaPlugが無事復活して、sshサーバ
として動かしている。

GuruPlug+はwlanとeth0(1GBps)を同時に動かすと
熱暴走のためか際限なくリセットしてしまう現象があったが、
強化された電源回路でそのあたりどうなるか、
実験してみた。

1: wlan0 + eth0(1G) : OK
2: wlan0 + eth0(1G) + eth1(1G) : NG
3: wlan0 + eth0(0.1G) + eth1(0.1G) : OK
4: wlan0 + eth0(1G) + eth1(0.1G) : OK

という結果になった。2のときは、eth1にイーサケーブルを
入れた瞬間に落ちた。

以上

Android端末は簡単sshサーバになる

Android端末は簡単sshサーバになる

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。

(概要)

QuickSSHdといAndroidアプリがあって、先日購入してみた。

自宅と出先で実験してみたが、
sshサーバとして普通に動作した。
しかも、簡単設定で。。。

(モチベーション)

企業や大学など、セキュリティ確保のため構内ネットワーク(LAN)から
外部ネットワーク(WAN)へのアクセスを制限している場合が多く、
それはそれでよくわかるが、
情報検索等インタネットにある膨大な資産を有効活用するには、
邪魔なもの。

一方で、LANにsshポートを空けてあるところは結構あり(恐らく
外部からのメンテナンスのため?)、そこを使って
トンネルを掘って抜けるようにLANからWANに出て行くことが
できる。それを外部でサポートしてくれる存在がsshサーバだ。

sshサーバがあれば、そしてそこにつなぐ環境が揃えば、例え
企業でも官庁でも、(自宅の自由なネットワーク環境と同じように)
どこにでもつなぐことができる。

ただ、sshサーバを立ち上げるにはそれなりの知識やマシンが必要に
なり(何故市販の無線BBルータなどにそういった機能を公開しないのか
不思議)、それなりに敷居が高かった。

(本題)

(あまったAndroid端末があればの話だけど)無線LANモードに
してQuickSSHdを起動したAndroidを自宅においておくだけで
(あとルータからのポート転送も必要)それがsshサーバになって
しまう。凄い世の中になったと思う。

または、接続元の環境が許せば、手元で(3Gモードで)
QuickSSHdを起動して、振られたIPアドレスを元に接続元の
設定を変えて使用する手もある。

これまで機種変更して使わなくなったケータイの使い道としては、
アラーム、ワンセグ、懐中電灯、カメラ
位しかなかったが、極小無線Linuxボックスとしていろいろな
アイデアが出てきそう。

以上