coLinux日記

coLinuxはフリーソフトを種として、よろずのシステムとぞなれりける。

子供用に、古いノートパソコンをScratch専用マシンにする

2019-11-10 08:40:21 | インストールと設定
久しぶりの投稿です。

2020年から小学校でプログラミング教育が必須になるようです。そこで注目を集めているのが、MITメディアラボが開発している言語 Scratch です。Scratchは、バージョンが 3.0 になってから、HTML、CSS、JavaScript で記述されているので、ブラウザがあれば利用できます。Scratch は Google と提携しているので、使用するブラウザは Google Chrome ですね。

ところで、Windows7 が2020年にメンテナンス終了ということで、世の中に Windows7 が動いているノートパソコンが多量に廃棄されることになりそうです。しかし、子供向けに Scratch だけ動けば良いと考えれば、これらのノートパソコンもまだまだ使えそうです。

そこで、古いノートパソコンを使って、小学校低学年でも Scratch でプログラミングできるようになれば面白そうだと思いました。家に古いノートパソコンがあれば費用は限りなくゼロに近いのでお得です。

Windows7はもう使えないので子供用といえどもお勧めできないので、OSは最新のものが使えて無料の Linux がよさそうです。そこで、子供用にLinuxマシンを使えるようにするにはどうするかを考えてみました。

使用した古いノートパソコンは、

 プロセッサーが AMD E-450 1.65GHz で、メモリ 2GB

のものです。

OSは、軽量の Linux ディストリビューションということで Xubuntu にしました。その下で動くブラウザはもちろん Google Chrome ですね。

https://xubuntu.org/ から ISO イメージをダウンロードしてインストールします。今回試したバージョンは 18.04 です。インストール方法は色々なところで書かれているので省略します。

(例えば、こちら。 https://kb.seeck.jp/archives/11949 )

そのときユーザを登録しますが、そのユーザが管理者となります。このユーザを管理者または保護者が使うわけです。

Xubuntu がインストールできたら、先ほど登録したユーザでログインします。

最初に Google Chrome をインストールします。Xubuntu にログインして、ブラウザから Google Chrome をダウンロードします。64bit 版なら、

google-chrome-stable_current_amd64.deb

というファイルがダウンロードされます。このファイルのアイコン(「ホーム」の中の「ダウンロード」の中にあります)をダブルクリックするとインストール用の、【google-chrome-stable】ウィンドウが開きますので、「インストール」をクリックすればインストールが始まります。

Google Chrome がインストールできたら、いよいよ Scratch を使えるように設定を行います。

このマシンを小学校低学年でもつかえるようにするためには、

・ 電源スイッチを入れて、簡単にログインできる。
・ ログインしたら自動的にブラウザを開いて Scratch サイトを開く。
・ 簡単にシャットダウンできる。
・ 日本語入力はキーボードに書いてあるかなによる入力。

にしておくのがよさそうです。早速設定してみます。

**********

まずは、新たに子供用のユーザ名を設定しましょう。OSは Linux ですから、子供がノートパソコンを使用していてもネットワークから ssh でログインして制御可能です。子供用と管理者のユーザ名は分けておくのがよさそうです。

1)画面左上のアイコンをクリックして、「設定」→「ユーザとグループ」を選択して【ユーザの設定】ウィンドウを開きます。

2)「追加」をクリックして、【新しいユーザの作成】ウィンドウを開きます。
「名前」にログイン画面に表示される名前を、「ユーザ名」は、Linux で使うユーザ名です。名前を指定したら、「OK」をクリックします。

3)【ユーザのパスワードの更新】ウィンドウが開いたら、念のために、「パスワードを手動で設定する」を選んで、「新しいパスワード」と「パスワードの確認」に同じパスワードを設定します。パスワードは通常通り複雑にしておきます。ここで、子供向けに「ログインの時にパスワードを尋ねない」を有効にします。これで子供用ユーザ名はパスワードなしでログインできます。

4)【ユーザの設定】ウィンドウに戻って、「アカウントの種類:」の右側の「変更」をクリックすると、【ユーザ・アカウントの種類を変更】ウィンドウが開くので、「デスクトップ・ユーザ」を選びます。これは、他のユーザに影響を与える変更は出来ない、設定だそうです。最後に「閉じる」をクリックしてウィンドウを閉じます。

**********

ここからは、子供用アカウントでログインします。パスワードなしでログインできます。

5)初めてログインすると、Google Chrome は左上のアイコンをクリックしてメニューを表示しても見当たりません。検索窓で google といれると、Google Chrome が見つかります。アイコンを右クリックして、「ディスクトップに追加」と「パネルに追加」をクリックします。生成されたディスクトップのアイコンはダブルクリックで開き、画面上部のラインであるパネルの右端に表示されるアイコンはクリックで開きます。低学年の子供はパネルの方がよさそうです。

6)最初に Google Chrome を開くと、「Chrome を規定のプラウザにする」と「使用統計データと障害レポートをGoogleに自動送信します」の指定の確認画面になるので、決めたら「OK」をクリックします。

7)もし、「新しいキーリングのパスワード設定」の画面が表示されたら、何もしないでそのまま「続行」をクリックします。

8)「Chromeへようこそ」タブの右横をクリックして「新しいタブ」を表示させ、「Chromeへようこそ」タブを消します。"scratch" と検索して、Scratch のホームページ、

Scratch - Imagine, Program, Share
( https://scratch.mit.edu/ )

を開きます。自動的に日本語画面になります。

9)Scratch のホームページを開いたら、ここで Chrome を開くと自動的に Scratch の画面が開くように設定します。

 Scratchのページを表示したまま、右上の「縦の…」アイコンをクリックして、メニューから「設定」をクリックします。 chrome://settings というタブが開きます。この画面の一番下の方に「起動時」の設定があります。そこで、「特定のページまたはページセットを開く」を選択すると、「現在のページを使用」を選択できるようになるのでそちらを選択すれば、Scrachの URL が表示されます。

