今はレンタルサーバーとかOSごとレンタルとかサーバーを手に入れる手段はいろいろ
あるわけだけど、今でも私は自宅マシンを公開している。
こんなことをしている人は今の世の中どうなんだろうか?
自作マシン厨とかと同じように絶滅する方向なんだろうか?
そのへんで本題
自宅マシンをネット公開して外部アクセスできるようにする場合
どうしても
①自宅マシンにグローバルIPをつける
②ルーターにアクセスしたとき自宅マシンへ振り分けるようにする
のどちらかが必要だ
この内
①の自マシンにグローバルIPをつける
ってのはほとんどの場合業者からくれた端末を直接マシンにルータなしてつけるとできるわけだ
があまり汎用性ないので今回はパス
この場合回線は
インターネット─業者端末(ルーター機能なし)─自宅マシン
これやると自宅でPC1台しか使えなくなるしね
というか今時ほとんどの家庭はWIFIじゃないのか?
光とかだと有線なのにパスワードがいるとかわけわからん事にもなるし
②のときの配線は普通こうなる
インターネット─業者端末(ルーター機能あり)─自宅マシン
インターネット─業者端末(ルーター機能なし)─(ルーター)─自宅マシン
のどちらか
このどちらでもいいがPCについているルーターのIPががグローバルIPなら
ルータの設定をいじってPCをインターネットに公開できる
で、そのルータのIPを知るには
http://www.cman.jp/network/support/go_access.cgi
こことかで得られる自マシンのグローバルIPが多くの場合それ
このIPは自マシンに至る経路のどこかの装置のIPのはず。
で、その装置でグローバルIPをローカルIPに切り替えている
ってことだからつまりルータのIPとなる
違う場合はそのIPはもっと上にあるルータのIPってことで、この場合は
そのルータの設定をいじるだけではインターネットに公開できない
確認するには pingするのが一番手っ取り早い。
線をひっこぬいて(ルータの電源OFFで)pingして通らなければ
確認終了
あるいはそのIPをブラウザを入力して設定画面が開くとか
次にルータの設定をいじるわけだが
これほとんどのルータでブラウザに今のルータのIPを入力すれば
設定画面を開くのでそこでする(たぶんルーターのマニュアルに書いている)
あるいはipconfig ifcinfigでLAN側のIPを調べて(ゲートウェイとかのやつ)同じく
入力してひらく
つぎに公開する設定の仕方だがこれは大きくわけて2種類ある
A.DMZにマシンを指定
B.ポートマッピング(ポート変換)にマシンのポートを指定
のどちらか
Aだと全ポート公開となるが、B.だと特定のポートだけ公開できる
私の場合自マシンのsshだけ公開したかったのでBを使った。
具体的なやりかたはルーターの取り説を読むかポートマッピング
の設定項目をじっと見てると分かる
これでとりあえずOKなんだが、これだと外部からアクセスするときいちいち
IPを指定しないといけない(つまりIPを前もって覚えておかないといけない)
というわずらわしさがある。
このためDNSに登録してIPをURLに変換しておく。
それを行うのがダイナミックDNSといわれるもの
いくつもあるが
http://ieserver.net/
今はこれをつかっている
これのいいのはIPを登録するスクリプトがあること(http://ieserver.net/tools.html)
このスクリプトを起動するたび動くようにすれば起動するたびIPが自動で登録
されるので安心。
なわけでIPは変わっても同じURLでアクセスできるのでちょっとやりやすい
こんな感じです。
2013年6月16日日曜日
2013年5月2日木曜日
ubuntuでshellからgmailを出せるようにした
まずさわりとしてubuntu 13.04について
4月の終わり(4月28日)に決心して12.10から早速アップグレードしてみた。
結果は成功! 現在そのマシンで書いている。安定していていい感じです。
気づいたことは
1.google chrome stableがインストールできない。(unstableはインストールできる)
2,indicator-weatherがない。
ぐらい。
あとgtk-sunlightが動かないことに13.04にして初めて気づいた。
(12.10の時は入れっぱなしで気づかなかった)
さらにgetdebがまだ13.04対応してない。
以上
で本題
たまにはLINUXらしいネタを真面目に書いてみる
それにはlinuxでメールを出せるようにするのがいいだろう。
が、自前マシンにDNSに登録とかをしたくないのでメールのサーバーはgmailにした。
つまり
”自宅のUbuntuから端末でgmailアドレスのメールを出せるようにした。”
ということだ。
やりかたは http://www.icoro.com/200908243988.html
を参考にした。
4月の終わり(4月28日)に決心して12.10から早速アップグレードしてみた。
結果は成功! 現在そのマシンで書いている。安定していていい感じです。
気づいたことは
1.google chrome stableがインストールできない。(unstableはインストールできる)
2,indicator-weatherがない。
ぐらい。
あとgtk-sunlightが動かないことに13.04にして初めて気づいた。
(12.10の時は入れっぱなしで気づかなかった)
さらにgetdebがまだ13.04対応してない。
以上
で本題
たまにはLINUXらしいネタを真面目に書いてみる
それにはlinuxでメールを出せるようにするのがいいだろう。
が、自前マシンにDNSに登録とかをしたくないのでメールのサーバーはgmailにした。
つまり
”自宅のUbuntuから端末でgmailアドレスのメールを出せるようにした。”
ということだ。
やりかたは http://www.icoro.com/200908243988.html
を参考にした。
$ sudo apt-get install sasl2-bin postfix
postfixのインストールでいろいろ聞かれるがデフォルトで通してください。
$ sudo vi /etc/postfix/sasl_passwd
[smtp.gmail.com]:587 (ユーザー名)@gmail.com:パスワード
$ sudo chown root:root /etc/postfix/sasl_passwd
$ sudo chmod 600 /etc/postfix/sasl_passwd
$ sudo postmap /etc/postfix/sasl_passwd
$ sudo cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
$ sudo vi /etc/postfix/main.cf
(以下の設定を追加)
relayhost = [smtp.gmail.com]:587
#sasl setting
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
#tls setting
smtp_use_tls = yes
//ここまで
$sudo vi /etc/default/saslauthd
で START=yes に変更
$ sudo /etc/init.d/postfix restart
これでメールが使えるはずですので
$ mail aaa@bbb
とかでメールできます
2013年3月24日日曜日
乱数をつかってみる
唐突だが私のマシンの起動時のログをdmesgでみるとこんなログが出てる
intel_rng: Firmware space is locked read-only. If you can't or
intel_rng: don't want to disable this in firmware setup, and if
intel_rng: you are certain that your system has a functional
intel_rng: RNG, try using the 'no_fwh_detect' option.
このintel_rngというのは乱数を作る装置らしい。
そこでこれについて調べると
起動時のカーネルのパラメータに
intel_rng.no_fwh_detect=1
を入れるといいらしい。ってことがすぐ分かった
http://forum.tinycorelinux.net/index.php?topic=12575.0
実際に入れて再起動するとと上記メッセージが
Intel 82802 RNG detected
に変わるのがわかる。
またlsmodでモジュールを見ると
intel_rng
がロードされているのがわかり
デバイス/dev/hwrng ができているのが分かる。
そこで/dev/hwrngの使い道だが
rng-tools
をインストールしてカーネルの疑似乱数とリンクさせて使うらしい
さっそくインストール
sudo apt-get install rng-tools
がインストールするだけでは動かなかった(rngdの起動に失敗する)
Starting Hardware RNG entropy gatherer daemon: fail.
となる。
そこで設定を見直す
sudo vi /etc/default/rng-tools
で設定を見ると
# Configuration for the rng-tools initscript
# $Id: rng-tools.default,v 1.1.2.5 2008-06-10 19:51:37 hmh Exp $
# This is a POSIX shell fragment
# Set to the input source for random data, leave undefined
# for the initscript to attempt auto-detection. Set to /dev/null
# for the viapadlock and tpm drivers.
#HRNGDEVICE=/dev/hwrng
#HRNGDEVICE=/dev/null
# Additional options to send to rngd. See the rngd(8) manpage for
# more information. Do not specify -r/--rng-device here, use
# HRNGDEVICE for that instead.
#RNGDOPTIONS="--hrng=intelfwh --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viakernel --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viapadlock --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=tpm --fill-watermark=90% --feed-interval=1"
となっているのが分かる。
最初の選択肢
#HRNGDEVICE=/dev/hwrng
#HRNGDEVICE=/dev/null
は/dev/hwrng に決まっているからいいとして二個目の選択肢
#RNGDOPTIONS="--hrng=intelfwh --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viakernel --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viapadlock --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=tpm --fill-watermark=90% --feed-interval=1"
はtpmを使うことにする
なぜか?このマシンはTPMがあるのを知っているからだ。
このマシンのdmesgを見ると
tpm_tis 00:0b: 1.2 TPM (device-id 0x1002, rev-id 2)
というログがある。これがTPMのモジュールだ
(TPMについてはWikipediaとか見てください)
この使い道だが
tpm-tools
をインストールするといいらしい。
さっそくインストール
sudo apt-get install tpm-tools
詳しい設定のしかたはこことか参照
http://www.grounation.org/index.php?post/2008/07/04/8-how-to-use-a-tpm-with-linux
手順としては
BIOSの設定
そのあと
sudo tpm_createek
sudo tpm_takeownership
でうまくいった。
うまくできたかどうかは
sudo tpm_getpubek
で鍵を表示するかどうかですぐに分かる
であらためてintel-rngの話にもどると
設定ファイルを
# Configuration for the rng-tools initscript
# $Id: rng-tools.default,v 1.1.2.5 2008-06-10 19:51:37 hmh Exp $
# This is a POSIX shell fragment
# Set to the input source for random data, leave undefined
# for the initscript to attempt auto-detection. Set to /dev/null
# for the viapadlock and tpm drivers.
HRNGDEVICE=/dev/hwrng
#HRNGDEVICE=/dev/null
# Additional options to send to rngd. See the rngd(8) manpage for
# more information. Do not specify -r/--rng-device here, use
# HRNGDEVICE for that instead.
#RNGDOPTIONS="--hrng=intelfwh --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viakernel --fill-watermark=90% --feed-interval=1"
#RNGDOPTIONS="--hrng=viapadlock --fill-watermark=90% --feed-interval=1"
RNGDOPTIONS="--hrng=tpm --fill-watermark=90% --feed-interval=1"
と書き換えて
デーモン起動
sudo /etc/init.d/rng-tools start
こんどはあっさり成功します
Starting Hardware RNG entropy gatherer daemon: rngd.
でrngdが起動します。
これでマシンが疑似乱数から真の乱数(TRNG)に変わったのでとりあえずエントロピーをチェック
cat /proc/sys/kernel/random/entropy_avail
3190
妥当な数値では?
http://backslash.ddo.jp/wordpress/archives/620
http://field-notes.hatenablog.jp/entry/20101218/1292644497
2013年3月19日火曜日
OpenSUSE 12.2 を12.3 にアップグレード
OpenSUSE 12.2 を12.3 にアップグレードした。
なんかMySQLとかやめてすげーよくなったといううわさが流れているからだ。
以下はそのやり方
情報元はこれ
http://opensuse-man-ja.berlios.de/opensuse-html/cha.update.html
YaSTを使う方法とzypperを使う方法と2種類あるようだが、
今回はzypperを使うやり方でやった。CUIの方が失敗しないと思うからだ
結局一晩かかった。
まず
zypper dup
で現状を最新にした
①リポジトリの更新
まず以下のコマンドで現状の確認
zypper lr -u
次に2個リポジトリ追加
server=http://download.opensuse.org
new_ver=12.3
zypper ar $server/distribution/$new_ver/repo/oss/ openSUSE-$new_ver-Oss
zypper ar $server/update/$new_ver/ openSUSE-$new_ver-Update
旧リポジトリ削除
old_ver=12.2
zypper rr openSUSE-$old_ver-Oss
zypper rr openSUSE-$old_ver-Update
以下
zypper lr -uで状況を見ながら同様にして全て更新
最後に
zypper lr -d で確認
②サーバーアクセスしてリポジトリ内容更新
zypper ref
うまくいくのを確認。うまくいかないのはURLをチェック、ダメなのは削除
③zipper自身の更新
zypper up zypper
私の場合このとき選択肢がでた
1、ダウングレードして更新を選ぶ とできた
④アップグレード
zypper dup
このときライセンス確認が出る yesを選んだ
⑤再起動
shutdown -r now
なんかMySQLとかやめてすげーよくなったといううわさが流れているからだ。
以下はそのやり方
情報元はこれ
http://opensuse-man-ja.berlios.de/opensuse-html/cha.update.html
YaSTを使う方法とzypperを使う方法と2種類あるようだが、
今回はzypperを使うやり方でやった。CUIの方が失敗しないと思うからだ
結局一晩かかった。
まず
zypper dup
で現状を最新にした
①リポジトリの更新
まず以下のコマンドで現状の確認
zypper lr -u
次に2個リポジトリ追加
server=http://download.opensuse.org
new_ver=12.3
zypper ar $server/distribution/$new_ver/repo/oss/ openSUSE-$new_ver-Oss
zypper ar $server/update/$new_ver/ openSUSE-$new_ver-Update
旧リポジトリ削除
old_ver=12.2
zypper rr openSUSE-$old_ver-Oss
zypper rr openSUSE-$old_ver-Update
以下
zypper lr -uで状況を見ながら同様にして全て更新
最後に
zypper lr -d で確認
②サーバーアクセスしてリポジトリ内容更新
zypper ref
うまくいくのを確認。うまくいかないのはURLをチェック、ダメなのは削除
③zipper自身の更新
zypper up zypper
私の場合このとき選択肢がでた
1、ダウングレードして更新を選ぶ とできた
④アップグレード
zypper dup
このときライセンス確認が出る yesを選んだ
⑤再起動
shutdown -r now
ラベル:
3,
linux,
Open SUSE 12.2,
Open SUSE 12.3,
Upgrade,
zypper,
アップグレード
2013年3月5日火曜日
Ubuntu用LibreOffice4.0が来てた
LibreOfiice4.0がUbuntuのPPAに来てたので入れてみた。
情報元はこれ
http://www.webupd8.org/2013/03/install-libreoffice-40-in-ubuntu-1204.html
入れ方は書いてあるとおり
情報元はこれ
http://www.webupd8.org/2013/03/install-libreoffice-40-in-ubuntu-1204.html
入れ方は書いてあるとおり
sudo add-apt-repository ppa:libreoffice/ppa
sudo apt-get update
sudo apt-get dist-upgrade
でうまく行きました
あと日本語拡張も入れときました
http://sourceforge.jp/projects/openoffice-docj/
から
DefaultSettingsForJapanese.oxt
を入手してクリックするだけ
いい感じで動いてます。
ラベル:
libreoffice 4.0,
ppa,
ubuntu,
日本語拡張
2013年3月3日日曜日
ubuntuでnvidiaを使うとflashが落ちたり色がおかしくなる件について
ubuntu 12.04以降でnvidiaのプロプライエタリなドライバーを使って動画(youtube)を再生すると色が青に変わるという謎バグがずっとこのマシンにあった。
このバグ
このバグ
sudo mkdir /etc/adobe echo -e "EnableLinuxHWVideoDecode=1\nOverrideGPUValidation=true" | sudo tee /etc/adobe/mms.cfg > /dev/null
で解決するのだがそのかわり今度は動画再生で落ちやすくなっていた。
そこで前回の改修を見直しmms.cfgから EnableLinuxHWVideoDecode=1を削除、ドライバーを
https://launchpad.net/~ubuntu-x-swat/+archive/x-updates
に変えてみたところ落ちにくくなったので とりあえずこれで行きます
2013年2月28日木曜日
Arch LinuxをVirtualBoxにインストールしてみた。
Arch Linux(64 bit)をVirtualBoxの仮想HDDにインストールしてみた。
手間取るかとおもったが一発でうまくいった。
我ながらLinuxになれてきたとかんがえたらいいのか?
以下はその手順。
インストールガイドでやってもいいのだと思うが
ビギナーズガイドでうまくいきました
VirtualBox guest additionのドライバもうまく入ったよ。
情報元は以下の4か所
https://wiki.archlinux.org/index.php/Beginners%27_Guide
https://wiki.archlinux.org/index.php/VirtualBox#Install_the_Guest_Additions
https://wiki.archlinux.org/index.php/GNOME
https://wiki.archlinux.org/index.php/GDM
手順をざっくり書きます
①ブートCDを用意します
http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/iso/2013.02.01/archlinux-2013.02.01-dual.iso
たとえばこれです
https://www.archlinux.org/download/
ここにあります
②仮想マシンを用意
私は常に80G用意しているので今回もそれ
メモリは5Gにした
CPUは2コア
UTCはON
③仮想マシンを①のCDから起動
④まずshellが起動するので
⑤ネットがつながるのをpingで確認
⑥仮想ディスクのパーティションを切る
1G SWAP (/dev/sda1)
残り EXT4 (/dev/sda2)とした。
/dev/sda2 はブートフラグ付き
⑦HDDをマウント
⑧pacmanのミラーリスト(/etc/pacman.d/mirrorlist)を編集
日本を先頭に持ってくる
手間取るかとおもったが一発でうまくいった。
我ながらLinuxになれてきたとかんがえたらいいのか?
以下はその手順。
インストールガイドでやってもいいのだと思うが
ビギナーズガイドでうまくいきました
VirtualBox guest additionのドライバもうまく入ったよ。
情報元は以下の4か所
https://wiki.archlinux.org/index.php/Beginners%27_Guide
https://wiki.archlinux.org/index.php/VirtualBox#Install_the_Guest_Additions
https://wiki.archlinux.org/index.php/GNOME
https://wiki.archlinux.org/index.php/GDM
手順をざっくり書きます
①ブートCDを用意します
http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/iso/2013.02.01/archlinux-2013.02.01-dual.iso
たとえばこれです
https://www.archlinux.org/download/
ここにあります
②仮想マシンを用意
私は常に80G用意しているので今回もそれ
メモリは5Gにした
CPUは2コア
UTCはON
③仮想マシンを①のCDから起動
④まずshellが起動するので
# loadkeys jp106で日本語キーボードにする
⑤ネットがつながるのをpingで確認
⑥仮想ディスクのパーティションを切る
1G SWAP (/dev/sda1)
残り EXT4 (/dev/sda2)とした。
/dev/sda2 はブートフラグ付き
⑦HDDをマウント
# mount /dev/sda2 /mnt
# mkdir /mnt/home
⑧pacmanのミラーリスト(/etc/pacman.d/mirrorlist)を編集
日本を先頭に持ってくる
# pacman -Syy
が動作するのを確認
# pacstrap -i /mnt base base-devel
# pacman-key --init && pacman-key --populate archlinux
# genfstab -U -p /mnt >> /mnt/etc/fstab
# nano /mnt/etc/fstab
で問題ないのを確認
# arch-chroot /mnt
# nano /etc/locale.gen
ここで
en_US.UTF-8 UTF-8 ja_JP.UTF-8 UTF-8
だけ先頭の#をとる
# locale-gen
# echo LANG=ja_JP.UTF-8 > /etc/locale.conf
# export LANG=ja_JP.UTF-8
# loadkeys jp106 # setfont Lat2-Terminus16
# nano /etc/vconsole.conf
で以下の記述
KEYMAP=jp106 FONT=Lat2-Terminus16
# pacman -S ttf-sazanami
# ln -s /usr/share/zoneinfo/Japan /etc/localtime
# hwclock --systohc --utc
# echo myhostname > /etc/hostname
# systemctl enable dhcpd.service
# systemctl start dhcpcd
# pacman -S ifplugd
# mkinitcpio -p linux
# passwd
# useradd -m -g users -G wheel -s /bin/bash ログイン名
# passwd ログイン名
# pacman -S grub-bios # grub-install --target=i386-pc --recheck /dev/sda # cp /usr/share/locale/en@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
# grub-mkconfig -o /boot/grub/grub.cfg
# exit
# umount /mnt
# reboot
Rebootと書いてあるが実際はCDを取り外して(③のisoをvirtualboxから外して)再起動
うまくいけばログインコンソールが出るはず。
ログインできるのを確認
rootでログインかsuでrootになった後で
# pacman -S xorg-server xorg-xinit xorg-server-utils
# pacman -S mesa
# pacman -S virtualbox-guest-utils
# modprobe -a vboxguest vboxsf vboxvideo
# nano /etc/modules-load.d/virtualbox.conf で
vboxguest vboxsf vboxvideo
を記述
ここで再起動してlsmodで今書いた vboxguest vboxsf vboxvideo
がモジュールにあるのを確認
# pacman -S xorg-twm xorg-xclock xterm
ここでrootから普段使用するアカウントに変える。
$ rm ~/.xinitrc
$ startx
見事Xが立ちあがって xterm xclock がでればOK
ここからはxtermの作業
# pacman -S gnome
# pacman -S gnome-extra
# pacman -S gdm
# systemctl enable gdm.service
ここで再起動すればgdmが自動起動して
GUIでログインできるはず
そしてgnomeが立ち上がるはずです.
パーティション分けとネット接続で手間取るかも知れないがあとは簡単です
今回思ったのはUEFI対策がこまごまと書いてあって超ウザいこと
Windows8ではやるべきでないな。
登録:
投稿 (Atom)