2013年3月14日木曜日

自宅にVPN Server構築 #1

Macを使い始めて数ヶ月経過しました。SSDの容量節約を考えて、iTunesライブラリとiPhotoライブラリを自宅のNASに置いているんですが、外出先での利用が多く、外出先でもNASにアクセスできるように、VPN環境を構築したいと思います。

VPN Serverにするのは自宅で稼働中のUbuntu 12.04。まずはどんな方法があるのかネットを調べてみました。VPNの方式としては
  • L2PT
  • PPTP
  • OpenVPN
この辺がよく使われているようです。とりあえずインストールが簡単そうなOpenVPNを入れてみようかと思っていたのですが、2013/3/8にSoftEther VPNが公開されていて、サイトを見ると上で挙げた全てのプロトコルに対応してるようです。まだ該当バージョンの情報も見つからず、公式でもRedHat系を推薦しているので、人柱になるべくUbuntuに入れてみようかと思います。

公式ドキュメントを見ながら必要なソフトウェアとライブラリのインストール。aptitudeでサクサクと入れていきます。

1. インストールに必要なソフトウェアの準備
$ sudo aptitude install gcc
$ sudo aptitude install make

2. Softether VPNの取得
このページからLinux - 64bit版をDownloadします。
$ wget http://www.softether-download.com/files/softether/v1.00-9027-rc2-2013.03.12-tree/Linux/SoftEther%20VPN%20Server/64bit%20-%20Intel%20x64%20or%20AMD64/softether-vpnserver-v1.00-9027-rc2-2013.03.12-linux-x64-64bit.tar.gz -P ~/tmp

3. 解凍してmake
$ cd ~/tmp
$ tar zxvf softether-vpnserver-v1.00-9027-rc2-2013.03.12-linux-x64-64bit.tar.gz
$ cd vpnserver
$ make

4. 画面の指示に従って、数字を選択してmakeする

5. /usr/localに移動し、所有権やパーミッションを変更
$ cd ..
$ sudo mv vpnserver /usr/local
$ cd /usr/local
$ sudo chown -R root:root vpnserver
$ cd vpnserver
$ sudo chmod 600 *
$ sudo chmod 700 vpncmd
$ sudo chmod 700 vpnserver

6. Startup scriptの作成
$ cd /etc/init.d
$ sudo touch vpnserver
$ sudo chmod 755 vpnserver
$ sudo vi vpnserver

以下のScriptをviで作成
#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/vpnserver  # Modify for Ubuntu
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

7. Startup scriptの登録
もしsysv-rc-confをinstallしていなければ、install
$ sudo aptitude install sysv-rc-conf
登録
$ sudo sysv-rc-conf vpnserver on
ここまでで一通りのインストールは完了です。
これから設定をしていきます。続きは別エントリで。

2013年3月5日火曜日

MacのJDK整理

1月にJava SE 7 Update 11に関するエントリを書いてからわずか2ヶ月ですが、頻繁にJavaのセキュリティアップデートが行われ、あっという間にUpdate 17になっていました。業務上、Javaのインストールは(JDKも含めて)必須なので、できる限り最新版が出たらすぐ更新するようにしているのですが、古いバージョンのJDKがどうなってるか調べてみました。

インストールディレクトリはすぐ見つかりました。
ls -l /Library/Java/JavaVirtualMachines/
で確認してみると、jdk1.7.0_xx.jdk/というディレクトリがたくさん残っています。Windowsでもそうですが、JDKは更新しても前のバージョンは削除されません。開発用のパッケージのため当然の動作だとは思うのですが、私の環境では古いバージョンのJDKは不要なので削除したいと思います。

アンインストール方法ですが、Oracleのドキュメントを確認する限り、上記のディレクトリからjdk1.7.0_xx.jdk/を直接削除してしまって問題無さそうです。という事で、jdk1.7.0_17.jdk/以外をサクッと削除してスッキリしました。

容量削減の為にも、定期的に削除した方が良さそうですね^^;

2013年2月6日水曜日

自作PCのメンテナンス #3 (完結)

先月から実施していた自作PCのメンテナンスについて、やっと不具合が解決しました!原因はやはりメモリの相性だったようで、以前の1GB x 3に差し替えてからは一度も落ちず、その後購入したSanmax - Elpidaチップの4GB x 3でも安定して動作しています。やっと安定したので、一緒に購入したIntel 335にWindows 7を新規インストールして、徐々に環境を復旧しているところです。

それにしても、メモリに問題があればコールドブート後1度だけではなく、稼働中に不定期に落ちそうなもんなんですが…電圧が不安定な状態に弱いんでしょうか。勉強になりました。

2013年1月21日月曜日

自作PCのメンテナンス #2

休日に重い腰を上げてPCのメンテナンスを実施しました。まずは、土曜日にエアダスターと接点復活剤の買い出しへ。逆さから使っても大丈夫なタイプを購入しました。(実際使ってみたら勢いが弱く匂いもキツかったので、ちょっと失敗したかも…。)

作業内容は先日書いたエントリの通り。

  • PC内部の清掃と組み直し
    • 電源やファンの埃を取り、マザーボードに積もった埃もエアダスターで吹き飛ばして、メモリに接点復活剤を塗って組み直しました。
    • が…程なくしてブルースクリーン。効果は無かったようです。
  • 以前のメモリ (1GB x 3)に差し替え
    • 差し替え後、あまりコールドブートになっていないのでまだわかりませんが、今のところ一度も落ちていません。これで数日安定していれば、メモリの買い替えで解決できそうなんだけどな。