10)Chrome を再起動して設定を確認したら、全画面表示にしてから終了すると、次回も全画面表示になります。子供向けにはこちらの設定が良いと思います。これで Chrome の設定は完了です。

11)小学校低学年の子供のために、ログインしたら Chrome が自動的に起動するように設定します。実行できれば全画面表示になりますので、市販されている Scratch の本の通りになるので分かりやすいです。

 「設定」をクリックして「セッションと起動」をクリックすると、【セッションと起動】ウィンドウが開きます。

 まず「一般」タグで、「ログアウトの設定」の「ログアウト時に受動的にセッションを保存する」を選択し、「ログアウト時に確認する」を外します。
 「自動開始アプリケーション」タグで「追加」をクリックすると、【アプリケーションの追加】ウィンドウが表示されます。「名前」に Google Chrome 、「説明」に Chrome ブラウザ 、「コマンド」に

 /usr/bin/google-chrome -stable %U

を指定して、「OK」をクリックします。ログアウトして再度ログインして設定を確認してみましょう。パスワードなしでログインすると、すぐに Scratch が使えるようになりました。

**********

さて、Linux で子供にとってやっかいなのはシャットダウンです。ここは、電源ボタンを押すと自動的にシャットダウンできるようにする設定を選びました。Xubuntuでは次のような設定でそれを実現できます。

12)管理者用のユーザでログインします。「設定」から「電源管理」をクリックすると、【Xfes電源管理】ウィンドウが開きます。「電源ボタンがおされたときシャットダウン」を選択して、【閉じる」をクリックします。シャットダウンできることを確認しましょう。

この設定で問題点は、chrome を実行したままシャットダウンすると、次回ログインして chrome を実行すると、復元に関するメッセージがでることです。子供用には難しいので、

使用時に「必ず右上の「×」ボタンをクリックして chrome を終わらせてから、電源ボタンを押して電源停止(シャットダウン)する」ように教えましょう。その際、「このサイトを離れますか?」と表示されることがあるので、「このページを離れる」(青い部分)をクリックするように教えれば良さそうです。このように Xubuntu で chrome を使っていて予期しないメッセージが出ると大抵漢字を含んでいるので、使用開始直後は各メッセージを確認して、この場合はここをクリックするなどの注意点をまとめておきましょう。

**********

Scratchではメッセージが表示できますが、メッセージを日本語で入力する必要がでてきます。そのとき、小学校低学年の子供にローマ字漢字入力は難しいので、ノートブックのキーボードに刻印されているひらがなによる入力がよさそうです。

13)「設定」をクリックして、「Mozcの設定」をクリックすると、【Mozcプロパティ】ウィンドウが開きます。「一般」タグの中で、「ローマ字入力・かな入力」で「ローマ字入力」になっているところを「かな入力」に変換して、「OK」をクリックします。これでキーボードのかなによる入力ができるようになります。

**********

以上で、古いノートパソコンを Scratch 用のコンピュータにする設定は終了です。Chrome のインストールと設定以外、Xubuntu の提供する「設定」機能だけですべての作業ができました。Linux をあまり意識しなくても作業できるわけです。

小学校低学年の子供用には、Scratch の「作る」をクリックして現れる「プロジェクトをつくる」のブロックもひらがなにする必要があります。地球儀のようなアイコンをクリックして、メニューから「にほんご」をクリックしましょう。この選択は保存されるので、次回からはひらがなのブロックになります。

**********

使用する子供にコンピュータの電源の入れ方と終了方法を教えて、実際に使わせてみましょう。最初に教える必要があるのがマウス操作です。

ノートパソコンはタッチパッドが付いているので、両手操作が良いかもしれません。

・「カーソル」を教えて、右の人差し指によるカーソルの移動を教えます。場所によってカーソルの形が変わることも説明します。

・「カーソル」による「クリック」の仕方は、カーソルを移動して左の人差し指で左ボタンを押すというのはどうでしょう。これで「チュートリアル」の「×」をクリックしてチュートリアルを閉じることができます。

・ブロックで大切なものは「ドラッグ」操作です。カーソルを移動して、左の人差し指で左ボタンを押しながら右の人差し指でカーソルを移動して、所定の場所で左ボタンから指を離すことでドラッグ動作を教えるのも良いかもしれません。

Scratch プログラムで特に教える必要があるのは、メッセージや数字の入力方法です。ノートパソコンの場合は、

・ブロック中のメッセージや数字のますの中をクリックします。

・「Delete」キーを押して内容をすべて消してカーソルをますから外します。

・数字や英文字の場合はそのまま、ひらがなは「半角/全角」キーを押して、画面上のアイコンが変化するのを確認して入力してみます。入力できたら最後に「Enter」キーを押すと下線が消えることを説明します。

・濁点・半濁点の付け方を教えます。カタカナに変更するには、[Tabキーで選択]と表示されるのを確認して、「Tab」キーを何回か押してカタカナ[[全]カタカナ]を選択して入力できます。

・小文字の「っ」などの入力方法も教えます。

Scratchの本などではプログラムの保存を説明しています。保存されたプログラムは、/home/ユーザ名/ダウンロード ディレクトリ(ディスクトップのアイコンでいうと、「ホーム」アイコンの中の「ダウンロード」アイコンの中)の下に、

Scratchのプロジェクト(n).sb3

のような名前のファイルとして保存されます。ここで、nは通し番号です。必要に応じて名前の変更も可能です。

