ブレスマイルクリア(歯磨き粉)

 

■Ubuntu Server / sambaでファイル共有

ubuntu server に samba でファイルサーバーを設定して、Windows パソコンから共有フォルダとして利用できるようにします。

過去に設定したときの記事 Ubuntu Server / ファイルサーバーを構築する と特に違いはありません。

 

1. samba をインストール

$ sudo apt install samba

今回インストールされた samba のバージョンは 4.7.6 でした。

 

2. ユーザーディレクトリのパーミッション設定

自分だけが読み書きできるようにパーミッションを変更します。

$ sudo chmod 700 /home/username

 

3. samba の設定

オリジナルの smb.conf を smborg.conf としてコピーしておきます。

$ sudo cp /etc/samba/smb.conf /etc/samba/smborg.conf

 

smb.conf を編集します。

$ sudo vi /etc/samba/smb.conf

ワークグループの変更

workgroup = WORKGROUP

共有ディレクトリの設定

[username]
path = /home/username

browseable = yes

writeable = yes
read only = no

 

4. samba ユーザーを追加

$ sudo smbpasswd -a username

 

5. samba を再起動

$ sudo service smbd restart

 

Windows パソコンからファイルサーバーへアクセスできたら完了です。

 


■Ubuntu Server / SSH でリモート操作

サーバーは普段パソコンを使っている場所にはありませんので、そこで作業するのはけっこう面倒です。寒いし (^_^;)

なので、SSH でリモート操作することにします。

 

その前に、Wake on LAN でサーバーが起動できることを確認しましょう。起動するためにサーバーのところへ行くなんて意味不明ですからねぇ。

MAC アドレスを ifconfig で確認して、gWakeOnLan などのアプリケーションからマジックパケットを送出すると… 起動できました。起動できないときは BIOS を確認するなどしてみましょう。

 

さて、SSH サーバーをインストールします。

 

$ sudo apt-get update

$ sudo apt-get install openssh-server

 

SSH が起動しているかどうかは

 

$ service --status-all | grep ssh

 

で確認できます。

暗号鍵を置くディレクトリを作っておきます。

 

$ mkdir ~/.ssh

 

クライアント (ubuntu 18.04.2 Desktop) 側で暗号鍵を生成して、公開鍵をサーバーへ送ります。

 

$ ssh-keygen -t rsa

$ scp -P 22 ~/.ssh/id_rsa.pub username@IP-address:~/.ssh/id_rsa.pub

 

サーバー側で公開鍵を authorized_keys に登録 (追加) します。初めから authorized_keys という名前でコピーしちゃうと、すでにファイルがあった場合に困っちゃいますから、追加するという方法で実行しています。

 

$ cat id_rsa.pub >> authorizes_keys

 

パーミッションを変更しておきます。

 

$ chmod 600 ~/.ssh/authorized_keys

 

クライアントから SSH で接続できることを確認します。

うまく接続できたら、最後に設定ファイルを書き換えましょう。

 

$ sudo vi /etc/ssh/sshd_config

 

変更するのは以下の 3ヶ所です。コメントアウトされているので、行頭の # も外します。

 

PasswordAuthentication no
Permit Root Login no
PermitEmptyPassword no

 

SSH サーバーを再起動します。

 

$ sudo /etc/init.d/ssh restart

 

これで普段使っているクライアントパソコンからサーバーのメンテナンスができるようになりました。

 


■Ubuntu Server 18.04 LTS をインストール

Core 2 Duo E7400 / 2.8GHz メモリー 4GB という中古パソコンに ubuntu server 18.04 をインストールした備忘録です。

 

ハードディスクは 500GB を 2 台取り付けて RAID1 とします。

OS は ubuntu server 18.04.2 LTS 64bit ですが、インストーラは新しい live 版ではなく、従来型の alternative installer を使用します。

