AX/57Aのルータでsamba

■sambaの稼働

AX/57Aのルータ化も一段落、一応順調に稼働している。AX/57AのHDDは320GBの容量なので、200GB程度余っている。このまま稼働させても、特にそのままの容量が余ったままなので、ちょっともったいないので、sambaを稼働させた。NASと両方の保存で重要ファイルの完璧保護。あまりでかいファイルは置けないが、ちょっとした小物の置き場には便利かと。100GB程度はつかっても問題ないだろう。最近はクラウドも課金が普通になってきたので、100GBと言えども、クラウドを借りると100~200円/月位はかかるので馬鹿にできない。

まずは、yumでインストール

# yum install samba

そして、つぎにsamba用ディレクトリを作成する。チェンジオーナーでディレクトリのオーナーをノーボディにしておく。

# mkdir /home/samba
# chown nobody:nobody /home/samba

次は、sambaの設定ファイル、smb.confをいじる。

# vi /etc/samba/smb.conf
[global]

# Linux側日本語文字コードとWindows側日本語文字コードの設定
unix charset = UTF-8
dos charset = CP932

# Windowsのワークグループの設定と、Windows側からの表示名の設定
workgroup = xxxx
server string = Samba Server Version %v

netbios name = LinuxSamba

# LAN内部からのみアクセスできるように
hosts allow = 192.168.1. 127.

# Public公開の設定

[public]
comment = Public Stuff
path = /home/samba
public = yes
writable = yes
only guest = yes

終わったら、起動テスト。問題ないようだったら、起動時に自動起動するようchkconfigで設定。smbとnmbの2つあるので、注意!!

# /etc/rc.d/init.d/smb start
SMB サービスを起動中:     [ OK ]
# /etc/rc.d/init.d/nmb start
NMB サービスを起動中:     [ OK ]
# chkconfig smb on
# chkconfig nmb on
# chkconfig –list smb
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig –list nmb
nmb 0:off 1:off 2:on 3:on 4:on 5:on 6:off

SELinuxが動いていると、sambaの共有領域へWindows側からアクセスできないので、SELinuxは切っておくか、SELinuxで共有領域へのアクセスを許可しておく。

SELinuxを止めるには、

selinuxの状態を見る
# getenforce
Enforcing

稼働中なので、
selinuxの稼働停止
# setenforce 0

selinuxの状態を見る
# getenforce
Permissive

警告のみ表示のモードになった。

selinuxの設定をいじって、今後動かないようにする
# vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing ? SELinux security policy is enforced.
# permissive ? SELinux prints warnings instead of enforcing.
# disabled ? No SELinux policy is loaded.
#SELINUX=enforcing
#selinux稼働停止
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted ? Targeted processes are protected,
# minimum ? Modification of targeted policy. Only selected processes are protected.
# mls ? Multi Level Security protection.
SELINUXTYPE=targeted

それか、SELinuxの管理でsamba設定をいじる。

GUIツールが入っていな場合は、
コマンドでもできる、yumではパッケージ名が違うのでちょっと注意が必要。

# yum install policycoreutils-gui

GUIを使いたくない場合、またはそもそもGUI(GNOME)が動いていない場合、boolの変更などはコマンドでもできる。サンバにユーザのホームディレクトリにアクセスできるようにするには、

# setsebool -P samba_enable_home_dirs 1

という具合にする。

AX/57AのDHCP設定修正

■ DHCPの設定修正
DHCPはBOOTPで設定していたが、BOOTPはさすがに古いので、Windows10マシンからなら通常のDHCPでいいと思われるので、設定をやり直した。とはいっても、ちょっといじっただけ。

# This declaration allows BOOTP clients to get dynamic addresses,
# which we don’t really recommend.

subnet 192.168.0.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.0.40 192.168.0.60;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
}

ここの所をrangeの設定をいじって、BOOTPをはずした。

# This is a very basic subnet declaration.

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.40 192.168.0.60;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
}

AX/57Aのルータ化つづき

■ DHCPの稼働
この前同様、DHCPは通常のインストールでは入ってこないので、コマンドラインからマニュアルでいじって稼働させる。
まずは、DHCPをインストール

# yum install dhcp

confファイルをいじる。

# vi /etc/dhcp/dhcpd.conf

設定はサンプルファイルもあるので、それを参考にするといい。
サンプルファイルのありかは、lsで探すといい。