**********

Xubuntu では標準で sshd は動いていません。ssh でネットワークからこのマシンにログインするために、管理ユーザでログインして、sshd をインストールします。

$ sudo apt install openssh-server

これで、ncurses-term,openssh-server,openssh-sftp-server,ssh-import-id
がインストールされ、sshd がデーモンとして実行中になります。管理ユーザだけが ssh でログインできるようにするには、

/etc/ssh/sshd_config ファイルの中で、

AllowUsers ユーザ名 ユーザ名  ........

の行を追加すれば、許可するユーザを指定できます。この修正を反映するには、systemd で sshd のリスタートが必要です。

# sudo systemctl restart sshd

許可されないユーザでログインしようとすると、/var/log/auth.log にログが残ります。

日時 sshd[...]:User ユーザ名 from IPアドレス not allowed becase not listed in AllowUsers

子供の使用でノートパソコンを長く使うと目が悪くなると心配されますので、声を掛けても終了したがらない場合は、ssh でログインしてシャットダウンすることも可能です。

# sudo shutdown -h

Chromeを実行した状態でシャットダウンされるので、次回はメッセージが表示されて対応が必要になります。

**********

大学入学共通テストの英語試験で経済格差の影響が論議されていますが、小学校のプログラミング教育もコンピュータやネットワークが必要で、経済格差が心配です。ここはボランティアによる古いノートパソコンの活用によって、学童保育の場に配布するなどして、誰でも Scratch が気軽に使えるようにすると良いかもしれません。Linuxなので、学童保育などで休日に管理ボランティア(一週間無茶な使い方をして想定外の動作をするものを元に戻すなど)などすると色々知見が得られるのでなにかと役立ちそうです。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Fedora 10 から Fedora 14 へアップグレード その2

2011-05-25 00:26:28 | インストールと設定

前回までで、カーネルも最新の 0.7.9 になりましたので、引き続き Fedora のアップグレードを続けます。

最初は、Fedora 12 から Fedora 13 にアップグレードします。ここまで追いつくと通常のFedoraのダウンロード先からもアップグレードできます。しかし、13 は間もなく通常のダウンロード先からは無くなりますので、その場合は 12 のあったところ辺りを探しましょう。

念のため今動いている Fedora 12 のイメージファイルは、Windows上でコピーしておきましょう。万が一壊れると面倒ですから。このバックアップのお気楽さも coLinux の良い点ですね。前と同様に以下では、適当に改行されています。

早速、fedora-release をアップデートしてみましょう。

# rpm -Uvh http://www.ring.gr.jp/pub/linux/fedora/linux/releases/13/Fedora/i386/os/Packages/fedora-release-13-1.noarch.rpm

キャッシュをクリアして、アップグレードします。

# yum clean all
# yum upgrade

上手くいったら、リブートします。

 Fedora release 13 (Goddard)
 Kernel 2.6.33.7-co-0.7.9 on an i686 (tty1)

 localhost login:

となって上手くいきました。

最後に、目標の fedora 14 にアップグレードします。もちろん事前に Fedora 13 のイメージファイルはコピーしてバックアップしておきます。

手順は、fedora13 の時と同様です。

# rpm -Uvh http://www.ring.gr.jp/pub/linux/fedora/linux/releases/14/Fedora/i386/os/Packages/fedora-release-14-1.noarch.rpm
# yum clean all
# yum upgrade

ところがこれは、次のようなエラーになりました。
 You could try using --skip-broken to work around the problem
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
kernel-2.6.30.10-105.2.23.fc11.i586 has missing requires of mkinitrd >= ('0', '6.0.61', '1')

この指示にしたがって、--skip-broken オプションを使います。エラーはカーネル周りの何らかの問題らしいので coLinux では問題なさそうだからです。

# yum clean all
# yum --skip-broken upgrade

これで何とか出来ました。リブートすると、

 Fedora release 14 (Laughlin)
 Kernel 2.6.33.7-co-0.7.9 on an i686 (tty1)

 localhost login:

となります。以上長々とアップグレードを繰り返してきましたが、目的の Fedora 14 になりました。しかし、間の悪いことに Fedora 15 が 2011/05/24 にリリースされてしまいました。しかも、

DistroWatch.com

によると、gcc は、4.6.0 で最新です。gcc は自分でコンパイルするとすごく時間がかかるので魅力的ですね。ただ、Kernel が 2.6.38.6 ですから、少し離れすぎている点が気になります。

というわけで、Fedora 15 はもう少ししてからアップグレードしてみたいと思います。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

coLinux 0.7.4 を coLinux 0.7.9 にアップデート

2011-05-24 00:41:41 | インストールと設定

2011年04月09日に、coLinuxの安定板である colinux 0.7.9 が公開されました。現在0.7.4 ですのでアップデートしてみます。

Kernelは、2.6.33.7をベースにしているようです。

早速、SourceForge から、 0.7.9-linux-2.6.33.7 をクリックして、coLinux-0.7.9.exe ( 7,340,051 バイト ) をダウンロードしてみます。

coLinux-0.7.9.exe を実行すると、[Cooperative Linux 0.7.9 Setup] ウィンドウが開きますので、[Next]をクリックします。

「License Agreement」 に対して、[I Agree]をクリックします。

「Choose Components」 に対して、Select components to install: で、
[Root Filesystem image Download] のレ点を外します。今使っているものを利用するためです。[Next]をクリックします。

「Choose Install Location」 に対して、Destination Folder で、現在 0.7.4 をインストールしてあるフォルダ C:\coLinux\ を指定し、[Next]をクリックします。

「WinPcap」 のはそのまま、[Next]をクリックします。