その他、基本的なインストール方法は「Ubuntu ServerをExpress5800/110Geにインストール」と同様でした。RAID1 の設定については、まぁやっぱりよくわからなくて何回かやり直したのですが、こんな感じが完成形です。18.04 ではスワップはファイルになるそうで、以前のようにパーティションを分けることはしないようです。

 

RAID1 device #0 - 500.0 GB Linux Software RAID Array

        #1                500.0 GB        F        ext4        /

SCSI1 (0,0,0) (sda) - 500.1 GB ATA ST500DM002-1BD14

        #1    primary    500.1 GB    K        raid

SCSI2 (0,0,0) (sdb) - 500.1 GB ATA ST500DM002-1BD14

        #1    primary    500.1 GB    K        raid

 

とゆーことで、とりあえず OS のインストールは完了。アップデートして最新の状態にしておきましょう。

 

RAID の状態は

 

$ cat /proc/mdstat

 

で確認できます。[UU] となっていれば正常。resync の数値が同期の進捗状況で、完了すると表示がなくなります。

 

 


■ubuntu server 13.04 を 14.04 LTS へアップグレード

現在、家サーバーで使っている OS が ubuntu server 13.04 のままで、すでにサポート期間が終了してしまっているので、14.04 LTS にアップグレードしてみます。

実は ubuntu server のアップグレードはやったことがないのでどうなるかわかりません。まずは最低限必要なものをバックアップしておきます。本当はシステムを丸ごとバックアップしたほうがいいんだろうなぁとか思いつつ、まぁ家サーバーなのでダメになったら一からインストールしなおしてもすっきりして良いかなと思ってるわけで (^_^;)


1. バックアップ

ファイルサーバー内のファイルをすべてバックアップ。
samba や VPN、ssh などなどの設定ファイルをバックアップ。
softether VPN のディレクトリーを丸ごとバックアップ。これは最終的にバージョンアップする予定です。


2. 13.04 から 13.10 へアップグレード

現在 ssh でログインするとこんな感じ。
 

Welcome to Ubuntu 13.04 (GNU/Linux 3.8.0-35-generic i686)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sun Mar 29 13:03:45 JST 2015

  System load:  0.0                 Processes:           95
  Usage of /:   27.2% of 678.34GB   Users logged in:     0
  Memory usage: 3%                  IP address for eth0: 192.168.1.10
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

0 packages can be updated.
0 updates are security updates.

Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife

New release '13.10' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Sun Mar 29 11:56:16 2015 from 192.168.1.100
user@ubuntu:~$


13.04 からは 13.10 へアップグレードできますので、書かれているように「do-release-upgrade」を実行してみましょう。ただし、ssh 経由は非推奨らしいし、安全のためにもマシンのあるサーバーラックへ移動して作業します。寒いんですけど… (^_^;)
 

$ sudo apt-get update
$ sudo do-release-upgrade

Installing the upgrade can take several hours. Once the download has
finished, the process cannot be canceled.

Continue [yN]


y を入力してアップグレードを開始します。
 

13 Packages are going to be removed.

Continue [yN]


ここも y を入力して進めます。
 

To finish the upgrade, a restart is required.
If you select 'y' the system will be restarted.

Continue [yN]


y を入力すると、サーバーマシンが再起動してアップグレードが完了します。かかった時間は約30分でした。
ssh でログインするとこうなっています。
 

Welcome to Ubuntu 13.10 (GNU/Linux 3.11.0-26-generic i686)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sun Mar 29 14:34:50 JST 2015

  System load:  0.12                Processes:           105
  Usage of /:   27.2% of 678.34GB   Users logged in:     1
  Memory usage: 3%                  IP address for eth0: 192.168.1.10
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

Your Ubuntu release is not supported anymore.
For upgrade information, please visit:
http://www.ubuntu.com/releaseendoflife

New release '14.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Sun Mar 29 14:34:50 2015 from 192.168.1.100
user@ubuntu:~$


