OpenVPN and NAT

在公司用 OpenSuSE 架設了一個 OpenVPN Server
做好之後,發現從家裡除了 VPN Server 之外
其他與 VPN Server 同一網段的機器都連不上
後來發現,原來還需要設定 NAT!
首先編輯 NAT 設定擋

$ vi /root/openvpn_nat.sh
#! /bin/bash

# 清除所有規則
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

# 定義防火牆政策
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

# 讓 OpenVPN 能進去 LAN
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE

測試OK,其他的機器都可以連上了!
接下來更改設定擋,以後不需要在手動啟動了

$ vi /etc/init.d/boot.local
# NAT for OpenVPN
/root/openvpn_nat.sh

重新開機後,測試OK!
搞定,收工!

Upgrade OpenSuSE 12.1 to 12.2

最近這幾次升級 OpenSuSE 時都遇到一些問題
不過還好都有順利解決
這次仍然使用 command line 的 方式

$ zypper modifyrepo --all --disable
$ zypper addrepo --name "openSUSE-12.2-OSS" http://download.opensuse.org/distribution/12.2/repo/oss/ repo-12.2-oss
$ zypper addrepo --name "openSUSE-12.2-Non-Oss" http://download.opensuse.org/distribution/12.2/repo/non-oss/ repo-12.2-non-oss
$ zypper addrepo --refresh --name "openSUSE-12.2 Update-Oss" http://download.opensuse.org/update/12.2/ repo-12.2-update
$ zypper addrepo --refresh --name "openSUSE-12.2-Update-Non-Oss" http://download.opensuse.org/update/12.2-non-oss/ repo-12.2-non-oss-update
$ zypper dup --download "in-advance"

經過漫長下載與安裝後,重新開機…. 但是
居然 GRUB 開機失敗!
錯誤訊息:

....
Kernel (hd0,0)/grub2/core.img root=/dev/system/root resume=/dev/system/swap splash=silent quiet showopts vga=0x31a
Error 15: File not found
Press any key to continue...

似乎是從 GRUB 到 GRUB2 升級失敗?
後來發現 /grub2/core.img 這路徑不對,應該是 /grub2/i386-pc/core.img 才對

先進到 GRUB 將啟動參數路徑修改正確 press “e”

Kernel (hd0,0)/grub2/i386-pc/core.img root=/dev/system/root resume=/dev/system/swap splash=silent quiet showopts vga=0x31a

and than press “b” to boot:
結果,似乎只將 GRUB2 啟動,OpenSuSE 沒動靜??
只好 press “c” 進到命令列,手動啟動 OpenSuSE

> linux /boot/vmlinuz-...[press TAB] ro root=/dev/system/root
> initrd /boot/initrd-...[press TAB]
> boot

好耶,OpenSuSE 12.1 順利啟動!
立刻進到 YaST 看看 bootloader 的設定
發先仍是 GRUB
將他改成 GRUB2 ,儲存,重新開機後 OK 了!

奇怪的問題,無法理解!?

家裡有三台 Mac,分別是 Mac Mini, iMac and Macbook
但 Mac Mini 最近發生了一件怪事:

用 iTunes 在看朋友分享的『棋靈王』卡通時,
突然發現『只有影像卻沒有聲音』的現象,
可是以前看過啊,沒問題啊….
且看其他影片卻是正常,
反覆實驗,確認只有『棋靈王』系列影片(全集)有問題,
其他的影片完全正常!

難道是,檔案故障?
立刻將檔案複製到其他電腦 iMac and Macbook
結果一切正常:檔案沒壞!

在 Mac Mini 反覆做了一些實驗:
1. Safari 看 Youtube,影像聲音正常。
2. 用 Quicktime 看影片, 影像聲音正常。
3. 用 iTunes 看其他影片,影像聲音正常。
4. 用 iTunes 看『棋靈王』,只有影像,沒有聲音。
5. iTunes 砍掉重裝,沒用!
6. 用 QuickTime 看『棋靈王』,一樣,只有影像,沒有聲音。
7. 用 VLC 看『棋靈王』,一樣,只有影像,沒有聲音。
8. 用 MPlayer 看『棋靈王』,一樣,只有影像,沒有聲音。
9. 磁碟工具程式->修復權限,沒用!

難掉是 Mac OS 系統內部 某個 Audio Codec 掛了,
而這 Audio Codec 恰巧只有『棋靈王』用到?
這麼巧?
在 Google 不到有用的資訊下,
只好使出絕招:OS重灌!

一個半小時後…
暈倒!完全沒用,結果一樣!
WHY?WHY?WHY?WHY?

難道我的 Mac Mini 被 佐為 附身了?

就當我看著無聲影片,絕望沮喪之時,
手一不小心碰到外接喇叭的音源線,
突然,聲音出現了!!!
好像是,音源線接頭 與 MacMini 的耳機插孔 接觸不良,
碰一下 OK,再碰一下 聲音又會消失

不對!
要真是真是『音源線接頭 與 MacMini 的耳機插孔 接觸不良』
怎會只有『棋靈王』會有問題,其他的都OK
奇怪,不合理啊…..

將『音源線接頭』拔下,用橡皮擦,用力的擦一擦,
再裝回去後,『棋靈王』影音 就 穩定正常了。

嗯,很怪,得好好研究研究了…..

在 Mac OS X 10.6 安裝 SVN

Create User/Password for Access Control

sudo htpasswd -cm /etc/apache2/svn-auth-file username

Create /etc/apache2/other/svn.conf:

LoadModule dav_svn_module /usr/libexec/apache2/mod_dav_svn.so
<Location /svn>
    DAV svn
    SVNParentPath /Users/SVN-ROOT
    SVNListParentPath on
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /etc/apache2/svn-auth-file
    Require valid-user
</Location>

This will make the Subversion repository /Users/SVN-ROOT available at http://localhost/svn .

Update the repositories owner (otherwise commits would fail):


chown -R www:www /Users/SVN-ROOT

Restart Apache

sudo apachectl restart