Installation Complete  Setup was completed successfully. と表示されて、インストール終了ですので、[Next]をクリックします。

[Finish]をクリックして終了です。

あっさりアップデートできました。これで、「コントロールパネル」>「プログラムと機能」においても、ちゃんと coLinux 0.7.9 に置き換わっています。ログインプロンプトは、

 Fedora release 12 (Constantine)
 Kernel 2.6.33.7-co-0.7.9 on an i686 (tty1)

 localhost login:

と変わります。

ここで、 DistroWatch.com で、ディストリビューション名を「fedora」にして、[Go]をクリックして得られる一覧表によると、fedoraのカーネル (パッケージ名linux) は、

fedora 12   2.6.31.5
fedora 13   2.6.33.3
fedora 14   2.6.35.6

となっていますから、だいたい合っていますね。

カーネルも新しくなったので、Fedoraのバージョンアップを続けましょう。

ところで、gooブログの編集画面の仕様が変わったらしく、たぶん<pre>を使うと、プレビューがすべて空白になり登録できない場合があるようです。その事情が分からずに、いくら登録しょうとしてもできないので、いままでと多少書き方が変わっている場合があります。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Fedora 10 から Fedora 14 へアップグレード その1

2011-05-22 17:29:06 | インストールと設定

本当に久しぶりの投稿です。

現在使っている Fedora 10 から、バージョンアップしていなかったので、そろそろバージョンアップしようかと思い調べてみると、

http://sourceforge.net/projects/colinux/files/Images%202.6.x%20Fedora/

にこのような記述があります。

Note: Fedora 10, 9, 7, Core 6, and Core 5 are all end-of-life.

That means it is nolonger possible to update these.
I do not recommend using any of these images.

Regards, Bill Riemers

Source: readme.txt, updated 2011-01-26

つまりメンテナンス終了ですね。

それは困るので、Fedoraのアップグレード手順にしたがって、アップデートしてみようと考えました。coLinuxはカーネルだけが独自で、その他はすべて問題なく置き換え可能であろうとの推測からです。

実は、別の方法でいったん Fedora 13 までアップグレードしたところで、ブートできなくなったのでそれを救済しなければデータが取り出せない状況に陥りました。それで今回アップグレードを真面目に行うことにしました。バックアップは取っておいた方が良いですね。

というわけで、以下では、Fedora 10 の

Fedora-10-20090228.exe

を展開して得られるイメージファイル Fedora-10.img をそのまま使いました。このままブートすると、DHCP でネットワークも使えるようになります。

さて、Fedora 10 はあまりに古いので、現在のバージョンにするには、まず Fedora 11 にしなければいけないようです。

そこで、

Fedora 10 -> Fedora 11 に yum upgrade する

を参考にアップグレードしてみました。以下では、適当に改行していますのでご注意ください。

指示通り、rpm をアップデートして、キャッシュをクリーンにします。

# yum update rpm
# yum clean all

fedora-release は、
http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/11/Fedora/i386/os/Packages/
の下の、fedora-release-11-1.noarch.rpm を使います。

# rpm -Uvh http://archives.fedoraproject.org/pub/archive/fedora/linux/
releases/11/Fedora/i386/os/Packages/fedora-release-11-1.noarch.rpm

上手くいったので、/etc/yum.repos.d/ を修正します。この中で、

fedora.repo             [fedora]
fedora-updates.repo    [updates]

の、2つのファイルを修正しました。mitalink? を mirrorlist? に変えれば良いようです。

念のためバックアップを取ります。バックアップは、Windowsでルートイメージファイルをコピーするだけです。バックアップを取ったら、再度coLinuxを立ち上げて、いよいよアップグレードします。

# cd /
# yum upgrade

完了したら、一度coLinuxを終了して、再度立ち上げます。consoleには、

 Fedora release 11 (Leonidas)
 Kernel 2.6.22.18-co-0.7.4 on an i686 (tty1)

 fedora login:

と表示されて上手く立ち上がりました。心配していたcoLinuxカーネルへの干渉はないようです。次に、

Linux/Fedora10からFedora14にアップグレード

を参考にして、 Fedora12 にアップグレードします。いっぺんに行かないで、ここは一つ一つアップグレードしていくことにしました。URLは、

http://ftp-srv2.kddilabs.jp/Linux/packages/fedora/releases/12/README

にしたがって決定します。

# rpm -Uvh http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/
12/Fedora/i386/os/Packages/fedora-release-12-1.noarch.rpm

念のため、yum と rpm を更新しておきます。

# yum update yum rpm

キャッシュをクリーンにして、11から12へとアップグレードします。

# yum clean all
Loaded plugins: dellsysidplugin2
ERR_OUT: : Bad address
ERR_OUT: : Bad address
ERR_OUT: : Bad address
ERR_OUT: : Bad address
ERR_OUT: : Bad address
Cleaning up Everything
# yum upgrade

プラグインのエラーが出ますが、http://d.hatena.ne.jp/const/20090909/p1 の情報により無視できそうです。上手くいったら、以前と同様に coLinux を立ち上げなおします。

 Fedora release 12 (Constantine)
 Kernel 2.6.22.18-co-0.7.4 on an i686 (tty1)

 fedora login:

上手くいきました。ここで、カーネルを最新のものにアップグレードすることにします。これは、最初にやっておけば良かったですね。

次回はこの話をお届けします。

コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

coLinux 0.7.4 のネットワーク接続方法のまとめ

2009-06-19 20:25:24 | インストールと設定
前回までで、TAPとWindowsのルータ機能を利用した場合を除いて、coLinux のネットワーク利用方法を見てきましたが、少しまとめてみます。

推測や思い込みが入っていますので、内容がおかしい場合は、コメントしてください。