ssh は問題なくログインできます。スマホからの VPN 接続もばっちりです。ファイルサーバーもしっかり動いています。システムの動作に問題はないようです。


3. 13.10 から 14.04.2 LTS へアップグレード

さて、13.04 から 13.10 へアップグレードできましたがこれもすでにサポート期間が終了していますので、指示に従い 14.04.2 LTS へさらにアップグレードすることにしましょう。
手順は上と同じですが、途中で
 

Restart services during package upgrades without asking?

                <Yes>                        <No>


と尋ねられたので、念のため <No> で進めます。動いているサービスを再起動しますよってことのようで、リストされたサービスを確認して OK すると、アップグレードが続いていきます。
最後に再起動で完了です。システムも正常に稼働しているようです。

ssh でログインすると以下のようになりました。
 

Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-48-generic i686)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sun Mar 29 15:39:39 JST 2015

  System load:  0.48                Processes:           105
  Usage of /:   27.3% of 678.34GB   Users logged in:     0
  Memory usage: 3%                  IP address for eth0: 192.168.1.10
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

Last login: Sun Mar 29 15:39:40 2015 from 192.168.1.100
user@ubuntu:~$



4. その他

ついでに古いカーネルを削除しておきましょう。
 

$ sudo apt-get autoremove



以上で14.04.2 LTSへのアップグレードが、無事完了しました。
 

■cron 指定時刻にシャットダウンする

備忘録です。

ubuntu server を、指定の時刻にシャットダウンさせます。
 

sudo crontab -e


エディターが立ち上がるので、以下を追加します。
毎日 00時05分にシャットダウンのコマンドを実行する、という意味。

# m h  dom mon dow   command
05 00 * * * /sbin/shutdown -h +1


書式 「m h  dom mon dow   command」 は、「分 時  日 月 曜日  コマンド」 を表します。

crontab の確認は、

sudo crontab -l


ちなみに、crontab -r とかやっちゃうと設定がすべて消えますので注意。

参考にさせていただいたサイト 「まさおのブログ (表): Ubuntu で cron の設定をする
ありがとうございます。
 

■Ubuntu Server / SSH でリモートログイン

SSH のメモです。放置すると埋もれてしまうので、とりあえずメモのまま。

SSH

クライアントを追加するとき、サーバー側でパスワード認証を一時的に許可しておくことで、クライアントから公開鍵の転送など可能になる

インストール openssh-server
設定ファイル /etc/ssh/sshd-config
リスタート /etc/init.d/ssh restart
(ディフォルト、サーバーのログインパスワードでリモートログイン可)

TeraTerm 鍵作成
RSA B:2048
パスフレーズ 「●●●●●●●●」
秘密鍵 id-rsa
公開鍵 id-rsa.pub
id-rsa.pubをサーバーホームディレクトリへ
/home/user/.ssh へ移動
authorized-keys に登録
パーミッション600に変更

設定ファイル変更
Password Authentication no
Permit Root Login no
Permit Empty Password no

リスタート


参考にさせていただいたサイト:初心者がWEB開発に挑戦 UbuntuにSSHサーバーをインストール
 

■Ubuntu Server / Sambaユーザーの追加

備忘録ですが、実行したときのメモなので間違っているかも。ってか、実際の設定と異なってるんで、どうしたものかと (^_^;)

Ubuntu Server の Samba にユーザーを追加します。

Ubuntu Server のユーザー username を作り、パスワードを設定します。

# sudo useradd username
# sudo passwd username


ユーザー作成には「adduser」コマンドもありますが、こちらはホームディレクトリが作成されます。

usename でログインできなくしておきます。

# sudo usermod -s /bin/false username


Samba にユーザーを追加します。

# sudo smbpasswd -a username


で、実際のところはホームディレクトリも作ってあって、そこにそのユーザーのファイルが置いてあります。ログインシェルも /bin/bash になってました。管理上そのほうが都合良くて変更したのかも。
誰でもアクセスできる共有ディレクトリなら、パーミッションをそのように設定すればいいですね。
 