# ls /usr/share/doc/dhcp*
/usr/share/doc/dhcp-4.1.1:
3.0b1-lease-convert api+protocol dhcpd.conf.sample ms2isc
IANA-arp-parameters dhclient-tz-exithook.sh dhcpd6.conf.sample
sethostname.sh README.ldap dhcpd-conf-to-ldap draft-ietf-dhc-ldap-schema-01.txt
solaris.init

dhcp.conf.sampleとうのがそれ。
今回の設定は、
まずDNSの設定。これはポケットWi-FiルータのIPをいれておいた。
option domain-name-servers 192.168.100.1;
dhcpのリース時間を設定。
default-lease-time 21600;
max-lease-time 43200;
IPアドレスの割り振りの設定。40~60までにしておいた。
subnet 192.168.0.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.0.40 192.168.0.60;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
}
これで一応設定は終了。DHCPをスタートさせる。

# /etc/rc.d/init.d/dhcpd start
dhcpd を起動中: [ OK ]

起動時に自動的にDHCPも走るように設定。

# chkconfig dhcpd on

設定の確認。

# chkconfig –list dhcpd
dhcpd
0:off 1:off 2:on 3:on 4:on 5:on 6:off
これであとは、Windows10側に移動して、IPアドレスが自動で取れるかテスト。

再びAX/57Aルータ化

UQのモバイルWi-Fiルータを入れ替えてから、Wi-Fi接続で使っていた。クレドールは購入していないので、有線LANでは接続できないのだが、やはり有線LANで接続しないとせっかく作ったNASにアクセスできないし、他のPC等との接続もモバイルWi-Fiルータ経由では、大量データのやり取りは負荷が高くなりこわい。クレドールを購入してもいいが、以前のクレドールは、どうもルータを差し込んだ時うまくささらなくなって有線接続がおぼつかなくなってきていた。ずっとさしっぱなしならいいのだろうが、しょっちゅう持ち出して抜きさしを煩雑に繰り返していたからかもしれない。
なので、去年クレドールを買うまで少しの間やっていた、東芝のDynabook AX/57Aを再びルータ化してみることにした。

OSはCentOSにしたが、去年最新版のCentOS7を入れたら、内臓有線LANを認識しなかったが、バージョンもアップしていたので、ひょっとしてと思い、ダウンして入れてみたら、やっぱり結果は同じだった。有線LANのハードを調べ、無理やり認識させてもいいのだが、面倒なので、また旧版のCentOS6.5をいれた。こちらは難なく終了。
設定をして動作を確認していたらどうも遅い。原因をあれこれ調べたら、どうも内臓のWi-Fiが古いので、IEEE 802.11b/g(gは54Mbps、2003年の制定)にしか対応していないようでさらには暗号化も結構遅いようでそれが原因のようだった。AX57/Aは2007年4月製造なので、これでも最新だったのだろう。そこで、以前購入したWi-Fi子機、LogitecのLAN-W150NU2HTを使うことにした。これは、2014年10月頃購入のもの、これだとLinuxでも簡単に自動認識する。

もう一つ子機でELECOMのWDC-433DU2Hもあるが、こちらは自動では認識しない。ドライバを入れて設定してやるとできるらしいが、面倒なので。
この子機(WDC-433DU2H)は、Windows10マシンでルータの入れ替え直後速度を測ると70Mbps超えのスピードが出ていた。
無線LANが2つ見えるので、片方の内臓の方は接続を切っておく。

無線LANはAutoで認識されている。

接続の設定で、有線の方はIPアドレスを指定しておく。

これで、あとは、ファイアウォールにてマスカレードの設定をする。

ついでに、ファイアウォールでWWWも見えるようにしておいた。動作確認などに便利かと。

これで一応ルータとして機能するはず。

Windows10マシンから速度を測ってみた。impressのHPで、大きな画像ファイルをダウンして測ったところ57Mbps出た。普通のHPで測るので実際の実用速度に近いはず。まあまあのスピード。内臓Wi-Fi機能を使った場合は10-20Mbpsだったので、だいぶ良くなった。

これからしばらくは、動作の安定度の確認だな。とは言うものの、AX/57A自体がもう10年経っておりいつまで動作するものやら。HDDとメモリー、CPUは5-6年前頃に交換はしているが、はてさて。CentOS6もあと3年程でサポートが切れる。(7はさらに4年先の2024年)ハードが壊れるかサポート切れかどちらが先かな。そのころにはまた別の方法でも考えるかな。