ここでは、Windows Vista のマシンがもともとつながっていたネットワークを「外部」と呼ぶことにします。

1) Slirp
  接続方法                           NAT+DHCP
 coLinuxのIPアドレス                10.0.2.15   
  coLinuxのgateway                   10.0.2.2
  coLinuxのname server               10.0.2.3
 coLinuxのいるネットワーク          外部と別 
 外部から見た coLinux の IPアドレス  Windowsと同じ
 外部のDHCPサーバ          利用できない 
  Windowsの設定                      不要
  WindowsのMACアドレス               変わらない
  外部のネットワークへの影響     なし
  その他                             遅いかも

2) WinPcap
 接続方法                           ブリッジ
 coLinuxのIPアドレス                自由
 coLinuxのgateway                   Windowsと同じ
  coLinuxのname server               Windowsと同じ
 coLinuxのいるネットワーク          外部と同一
 外部から見た coLinux の IPアドレス  coLinuxのIPアドレス
 外部のDHCPサーバ          利用できる 
  Windowsの設定                      必要(WinPcapのインストール)
 WindowsのMACアドレス               変わらない
  外部のネットワークへの影響     新しいIPアドレスを1つ使う
  その他                             スリープ状態から復帰できる
 
3) NDIS
 接続方法                           ブリッジ
 coLinuxのIPアドレス                自由
 coLinuxのgateway                   Windowsと同じ
  coLinuxのname server               Windowsと同じ
 coLinuxのいるネットワーク          外部と同一
 外部から見た coLinux の IPアドレス  coLinuxのIPアドレス
 外部のDHCPサーバ          利用できる
  Windowsの設定                      不要
 WindowsのMACアドレス               変わらない
  外部のネットワークへの影響     新しいIPアドレスを1つ使う
  その他                             スリープ状態から復帰できない

4) TAP+ICS
 接続方法                           NAT+DHCP
 coLinuxのIPアドレス                192.168.0.xx 
 coLinuxのgateway                   192.168.0.1  
  coLinuxのname server               192.168.0.1  
 coLinuxのいるネットワーク          外部と別
 外部から見た coLinux の IPアドレス  Windowsと同じ 
 外部のDHCPサーバ          利用できない 
  Windowsの設定                      必要(ICS設定)
 WindowsのMACアドレス               変わらない
  外部のネットワークへの影響     なし
  その他                            

5) TAP+ネットワークブリッジ
 接続方法                           ブリッジ
 coLinuxのIPアドレス                自由
 coLinuxのgateway                   Windowsと同じ
  coLinuxのname server               Windowsと同じ
 coLinuxのいるネットワーク          外部と同一
 外部から見た coLinux の IPアドレス  coLinuxのIPアドレス
 外部のDHCPサーバ          利用できる
  Windowsの設定                      必要(ブリッジ接続)
 WindowsのMACアドレス        変わる
  外部のネットワークへの影響     新しいIPアドレスを1つ使う
  その他

6) TAP+RemoteAccess
 接続方法                           Windowsのルータ機能による接続
 coLinuxのIPアドレス                自由?
 coLinuxのgateway                   TAPのIPアドレス
  coLinuxのname server               ?
 coLinuxのいるネットワーク          外部と別
 外部から見た coLinux の IPアドレス  coLinuxのIPアドレス
 外部のDHCPサーバ          ?
  Windowsの設定                      必要(RemoteAccessの設定)
 WindowsのMACアドレス        変わらない?
  外部のネットワークへの影響     ルーティング情報の設定が必要
  その他

7) TAPのみ
 接続方法                           親マシンとだけ接続
 coLinuxのIPアドレス                自由
 coLinuxのgataway                   ない
 coLinuxのname server               ない
 coLinuxのいるネットワーク          外部と別
 外部から見た coLinux の IPアドレス  見えない
 外部のDHCPサーバ          利用できない
  Windowsの設定                      不要
 WindowsのMACアドレス               変わらない
  外部のネットワークへの影響     なし
 その他                             高速らしい

 このうち 1) と 4)は、もともと Windows がつながっていた外部のネットワーク番号がそれと同じ(10.0.2.0/24 か 192.168.0.0/24)なら、利用できませんから注意が必要です。

というわけで、私は coLinux が別のマシンに見えて、Windowsの設定が WipPcap より簡単な NDIS を選びましたと言いたいところですが、Windowsのスリープ状態からの復帰が私のマシンではできないので WinPcap にしました。

Windows の設定も不要で、外のネットワークにも影響を与えないようにしたい場合は Slirp ですね。それ以外の場合は、NDIS が主流になっていくように思いました。

こうしてまとめてみると、coLinux はネットワークも良くできていますね。
コメント (3)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

coLinux 0.7.4 で、TAP + ネットワークブリッジを使ってネットワーク

2009-06-13 00:45:16 | インストールと設定
今回は、TAPをネットワークブリッジで接続する方法を試してみます。

Windows Vistaの場合は、
基本的には、ネットワーク ブリッジを作成する - Windows Vistaヘルプを参考にすれば良いと思います。

coLinux wikiでは、 Software Bridge と呼んでいますが、日本語の呼び方は「ネットワーク ブリッジ」のようです。また、Windows の「ネットワーク接続」で現れるアイコンを右クリックしたときの、メニューの中の「ブリッジ接続」を使うので、そう呼んでいる場合もあるようです。

この場合 coLinux は、WinPcapと同様に Windows マシンと同一ネットワーク上にあると見なせますから、外部のDHCPサーバ(例えばブロードバンドルータ)が利用できます。

早速、設定してみます。

最初に Windows Vista で、「ブリッジ接続」を行います。

そのためには、