■Ubuntu / ネットワークプレースを自動マウント

ファイルサーバーにある共有ディレクトリを、Ubuntu クライアントの起動時に自動マウントします。
 
Samba ファイルサーバー : 192.168.1.10
サーバーの共有ディレクトリ : user
クライアントのマウントポイント : /mnt/samba
Samba ユーザー名 : smbuser
Samba パスワード : smbpass

Samba をマウントする方法をググると smbfs ってのが必要らしいです。そこで、
 

$ sudo apt-get install smbfs


なんてやると、「それ古いんだよ。cifs-utils にしな」と言われてしまいます (^_^;)
そんなわけですから、まずは cifs-utils をインストールすることにします。
 

$ sudo apt-get install cifs-utils


つぎにマウントポイントを作成します。マウントポイントは、マウントする共有ディレクトリを格納する場所です。
 

$ sudo mkdir /mnt/samba


/etc/fstab を編集しますが、GUI で使っているクライアントマシンではなぜか vi がまともに動かないので、gedit を使います。こんな、たぶん基礎的なことがわからないのが素人の悲しさなわけです (;_;)
 

$ sudo gedit /etc/fstab


次の一行を追加します。表示的に改行されていますが、一行です。
 

//192.168.1.10/user /mnt/samba cifs username=smbuser,password=smbpass,uid=1000,gid=1000,rw,defaults 0 0


設定ができたら、クライアントマシンを再起動します。
/mnt/samba にファイルサーバーの共有ディレクトリがマウントされれば成功です。

とまぁ、これでいつでも自由にファイルサーバーに繋がるようになったわけですが、ひとつ釈然としない。なんで fstab にパスワードを平文で書かなきゃいけないの?  Samba へのアクセスを簡単にするために、Ubuntu も Windows もログインパスワードと Samba パスワードをすべて同じにしていますので、これじゃパスワードダダ漏れじゃん。

そこで資格情報ファイル passwd.user を別に作成することにしました。ファイル名は任意です。
 

$ sudo gedit /etc/passwd.user


ユーザー名とパスワードを記述します。
 

username=smbuser
password=smbpass


ファイルができたらオーナーとパーミッションを変更し、root 以外が読み書きできないようにします。
 

$ sudo chown root:root /etc/passwd.user
$ sudo chmod 600 /etc/passwd.user


最後に /etc/fstab に追加した一行を、以下のように変更します。
 

//192.168.1.10/user /mnt/samba cifs credentials=/etc/passwd.user,uid=1000,gid=1000,rw,defaults 0 0


これで少しは安全になります。それでも不安だったら自動マウントなんてやめましょうね。
 

■Ubuntu Server / SoftEther VPN サーバー自身にアクセスする方法

SoftEther VPN サーバーをインストールした Ubuntu Server マシンには、Samba によるファイルサーバーが稼動しています。VPN を構築した目的は、このファイルサーバーに遠隔地のクライアントからアクセスすることです。これは Windows マシンで同様の環境を作っていたときには問題なくできたことです。
ところが、OS が Linux の場合には、SoftEther VPN サーバーをインストールしたマシン自身に VPN 側からアクセスすることができず、ファイルサーバーを利用できません。通信ができないということなので ping も通りません。これは Linux の制限によるものだそうです。

SoftEther VPN マニュアルより

Linux オペレーティングシステム内部での制限事項により、VPN 側 (仮想 HUB 側) からローカルブリッジしている LAN カードに割り当てられる IP アドレスに対して通信を行うことはできません。この制限は SoftEther VPN が原因ではなく、Linux の内部構造に原因があります。もし VPN 側 (仮想 HUB 側) から Linux でローカルブリッジに使用しているコンピュータ本体と、何らかの通信を行いたい場合 (たとえば VPN Server / VPN Bridge サービスと HTTP サーバーサービスを両方動作させており、VPN 側からもサーバーサービスにアクセスさせたい場合) は、ローカルブリッジ用の LAN カードを用意して接続し、その LAN カードと既存の LAN カードの両方を物理的に同じセグメントに接続してください (この他の場合においても 「3.6 ローカルブリッジ」 で解説したように、ローカルブリッジに使用する LAN カードはそのための単独のものを用意することが推奨されています)。