とりあえずメモリが原因であることを祈りつつ、仕事から帰宅したらPCの電源を投入しようと思います。

2013年1月17日木曜日

自作PCのメンテナンス #1

自宅のデスクトップは数年前に自作したWindowsPCなんですが、昨年からコールドブート後に1度だけBlueScreenが発生して、それ以降は問題なく使える不具合に悩まされています。騙し騙し使い続けてきましたが、子供の動画編集や自動処理などを安定してできるように、メンテナンスをして不具合を解決しようと作業を進めています。ということで、作業ログ代わりにエントリを書いてみました。

まずは自作PCのスペック
  • CPU : Core i7 920 (LGA1366)
  • MotherBoard : ASUS Rampage Extream II
  • Memory : G.Skill F3-10666CL9T-12GBRL
    • 4GB x 3, DDR3-1333を1066で動作
  • 電源 : ENERMAX (だったと思う…うろ覚え)
  • HDD
    • WD VelociRaptor : 150GB
    • Seagate? : 1TB
発生し始めたのは、今のマンションに引っ越してきた後だったので恐らく2011/12以降。引越しの移動でどこか接触が悪くなったか、電源が変わったことによる影響などが考えられます。

これまでの作業内容
  • MotherBoardのBIOS Update
  • memtest86+
  • メモリタイミングを1066から1333に手動で変更
    • 1333にしたら落ちまくる…。
これからの作業予定
  • PC内部の清掃と組み直し
  • OSの再インストールと最新ドライバに更新
  • 以前のメモリ (1GB x 3)に差し替え
  • 電源の交換
今は無駄な出費を控えたいので、できるだけ原因を特定してから交換などを行いたいと思います。

2013年1月11日金曜日

MacのSafariがJavaプラグインをブロックする件

昨年購入したMBP 13r、昨日までは順調に使えていたのですが、本日突然SafariでJavaのプラグインが実行できなくなる状況になってしまいました。Firefoxでは問題なく使えています。こんな感じの画面で、最新バージョンのJavaが認識できていないようです。


心当たりと言えば、今日ソフトウェアアップデートで出てきたHP Printer Drivers v.2.13 for OS Xを適用した事くらい…。念の為に、pkgutil --payload-filesでインストールしたファイルを確認してみましたが、特に怪しいファイルも見つかりません。

解決の為、Appleのサポートにも連絡をして以下のような事を試してみましたが、結果として未だ解決できていない状態です。面倒だけど、OSの再インストールをするしかないのかなぁ…。

試したこと
  • JRE/JDKの再インストール
  • Apple Java SE 6へのロールバック (ロールバックした状態では動作する)
  • セーフブート
  • 新規ユーザ作成してSafariの動作確認
  • Safariのplist削除 (/User/xxx/Library/Preferences/com.apple.Safari.plist)
  • ディスクのアクセス権修復
これからの選択肢
  • OSの再インストール (再発した時が怖い)
  • 昨日以前のTimeMachineからのリカバリ
  • 次バージョンのJavaがリリースされるまで待つ
18:40追記
解決しました!直接の原因は、
/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta.plist
のJavaAppletPluginのMinimumVersionが1.7.10.19になっていること(現在は1.7.10.18)でした。
おそらく、Java 7の脆弱性が見つかったためにAppleがSafariのJavaプラグインを無効にするよう設定ファイルを書き換えたのだと思います。
ゼロデイ攻撃の対応とはいえ、対応後は何らかの通知を出してくれればいいのですが…。
2013/1/14追記
アップルのサポートから、脆弱性の対応という公式な回答を頂きました。
そして、Java SE 7 Update 11がリリースされたようです。これでやっと解決かな。

2012年11月11日日曜日

Macで自宅Wi-FiのNAS自動マウント

先日、趣味&仕事用のマシンとしてMacBookPro Retina 13inchを購入しました。
そして環境構築をしている中で、自宅のWi-Fiに接続してログインした時にだけNASを自動マウントする処理をAppleScriptで書いてみたのでメモしておきます。

SSID取得とNASの自動マウントは、色々な人のブログに書かれていたものを参考にしながら書いてみました。自宅外のWi-Fiと繋ぐことが多い&移動時にはログアウトする事が多いので、これでだいぶ改善されるはず。
スリープから復帰した時にもSSIDをチェックしてマウントを制御してみたいけど、もう少し調べてみないとわからないので、必要になったら考えてみます。もしいい方法があったらコメントなどで教えてください!


set SSID to do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport --getinfo | sed -n 's/^[ ]*SSID: \\([^ ]*\\)[ ]*$/\\1/p'"
set HOME_SSID to "<自宅Wi-FiのSSID>"

if not SSID is HOME_SSID then
    return -- Not home Wi-Fi
end if

tell application "Finder"
    delay 5 -- Wait 5 seconds
    activate
    if not (exists disk "disk") then
        try
            mount volume "afp://<NASのIP>/<マウントするvolume名>"
        on error
            display dialog "NAS mount error."
        end try
    end if
end tell