「ネットワーク接続」ウィンドウで、
「ローカル エリア接続」と「ローカル エリア接続 2」をコントロールキーを押しながら選択し、
「ローカル エリア接続 2」を右クリックして、メニューから「ブリッジ接続」をクリックすると、
ウィンドウの画面の中で「ネットワークブリッジ(3)」が分離して、そちらに
「ローカル エリア接続」と「ローカル エリア接続 2」とが移動し、
「ネットワークブリッジ」アイコンが新たに作成されます。

この「ネットワークブリッジ」アイコンを右クリックして、メニューから「状態」をクリックして現れる、
「ネットワーク ブリッジの状態」ウィンドウで、「詳細」をクリックすると、

物理アドレス(MACアドレス)が、02-FF-AF-xx-xx-xx
IPアドレスが、192.168.1.231 (外部のDHCPサーバによる)

となっています。

もともとの、[ローカル エリア接続](Marvell Yukon 88E8039) は、

MACアドレスが 00-A0-D1-xx-xx-xx
IPアドレスが、192.168.1.206(外部のDHCPサーバによる)

ですから、Windows Vista 側のMACアドレスが変更されてしまいました。仕様としてどうかと思いますが、Windowsですからよくあることです。

これが許されない場合は、この接続は問題ですね。

ちなみに、私のDHCPサーバも、MACアドレスが登録してあるので、Windowsマシンが別のIPアドレスになってちょっとこまります。

この問題が無視できるなら、前に作った Fedora-10.bat を実行します。

colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=256
cobd0="C:/coLinux/Fedora-10.img" cobd1="C:/coLinux/swap.img" root=/dev/cobd0
eth0=tuntap ro

ところが、今回のテストでは、ネットワーク接続が失敗しました。
# ifconfig -a 
eth1      Link .......................
.......................
lo        Link .......................
.......................
#

eth0 の代わりになぜか eth1 で認識されています。手動で設定してみると、
# ifconfig eth1 192.168.1.101
#
# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:FF:78:08:04:00
          inet addr:192.168.1.101  Bcast:192.168.1.255  Mask:255.255.255.0
....................
#

となって、ネットワークに接続できます。

eth0 が eth1 になったのは、coLinux 0.6.3 では動かなかった udev のせいです。udev が、MACアドレスを見て、eth1 に名前を変えたからです。今まであまりにネットワークのテストをしていたので、MACアドレスがいつのまにか udev の設定ファイルに登録されていたからです。

こういう場合は、MACアドレスを最初から指定してあげれば良いわけです。つまり、udev の設定を見ながら、

colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=256
cobd0="C:/coLinux/Fedora-10.img"
cobd1="C:/coLinux/swap.img" root=/dev/cobd0
eth0=tuntap,,00:FF:38:40:03:03 ro

みたいにすれば解決します。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

coLinux 0.7.4 で、TAP + ICS(インターネット接続の共有)を使ってネットワーク

2009-06-05 23:47:52 | インストールと設定
今回は、TAPを ICS(インターネット接続の共有)で接続する場合を試します。

Window Vista では、「ネットワーク接続」ウィンドウで、「ローカル エリア接続」アイコンを右クリックして、メニューから「プロパティ」をクリックします。

現れたプロパティウィンドウで、「共有」タグをクリックし、
「インターネット接続の共有」の部分で、
「ネットワークのほかのユーザに、このコンピュータのインターネット接続をとおしての接続を許可する(N)」をクリックしてレ点を付けます。

「ホームネットワーク接続」で、TAPに該当する「ローカル エリア接続 2」を選択します。

その下の「設定」をクリックして現れる「詳細設定」ウィンドウが、ICSが提供する外から中へパケットを送る機能(サービス)で、外から内側(coLinux)に向けてパケットを通すポートを指定できます。

標準では、SSHサーバに該当するサービスはないので、後で追加します。

「OK」をクリックすると、「ローカル エリア接続」アイコンに「共有」が表示されました。

MACアドレスを指定して、Fedora-10.bat を以下のように修正します。

colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=256 cobd0="C:/coLinux/Fedora-10.img" cobd1="C:/coLinux/swap.img" root=/dev/cobd0 ro
eth0=tuntap,,00:FF:38:40:03:03

これで、Slirp と全く同様に、外部との通信が可能になります。外部からのアクセスも、ポートの対応付けをWindowsで設定する以外は、Slirp と同じです。ここで、MACアドレスを指定したのは諸般の事情であり、通常は、前回のTAPの標準的な指定方法と同様に、MACアドレスを省略しても問題ありません。

この場合、ICSの提供するDHCPサーバから割り当てられる、IPアドレス等は以下のようになります。

TAPの仮想ネットワークアダプタは、以下のとおりでした。

物理アドレス:00-FF-AF-xx-xx-xx
IPアドレス:192.168.0.1 

coLinux は、以下のとおりでした。
# ifconfig eth0 
eth0      Link encap:Ethernet  HWaddr 00:FF:38:40:03:03
          inet addr:192.168.0.66  Bcast:192.168.0.255  Mask:255.255.255.0
...........................
#
# route -n
Kernel IP routing table
Destination     Gateway      Genmask        Flags  ............. Iface
192.168.0.0     0.0.0.0      255.255.255.0  U                    eth0
169.254.0.0     0.0.0.0      255.255.0.0    U                    eth0
0.0.0.0         192.168.0.1  0.0.0.0        UG                   eth0
#
# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search mshome.net
nameserver 192.168.0.1
#

つまり、ゲートウェイとネームサーバの IPアドレスは、標準で192.168.0.1になるみたいです。

さて、SSHサーバを外部から利用できるようにするには、先ほどの「詳細設定」ウィンドウで、「追加」をクリックします。