この問題を解決してファイルサーバーにアクセスできるよう、マニュアルにしたがってローカルブリッジ用 LAN カードを増設することにします。


増設した LAN カード (以下 NIC) は、ジャンクボックスに転がっていたバッファロー製の 100Mbps 、型式は確認し忘れましたが、最近のパソコンなら取り付けるだけで動いちゃうような汎用の製品です。ギガビットのものがあれば、もちろんそれがいいですね。
取り付けが済んだら電源を入れ、NIC が認識されているか確認します。
 

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1d:7d:ff:ff:ff 
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
                        :
                        :
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
                        :
                        :


eth0 は既設の NIC です。ベンダーコードから GIGABYTE TECHNOLOGY CO.,LTD. 製だとわかります。増設した NIC は表示されていませんので、コマンドで起動してみます。
 

$ sudo ifconfig eth1 up
$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1d:7d:ff:ff:ff 
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
                        :
                        :
eth1      Link encap:Ethernet  HWaddr 00:07:40:ff:ff:ff
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
                        :
                        :
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
                        :
                        :


バッファロー製の eth1 が表示されましたので、うまく動いているようです。認識されない場合は「ネットワークカードを認識させるには」あたりを参考にしてみて下さい。
このままではマシンを再起動した時に NIC が停止してしまいますので、/etc/network/interfaces を設定します。

SoftEther VPN マニュアルによれば、

ローカルブリッジ用に、コンピュータに用意したローカルブリッジ専用 LAN カードがある場合には、パフォーマンスを向上させるために、その LAN カードには TCP/IP プロトコルや他のプロトコルスタックなどを「無効」にすることを推奨します。ローカルブリッジ用の LAN カードの役割は、仮想 HUB と物理的な LAN との間の Ethernet フレームの公開であり、仮想 HUB を動作させているオペレーティングシステムのプロトコルスタックがその LAN カードに対して介入する必要は全くないからです。


ということですので、eth1 の IP アドレスを 0.0.0.0 に設定します。
 

$ sudo vi /etc/network/interfaces


最後に次を追加します。
 

auto eth1
iface eth1 inet static
address 0.0.0.0


設定が完了したら、増設した NIC をサーバーマシンが繋がっている HUB に LAN ケーブルで接続します。つまりふたつの NIC から 2本のケーブルがひとつの HUB に繋がるということになります。既設の NIC には IP アドレス 192.168.1.10 が割り当てられていて、サーバーマシン自身の通信を行います。増設した NIC は VPN 側 (仮想 HUB) とサーバー側 LAN をブリッジする役割となります。
ということなので、最後に SoftEther VPN サーバー管理マネージャから「ローカルブリッジ設定」に入り、「ブリッジ先 LAN カード」を eth0 から eth1 に変更します。

これで、VPN クライアントからサーバーマシンへの通信が可能になり、ping も通りますし、ファイルサーバーにもアクセスできるようになりました。
 

■Ubuntu Server / SoftEther VPN サーバーの構築 (その5)

Ubuntu Server マシンで SoftEther VPN サーバーが稼動しましたので、次はスマートホンから L2TP/IPsec 接続できるようにしたいと思います。


1. IPsec/L2TP/EtherIP/L2TPv3 サーバー機能

SoftEther VPN サーバーの設定で行なっていますが、サーバー管理マネージャより「IPsec/L2TP/EtherIP/L2TPv3 サーバー機能」に入り、「L2TP サーバー機能を有功にする (L2TP over IPsec)」にチェックを入れ、「IPsec 事前共有鍵」を設定しておきます。


