sambaでNAS-6

その6回目。OS起動後の設定

CentOS7が無事起動したら、いよいよsambaの設定になる。

まずはそれに向けて、地ならしの設定。せっかくCentOS(Linux-UNIX)が使えるので、普段使っているWindowsのPCからアクセスしてみる。
CentOS7のインストール直後にはSSHでの接続は出来るようになっているので、それで接続してみる。

SSH接続にはTera Termを使っている。Tera Termはここ(https://ja.osdn.net/projects/ttssh2/)からダウンできる。その他「窓の杜」(https://forest.watch.impress.co.jp/library/software/utf8teraterm/)などからもできる。

 

Tera Termを起動して、NASに設定した固定IPアドレスにアクセスする。作成したユーザーIDとパスワードでログイン。

初回起動時のみキーの保存を聞かれるので「続行」をクリック。

うまくは入れたら、suコマンドで、root権限にログインする。

うまくログインできればOKだが、接続できないとなると、まずはNASのIPアドレスが違うのかもしれない。もう一度NASに戻って、IPアドレスを設定し直したりしないといけない。このIPアドレスはsamba稼働後も、WindowsPCからアクセスするときにも使うので、きちんとしておかないといけない。IPアドレスはあっているとなると、さらに話が複雑になる。もう一度CentOSをインストールし直したがいいかもしれない。

次は、セキュリティの1つ目の設定、ファイアウォールの設定を行う。SSHの接続はファイアウォールではすでに外部からの接続ができるよう設定されているので、問題なくアクセスできたが、今後sambaの接続などを許可するにはファイアウォールの設定が必要。

ここからは、CentOS7のデスクトップに戻って、ファイアウォールの設定を行う。

まず、「アプリケーション」メニューから「諸ツール」、「ファイアウォール」と選択、

すると、「ファイアウォール」の設定用アプリが起動する。その昔、iptablesというコマンドで設定していたが、最近は便利な「ファイアウォールの設定」アプリがあるので、これでやっている。結構色々な設定を体系的に出来て便利。しかしその分なんだかややこしいが、設定するのは一部のみなので、その部分だけ触ればよい。

ファイアウォールの設定、「ゾーン」は表示されている「public」を使用する、そして右に出ている「サービス」で許可するもの(例samba)を設定してゆく。今回設定するのはsambaの他にvncやhttpdなども許可するようにした。vncはリモートからGUIでアクセスできるサーバー。そしてhttpdはホームページを表示するサーバーだ。ホームページは使わないが、sambaで接続できないときに、ネットワークがきちんと動いているか確認するのに便利なので使っている。

以下、ファイアウォールでの許可リスト

  • samba
  • vnc
  • httpd

まずは、samba。サービスを下へスクロールしてsambaをみつけ、チェックを入れる。

次に、VNC

そして、httpd

さらに、上の方の「実行時」というメニューを切り替え「永続」にして、同じ設定を繰り返す。これは、「実行時」というのは、今回設定している時だけという意味で、再起動などすると消えてしまう。「永続」にしておくと、再起動後もこの設定がずっと残るという意味。

続いて、セキュリティ2つ目の設定、「SELinux」の設定になる。SELinuxはguiツールは通常入っていないので、コマンドで設定することになる。

まず、「アプリケーション」メニューから「お気に入り」か「システムツール」メニューから「端末」を起動する。

端末が表示されたら、getenforceコマンドを入力する。

Enforcingと出たら、SELinuxが動いており、セキュリティ保護が働いている。これを止める。SELinuxはセキュリティとしては大変いいのだが、sambaを動かす上では設定が結構ややこしくなる。また、LAN内のプライベートなNASでしか使わず、外部に公開しないので、残念だがSElinuxは切ってしまう。

使うコマンドは、setenforce 0。入力したらgetenforceで確認してみる。

Permissiveとなっていれば、警告は出るが、各種ファイルの読み書きなどは可能となる。ただ、これだと再起動したり、電源を切ってしまって、後日起動したりすると、もう一度setenforce 0を入力しないといけない。次回リモートでgui操作できるVNCサーバーを入れるのだが、それも起動時にコマンドを入力しなくてはいけない。なのでついでにやればいいのだが、もしSElinuxを完全に止めたい場合は、SElinuxの設定ファイルをいじることとなる。viなどのエディタで/etc/selinux/configという設定ファイルをいじる。

vi /etc/selinux/config

ファイル内の、SELINUX=enforcingという所を、

SELINUX=disabled

にする。

実際の、設定ファイル全体の様子。

 

つづく

 

AX57Aをルータに

UQのポケットWi-Fiルータを使いだして、ちょうど1年になった。最初はWi-Fi接続して使っていたが、もともとPC類はGigabitの有線LANでつないで使っていた。やはりなんといっても有線LANが安定している。しかし … “AX57Aをルータに” の続きを読む

UQのポケットWi-Fiルータを使いだして、ちょうど1年になった。最初はWi-Fi接続して使っていたが、もともとPC類はGigabitの有線LANでつないで使っていた。やはりなんといっても有線LANが安定している。しかしUQに頼んだときはクレドールは頼まなかったので、直接有線LAN接続はできない。なので、USBで古い東芝のノートPC、Dynabook AX57Aにつないで使っていた。世が世なのでこれもいつの間にかWindows10になってしまった。
しかしちょっと困ったことが起こった。それはWindows updateが勝手に行われることだ。時には大量のデータが連続的にダウンされ、あれー今日はなんだか遅いなあとおもっていたら、AX57Aが新しいビルドになろうとしていたりして、そういう時に限って色々急ぎにやらなくてはいけないこともあったり。3日で3GBを枠をアップデートのデータだけで超えてしまったりと、よくないことが続いていた。

なので、いっそうのことLinuxにしてしまえということとあいなった。どうせならCentOSでと、まずは最新の7を入れてみたら、ぬぁんと、内臓有線LANを認識しない!!。USB接続のポケットWi-Fiルータは難なく認識したが。やはりハードが古いので、ドライバがないのだろう。いろいろいじればなんとかなるのだろうが、めんどうなんでCentoOS6.8でとあいなった。
インストールはかつて知ったる道ですんなり。

さて、問題はイーサネットの設定とUSB接続のポケットWi-Fiルータ側の設定。まずはネットワークを見てみる。

内臓LANはeth0で認識しているので、これを設定。

いままでWindowsでやっていたのと同じにした。192.168.0.1に設定。

ポケットWi-Fiルータ側はAuto eth1で認識しているので、こちらはDHCPに設定。

そして、ファイアウォール(IPTables)でルーティング。

ファイアウォールの設定で、マスカレーディングで、eth1にチェックを入れる。

これで、いいはずなので、ほかのPCから色々試してみた。今のところ問題なくアクセスできる。これで安定したルーティングができる。

samba関連のファイアウォール設定

ファイアウォールを使用しているときは、samba用に穴を開ける必要がある。 1.gnomeメニューの「システム」から「管理」、「ファイアウォール」と選択する。 2.「ファイアウォールの設定」が表示される。ここで、左上の「 … “samba関連のファイアウォール設定” の続きを読む

ファイアウォールを使用しているときは、samba用に穴を開ける必要がある。
1.gnomeメニューの「システム」から「管理」、「ファイアウォール」と選択する。

2.「ファイアウォールの設定」が表示される。ここで、左上の「信頼したサービス」をクリックする。

3.下へスクロールして、サービスでSambaの項目をクリックしてチェックを入れる。

チェックを入れたら「適用」ボタンをクリックする。

※コマンド派の方のために、iptable側でどのような設定がされたか。

# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all — anywhere anywhere state RELATED,ESTABLISHED

--- 中略 ---

ACCEPT udp — anywhere anywhere state NEW udp dpt:netbios-ns
ACCEPT udp — anywhere anywhere state NEW udp dpt:netbios-dgm
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:netbios-ssn
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:microsoft-ds
ACCEPT udp — anywhere anywhere state NEW udp dpt:netbios-ns
ACCEPT udp — anywhere anywhere state NEW udp dpt:netbios-dgm

--- 中略 ---

REJECT all — anywhere anywhere reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all — anywhere anywhere reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

てな感じ。