サービスの説明:ssh サーバ
ネットワークでこのサービスをホストしているコンピュータの名前またはIPアドレス:
192.168.0.66 (上述のcoLinux のもの)
このサービスの外部ポート番号:22
このサービスの内部ポート番号:22
TCPを選択

として、「OK」をクリックすればサービスに追加されます。最後に「プロパティ」ウィンドウで「OK」をクリックします。

TAPの仮想アダプタの IPアドレスと、使えるネームサーバのIPアドレスがいずれも、

192.168.0.1

であることがわかったので、DHCP を使わない設定もできますね。

気になるのは、ICSが標準で使っているネットワーク番号 192.168.0.0 をどのように変更できるのかです。家庭内の通常のLANだと192.168.0.0 を使っている場合が多いので、この場合は変更しないといけないからです。もっとも、私のところでは、192.168.1.0 を使っていたので問題ないです。

たぶん DHCP を使わなければ、ゲートウェイとネームサーバの IPアドレスを同じにすることだけ注意すれば、手動で別のものに設定できるのではないかと思いますが、試せる方は是非試してみてください。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

TAPを使ったネットワークの整理

2009-06-01 22:32:59 | インストールと設定
coLinux のネットワークについて、Slirp 、WinPcap と NDIS を利用する方法はすでに紹介しましたが、今回は、TAP です。

TAPはこれから述べる理由のため、たくさんの方法があります。設定の前にそれを整理しておかないと、何をやっているのか混乱しそうなので、今回はそれを行いたいと思います。

coLinux wiki のネットワークの解説の最初の図からわかるように、coLinux にとって TAP とは、coLinux の仮想ネットワークアダプタ(例えば eth0 と認識されるもの)と、Windows にインストールされた仮想ネットワークアダプタ(TAP-Win32 Adapter V8(coLinux)と認識されるもの)を直接LANケーブルでつないだイメージだと思います。

Windows Vista はアダプタが2枚以上あっても、標準設定ではその間を橋渡しするようなことはしないようです。

つまり、Windowsの何らかの機能を使う設定をしてあげないと、このままでは外のネットワークと通信できません。この方法がいろいろあるので、TAPによるネットワークへの接続方法がたくさんあるわけです。

wiki では、次の3つの方法をあげています。

1) Private Connection to HostOS

 これは、TAPの仮想アダプタと実際のアダプタ(ここでは、Marvell Yukon)の間でなにも行わない場合です。

 当然、ネットワークは2つになり、その間の通信はできないので、外部との通信もできませんが、coLinux と Windows の間だけは高速な通信ができます。また、DHCPサーバをだれも用意していないので、IPアドレスをWindowsとcoLinux 共に固定で決めます。

 この用途で、すぐに思いつくのは、Windows側でVNCを立ち上げて、X Window の通信を高速に行いたい場合です。

2) Windows Internet Connection Sharing (ICS)

 ICSとは、Windowsの提供する、「インターネット接続の共有」です。

 これは、インターネットに直接つながっている Windows マシンをブロードバンドルータの代わりにして、他のマシンもインターネットにつなげるためのもののようです。つまり、Slirp と同じで、NATで通信し、DHCPサーバも ICS が用意します。

 coLinux は、外から見ると、Windowsマシンと同じ IPアドレスです。

3) Windows Software Bridge (ネットワークブリッジ、ブリッジ接続)

 これは、Windowsの提供するソフトウェアブリッジで、TAPの仮想アダプタと実際のアダプタをつなぎ、Windows マシンをブリッジの代わりにして、coLinux と外のマシンを1つのネットワーク上に置けるようにする機能です。WinPcap と同じで、外にある DHCP サーバを利用できます。

 coLinux は、外から見ると、Windowsマシンと同一ネットワーク上にある別の IPアドレスを持ったマシンに見えます。

wiki の3つの方法以外に、Windowsマシンをルータとして利用し、2つのネッワークをつなげる機能があり、それは、Windowsタスクマネージャで表示されるサービスで、

名前:RemoteAccess
説明:Routing and Remote Access

というサービスを実行させれば良いみたいです。これは、ルータによる接続ですから、ネットワークは2つに分離します。詳しくは、
coLinuxのメモ-coLinuxのインストール(0.6.x[TAP-Win32でのルータ接続]
や、
http://www.atmarkit.co.jp/fwin2k/operation/personalsecurity2/personalsecurity1.html
を参考にしてください。

coLinux は、外から見ると、Windowsマシンとは別の IPアドレスで、別のネットワークにあるマシンのように見えます。そこに通信するためには、ゲートウェイとしてこのWindowsマシンにパケットを送ればよいわけです。

この方法は、既存のネットワークに接続しているマシンに coLinux のあるネットワークへのゲートウェイを教えてあげないといけない点が他とは大きく異なる部分です。

ルータを介したネットワーク接続の練習等には使えますが、このルータ機能が RIP とか出すとなると、会社のネットワークなどではちょっと使えませんね。

以上、TAPによるネットワークの利用方法をまとめてみました。要するに、coLinuxを TAP につなぐのは簡単で、TAP と 実際のネットワークアダプタをどうつなぐかは、Windowsの話であり、coLinuxとは関係ないわけです。したがって、Googleなどで検索するときは、むしろ Windows の機能で検索した方が情報が得られやすいような気がします。

最後に、TAPを使ったネットワークの基本である、1) の場合を見てみます。

その方法は、Fedora-10.bat ファイルを以下のように修正するだけです。

colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=256 cobd0="C:/coLinux/Fedora-10.img"
cobd1="C:/coLinux/swap.img" root=/dev/cobd0 eth0=tuntap ro