2. ユーザーの追加

L2TP/IPsec 接続用のユーザーを追加しておきます。


3. ファイアウォールの設定

ファイアウォールを設定します。設定方法は省略しますが、出来上がりはこんな感じです。
 

$ sudo ufw status
Status: active

To
Action
From
--
-----
----
23/tcp
ALLOW
192.168.0.100
Samba
ALLOW
192.168.0.0/24
5555
ALLOW
192.168.0.100
443
ALLOW
Anywhere
500/udp
ALLOW
Anywhere
1701/udp
ALLOW
Anywhere
4500/udp
ALLOW
Anywhere


4. ルーターの設定

フィルターの設定をします。
 

# ip filter 1050 pass * 192.168.1.10 tcp,udp * https
# ip filter 1051 pass * 192.168.1.10 esp * *
# ip filter 1052 pass * 192.168.1.10 udp * 500
# ip filter 1053 pass * 192.168.1.10 udp * 1701
# ip filter 1054 pass * 192.168.1.10 udp * 4500
# pp select 1
pp1# ip secure filter in ...... 1050 1051 1052 1053 1054 ......
pp1# pp select none


IP マスカレードの設定です。
 

# nat descriptor masquerade static 1 10 192.168.1.10 tcp https
# nat descriptor masquerade static 1 11 192.168.1.10 esp
# nat descriptor masquerade static 1 12 192.168.1.10 udp 500
# nat descriptor masquerade static 1 13 192.168.1.10 udp 4500


参考URL:L2TP/IPsec

ちなみにこれらのポートの用途は次のようです。
 
https : SoftEther VPN が使用しているポート
esp : IPsec のプロトコル
500/udp : IPsec の暗号鍵交換のプロトコル
1701/udp : L2TP の待ち受けポート
4500/udp : NAT traversal NAT越えを解決する手法

また、SoftEther VPN では、IP マスカレードに https を設定しなくてもよいはずなのですが、俺の環境では SoftEther VPN クライアントからの接続が 10分毎に切断されるという症状があったために設定しています。現在はこれで安定しています。


5. スマートホンの設定

俺のスマートホンは Android 2.3.5 です。
「設定」-「無線とネットワーク」-「VPN 設定」-「VPN の追加」に入り、「L2TP/IPSec PSK VPN を追加」を選択します。
 
  1. 「VPN 名」は任意の名称を入力
  2. 「VPN サーバーの設定」は、VPN サーバーのダイナミック DNS ホスト名を入力
  3. 「IPSecIPsec 事前共有鍵の設定」に VPN サーバーで設定した IPsec 事前共有鍵を入力
  4. 「セキュリティ保護」はチェックなし
  5. 「DNS 検索ドメイン」は設定しません。
  6. 設定ができたら、作成した VPN 名をタップします。
  7. 「認証情報ストレージパスワード」を求められますので、初めてなら適当なパスワードを入力します。次からこのパスワードが必要になりますので忘れないように。
  8. 「ユーザー名」には作成したユーザー名を入力します。ユーザー名だけでも接続できますが、基本的には「ユーザー名@仮想HUB名」とします。
  9. パスワードを入力して OK すると、VPN サーバーに接続されます。

接続できないとき、俺の場合はファイアウォール、ルーターのフィルターや IP マスカレードの設定が間違っていたことがほとんどでした。このあたりをきちんと見直してみましょう。
接続ができれば、ES ファイルマネジャーなどのアプリを使用して家 LAN 内のパソコンの共有フォルダにアクセスできるようになります。
 

| 1/3PAGES | >>

■calendar

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 
<< May 2019 >>

■search this site.

■recommend

毎日貯まるポイントサイト ECナビ

■recommend

* 楽天ROOM *

■Twitter

■recommend

■recommend

■selected entries

■categories

■archives

■recent comment

■recent trackback

■links

■profile

■others

■mobile

qrcode

■powered

無料ブログ作成サービス JUGEM