coLinux を立ち上げると、Windows Vista の「ネットワーク接続」ウィンドウで、「TAP-Win32 Adapter V8(coLinux)」アイコンの赤いバツ印が消えて、 coLinux と TAP がネットワークにつながったように見えます。あとは、Windows 側と、coLinux 側に IPアドレスを設定してあげればお互いに通信できます。

これが、もともとのTAPの機能であることがはっきり分かりますね。

Fedora10の最初の状態では、sshd しか動いていないので、動作を確認するには Windowsにsshクライアントソフトを入れておいた方が良いと思います。

次回、別の方法も試してみたいです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

coLinux0.7.4でNDISを使ってネットワーク

2009-05-26 23:40:04 | インストールと設定
前回インストールした coLinux 0.7.4 の大きな変更は、ネットワークで NDIS が使えるようになったことです。そのため、

colinux-ndis-net-daemon.exe

が追加されました。

NDIS(Network Driver Interface Specification)の詳細は、ウィキペディアなどで分かります。このネットワークカードのためのAPIがWindows Vista SP1 でも標準でサーポートされているのですから、これは待ち望まれた機能ですね。

colinux-daemon.txt を参考に、早速試してみましょう。

オプションの指定方法は、WipPcap と同じようです。そこで、Fedora-10.bat を次のように修正して、Fedora-10-ndis.bat を作ります。

colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=256
cobd0="C:/coLinux/Fedora-10.img" cobd1="C:/coLinux/swap.img" root=/dev/cobd0 ro
eth0=ndis-bridge,"ローカル エリア接続",00:FF:38:40:03:03

早速これを実行してみたところ、あっさりネットワークにつながりました。

このマシン(TOSHIBA AX/55E)の場合は、NDIS においても、 MACアドレスに対して何らかの制限がある可能性がありますので、MACアドレスは WinPcap で成功したものを使いました。

NDIS の良いところは、Slirpと同様に、Windowsに対して特に何もしなくてよいところです。wiki で WinPcap を置き換えると言っているのも納得できます。

既存のDHCPサーバから値を得て、IPアドレスも以下のように設定されました。
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:FF:38:40:03:03
          inet addr:192.168.1.230  Bcast:192.168.1.255  Mask:255.255.255.0
..................................
#

同様に既存のDHCPサーバから値を得て、ゲートウェイとネームサーバも設定されています。

ブートメッセージは、Linux version 2.6.22.18-co-0.7.4 の行の前に、

conet-nids-daemon: Bridge on: ローカル エリア接続

と表示されています。

NDISでは、WinPcap と同様に、新しいIPアドレスが1つ必要になりますので、IPアドレスが登録制のところでは、Slirp を使うことになります。

coLinux 0.7.4 にしたおかげで、NDIS も使えるようになって本当に良かったです。これも、このマシン(TOSHIBA AX/55E)で生じた WinPcap の問題無事解決できたからだと思います。そこでいろいろ試した方法は、もし coLinux でネットワークがうまくつながらない場合に、何かの役にたつのではと密かに思っています。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

coLinux 0.7.3 を coLinux 0.7.4 にアップデート

2009-05-25 23:07:42 | インストールと設定
2009-05-14に、新しい coLinux の安定版 coLinux 0.7.4 がでました。

coLinux-0.7.4.exe 5306359 bytes

ですね。早速アップデートするためにインストールしてみました。

coLinux-0.7.4.exe を実行すると、「Cooperative Linux 0.7.4 Setup」ウィンドウが開くので、指示にしたがってインストールします。

最初に「Next」をクリックします。

「License Agreement」で、「I Agree」をクリックします。

「Choose Components」で、「Root Filesystem image Download」のレ点を外し、「Next」をクリックします。

「Choose Install Location」で、「Destination Folder」は、C:\colinux\ にして、「Next」をクリックします。アップデートのときは前のフォルダが表示されるみたいです。

「Get WinPCAP」で、「Next」をクリックします。

アップデートが開始されます。

「Installation Complete」が表示されたら、「Next」をクリックします。

「Finish」をクリックして、README.txt を読んだら終了です。

これで、上書きされて無事にアップデートできました。
colinux-daemon.exe などの主要ファイルはすべて、2009/04/16 3:59 になりました。batファイル等の自分で作ったファイルや、ルートファイルシステムのファイルなどはそのままです。

前回の fedora-10.bat で立ち上げると、

Fedora release 10 (Cambridge)
Kernel 2.6.22.18-co-0.7.4 on an i686 (tty1)

localhost login:

となって、無事にアップデートできました。

変わったところでは、0.7.3 でブートメッセージに出ていた、

eth0: duplicate address detected!

が出なくなりました。また、WinPcap 関連のブートメッセージは以下のようです。

conet-bridged-daemon: Looking for interface "ローカル エリア接続"
conet-bridged-daemon: checking connection: 'ローカル エリア接続'
conet-bridged-daemon: listening on: Marvell Yukon Ethernet Controller....
conet-bridged-daemon: Filter rule: (ether dst 00:ff:38:40:03:03) or
(multicast and not ether src 00:ff:38:40:03:03)

前回の 0.7.3 のときのメッセージと最後の行が変わっていますね。

また、Windows Vista のスリープ状態から復帰した後に、ネットワークを使うと、cmd.exe のウィンドウに、

conet-bridged-daemon: offline
conet-bridged-daemon: online

のメッセージがでて、問題なくネットワークがつながるようになりました。0.7.3 では、一度切れると再起動しないとネットワークが使えなかったので大きな改善ですね。

ちなみに、前回のMACアドレスの制限はそのままでした。

今後は Windows Vista 上で、この coLinux 0.7.4 を使って作業を進めていきたいと思います。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする