我在家中裝了一個有點複雜的網路
(a) Cable model 從家外面拉進來,有固定位置,裝了一台無線分享器 A (dlink DI-624S)
192.168.0.1
DHCP 192.168.0.50~90
(b) 我的書房有一堆電腦, 都需要網路連外, 所以也裝了一台無線分享器 B (Edimax BR-6228NC), IP 設成
192.168.0.10 LAN
192.168.0.99 Wlan (固定IP)
DHCP 關閉 (因為它經由 無線分享器 C 取得 ip 和上網)
無線分享器 A 是 dlink DI-624S, 這台可以讓我的電腦 (XP 和 ubuntu), 都用 VPN 的方式連到工作地方的 vpn server (其它兩台都不行, 不知原因...), 但它似乎又不能讓無線分享器 B 當成 Universal Repeater 來連, 所以只好再拿另一台 AbCom WR254G 來中繼連接
(c) AbCom WR254G (無線分享器 C)
AboCom 當橋接主 AP1 192.168.0.3 WAN
192.168.0.2 LAN
DHCP 192.168.0.91~200
將無線分享器 C 的一般孔 (不是WAN 孔) 連上無線分享器 A 的一般孔,
這樣的好處是, 可以用任一台電腦, 連接上以管理這 3 個無線分享器:
192.168.0.1
192.168.0.2
192.168.0.10
可是發現房間中的電腦 (連上無線分享器 B) 無法上網, google 了以後, 應該是 gateway 有問題, 將無線分享器 C 的 gateway 也設成 192.168.0.1 即可
2013年5月16日
ubuntu 架設 LVS/DR in virtualbox 實作成功紀錄
LVS (linux virtual server) 是用來做 server 負載平衡的軟件。它有三種模式, 我挑了一種比較簡單的 Direct Routing (DR) 來試做, 需要同一網段的 IP, 利用 virtualbox 先裝了 3 台 ubuntu server 12.04
(A) 當入口的 VIP server: 192.168.0.64
對外的 IP: 192.168.0.90
(B) Real server 1: 192.168.0.65
(C) Real server 1: 192.168.0.66
步驟:
1.安裝 ipvsadm
apt-get install ipvsadm
2. 在 VIP server 新增一個虛擬網卡, 設成對外的 IP: 192.168.0.90
修改 VIP server 的 ip 見以下內容
我是用 dhcp 的方式取得 ip (在分享器設定分享固定 ip)
下指令然後編輯 interfaces 檔:
sudo vi /etc/network/interfaces
auto eth1
iface eth1 inet dhcp
auto eth1:0
iface eth1:0 inet static
address 192.168.0.90
netmask 255.255.255.255
broadcast 192.168.0.90
3. 在 VIP server 建立一個 sh 指令檔, 以執行 ipvsadm 指令
(目前重開機以後要再執行一次,還沒弄清楚如何解決)
sudo ipvsadm -C
route add -host 192.168.0.90 dev eth1:0
sudo ipvsadm -A -t 192.168.0.90:80 -s rr
sudo ipvsadm -a -t 192.168.0.90:80 -r 192.168.0.65:80 -g
sudo ipvsadm -a -t 192.168.0.90:80 -r 192.168.0.66:80 -g
sudo ipvsadm -S
4. 編輯 /etc/sysctl.conf, 在檔案最下方加入以下內容
sudo vi /etc/sysctl.conf
net.ipv4.ip_forward=0
net.ipv4.conf.all.send_redirects=1
net.ipv4.conf.default.send_redirects=1
net.ipv4.conf.eth1.send_redirects=1
5. 在 real server1 上 (已裝好 apache), 新增一個虛擬網卡 lo:0
可以下指令然後編輯 interfaces 檔:
sudo vi /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth1
iface eth1 inet dhcp
auto lo:0
iface lo:0 inet static
address 192.168.0.90
netmask 255.255.255.255
broadcast 192.168.0.90
改完重啟網卡 (我是重開機), 有網頁說還要加上這一行的指令, 但我發覺重開機後好像不用再下這個指令一次:
最後,在 real server2 也做同樣的事。
6. VIP server 重開機後,要執行剛剛建的 lvs.sh 指令檔, 再下指令看看有沒有成功:
看到以下結果,大致上應該成功了
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.90:http rr
-> 192.168.0.65:http Route 1 0 0
-> 192.168.0.66:http Route 1 0 0
~$ ping 192.168.0.90
PING 192.168.0.90 (192.168.0.90) 56(84) bytes of data.
64 bytes from 192.168.0.90: icmp_seq=1 ttl=64 time=67.9 ms
64 bytes from 192.168.0.90: icmp_seq=2 ttl=64 time=2.38 ms
64 bytes from 192.168.0.90: icmp_seq=1 ttl=64 time=1090 ms (DUP!)
64 bytes from 192.168.0.90: icmp_seq=2 ttl=64 time=88.7 ms (DUP!)
...
好像在 /etc/rc.local 中加入原來在 lvs.sh 中的指令就可以在開機後自動執行。
參考:
(A) 當入口的 VIP server: 192.168.0.64
對外的 IP: 192.168.0.90
(B) Real server 1: 192.168.0.65
(C) Real server 1: 192.168.0.66
步驟:
1.安裝 ipvsadm
apt-get install ipvsadm
2. 在 VIP server 新增一個虛擬網卡, 設成對外的 IP: 192.168.0.90
修改 VIP server 的 ip 見以下內容
我是用 dhcp 的方式取得 ip (在分享器設定分享固定 ip)
下指令然後編輯 interfaces 檔:
sudo vi /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interfaceauto lo
iface lo inet loopback
auto eth1
iface eth1 inet dhcp
auto eth1:0
iface eth1:0 inet static
address 192.168.0.90
netmask 255.255.255.255
broadcast 192.168.0.90
3. 在 VIP server 建立一個 sh 指令檔, 以執行 ipvsadm 指令
(目前重開機以後要再執行一次,還沒弄清楚如何解決)
vi lvs.sh
route add -host 192.168.0.90 dev eth1:0
sudo ipvsadm -A -t 192.168.0.90:80 -s rr
sudo ipvsadm -a -t 192.168.0.90:80 -r 192.168.0.65:80 -g
sudo ipvsadm -a -t 192.168.0.90:80 -r 192.168.0.66:80 -g
sudo ipvsadm -S
4. 編輯 /etc/sysctl.conf, 在檔案最下方加入以下內容
sudo vi /etc/sysctl.conf
net.ipv4.ip_forward=0
net.ipv4.conf.all.send_redirects=1
net.ipv4.conf.default.send_redirects=1
net.ipv4.conf.eth1.send_redirects=1
5. 在 real server1 上 (已裝好 apache), 新增一個虛擬網卡 lo:0
可以下指令然後編輯 interfaces 檔:
sudo vi /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth1
iface eth1 inet dhcp
auto lo:0
iface lo:0 inet static
address 192.168.0.90
netmask 255.255.255.255
broadcast 192.168.0.90
改完重啟網卡 (我是重開機), 有網頁說還要加上這一行的指令, 但我發覺重開機後好像不用再下這個指令一次:
sudo route add -host 192.168.0.90 dev lo:0
最後,在 real server2 也做同樣的事。
6. VIP server 重開機後,要執行剛剛建的 lvs.sh 指令檔, 再下指令看看有沒有成功:
~$ ./lvs.sh
~$ sudo ipvsadm
看到以下結果,大致上應該成功了
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.90:http rr
-> 192.168.0.65:http Route 1 0 0
-> 192.168.0.66:http Route 1 0 0
But ...
我卻發現從同網段的其它機器連不進來,ping 192.168.0.90 的結果,說是有重覆 ip, 不知問題何在?~$ ping 192.168.0.90
PING 192.168.0.90 (192.168.0.90) 56(84) bytes of data.
64 bytes from 192.168.0.90: icmp_seq=1 ttl=64 time=67.9 ms
64 bytes from 192.168.0.90: icmp_seq=2 ttl=64 time=2.38 ms
64 bytes from 192.168.0.90: icmp_seq=1 ttl=64 time=1090 ms (DUP!)
64 bytes from 192.168.0.90: icmp_seq=2 ttl=64 time=88.7 ms (DUP!)
...
好像在 /etc/rc.local 中加入原來在 lvs.sh 中的指令就可以在開機後自動執行。
參考:
2013年5月15日
mySQL 相關指令
在 ubuntu 12.04 之下
停止 mysql
sudo stop mysql
啟動
sudo start mysql
進入 mySQL 指令列
mysql -u username -p
看 set varaibles (記得要在最後加上分號 ;)
show status;
看佔用 CPU 資源
show processlist;
停止 mysql
sudo stop mysql
啟動
sudo start mysql
進入 mySQL 指令列
mysql -u username -p
看 set varaibles (記得要在最後加上分號 ;)
show status;
看佔用 CPU 資源
show processlist;
2013年4月19日
ibus 的倉頡第三代輸入法有問題
我在更新許多有關於 *gtk* 的套件後,ibus 的倉頡第三代輸入法出現問題:
"的" 的倉頡碼應該是 hapi ,但無法輸入。總之,很怪就是了。
後來重裝 ibus 1.3.9 (ubuntu 10.04 Lucid 的 ibus 最高版本)
"的" 的倉頡碼應該是 hapi ,但無法輸入。總之,很怪就是了。
後來重裝 ibus 1.3.9 (ubuntu 10.04 Lucid 的 ibus 最高版本)
sudo add-apt-repository ppa:shawn-p-huang/ppa sudo apt-get update sudo apt-get install ibus ibus-gtk ibus-qt4
再安裝其它輸法 (已安裝不用重安裝) sudo apt-get install ibus-pinyin # or other engine(s) you want im-switch -s ibus# logout and re-login ibus-setup # add input methods you want
以前慣用的 ibus + 倉頡第三代輸入法仍有問題
改用 ibus 1.3.9 + 倉頡第五代輸入法後,比較 OK
也有動態選字功能。
2013年4月18日
在 ubuntu 10.04 下的 gretl cvs
要在 ubuntu 10.04 下的 gretl cvs 變成可 commit 修改 .PO 檔,不能用 gretl 手冊中所寫的下這兩行指令
cvs -d:pserver:anonymous@gretl.cvs.sourceforge.net:/cvsroot/gretl login
(不必輸入,直接按空間棒)
cvs -z3 -d:pserver:anonymous@gretl.cvs.sourceforge.net:/cvsroot/gretl co -P gretl
我在 ubuntu 11.04 下實測 (參考:CVS#Read-Write access),先下指令
export CVS_RSH=ssh
cvs -z3 -d:ext:xxi-xxxx@xxx.cvs.sourceforge.net:/cvsroot/gretl checkout gretl
(輸入帳密就 OK 了)
./configure 後說少了 libcurl 和 gtksourceview2.0, 又裝了以下
sudo apt-get install libcurl4-openssl-dev libgtksourceview2.0-dev
再下指令
(如果已下載更新多次, 可能要再下指令
make clean)
./configure
make
sudo make install
sudo cp /usr/local/lib/libgretl* /usr/lib
這樣就 OK 了
搭配 Cervisa + POedit 就可以正常地更新新的 zh_TW.po 檔
cvs -d:pserver:anonymous@gretl.cvs.sourceforge.net:/cvsroot/gretl login
(不必輸入,直接按空間棒)
cvs -z3 -d:pserver:anonymous@gretl.cvs.sourceforge.net:/cvsroot/gretl co -P gretl
我在 ubuntu 11.04 下實測 (參考:CVS#Read-Write access),先下指令
export CVS_RSH=ssh
cvs -z3 -d:ext:xxi-xxxx@xxx.cvs.sourceforge.net:/cvsroot/gretl checkout gretl
(輸入帳密就 OK 了)
./configure 後說少了 libcurl 和 gtksourceview2.0, 又裝了以下
sudo apt-get install libcurl4-openssl-dev libgtksourceview2.0-dev
再下指令
(如果已下載更新多次, 可能要再下指令
make clean)
./configure
make
sudo make install
sudo cp /usr/local/lib/libgretl* /usr/lib
這樣就 OK 了
搭配 Cervisa + POedit 就可以正常地更新新的 zh_TW.po 檔
2012年12月19日
iPod touch4 (iOS 4.3.1) 升級到 6.0.1 失敗後無法開機
這件事不屬於 ubuntu 的範圍,純粹是經驗分享。
我有一個 iPod 4, iOS 4.3.5 (8L1), 想升級到 iOS 5.1.1 (或如 iTune 所述,升級到 6.0.1)
1. 下載 iOS 6.0.1 ipsw 檔 或 iOS 5.1.1.ipsw (9B206)
(下載各種版本節 iOS,參見:Apple最新最全的官方iOS固件下载列表)
2. 先在 iTune 中進行備份
3. 開啟 iTune, 先按 [shift] + [更新],然後選你下載的 iOS 6.01, 結果失敗 (錯誤代碼 1602)
4. 使用 DFU 模式重開, 再使用官方韌體進行回復
註: DFU:(1.按住電源鍵不放3秒鐘。 2.電源鍵不要放開,再按住Home鍵10秒鐘。 3.接下來放開電源鍵,持續按著Home鍵15秒,即可進入DFU模式。)
重新
5. 結果是,用 iOS 6.0.1 恢復失敗, 但用 iOS 5.1.1 恢復 (按 [shift] + [回復]),雖 iTune 告知失敗 (錯誤代碼: 3194),但 iPod 卻恢復成原來的 iOS 4.3.5... (ipod 裡的資料皆還原了)
仍沒有找到真正原因,不過更版雖不成,至少可以回到原來的使用狀態...
iTune 的錯誤訊息代碼: 更新失敗別慌張,常見錯誤代碼解析 一文 (不過,好像沒有太大的幫助)
我有一個 iPod 4, iOS 4.3.5 (8L1), 想升級到 iOS 5.1.1 (或如 iTune 所述,升級到 6.0.1)
1. 下載 iOS 6.0.1 ipsw 檔 或 iOS 5.1.1.ipsw (9B206)
(下載各種版本節 iOS,參見:Apple最新最全的官方iOS固件下载列表)
2. 先在 iTune 中進行備份
3. 開啟 iTune, 先按 [shift] + [更新],然後選你下載的 iOS 6.01, 結果失敗 (錯誤代碼 1602)
4. 使用 DFU 模式重開, 再使用官方韌體進行回復
註: DFU:(1.按住電源鍵不放3秒鐘。 2.電源鍵不要放開,再按住Home鍵10秒鐘。 3.接下來放開電源鍵,持續按著Home鍵15秒,即可進入DFU模式。)
重新
5. 結果是,用 iOS 6.0.1 恢復失敗, 但用 iOS 5.1.1 恢復 (按 [shift] + [回復]),雖 iTune 告知失敗 (錯誤代碼: 3194),但 iPod 卻恢復成原來的 iOS 4.3.5... (ipod 裡的資料皆還原了)
仍沒有找到真正原因,不過更版雖不成,至少可以回到原來的使用狀態...
iTune 的錯誤訊息代碼: 更新失敗別慌張,常見錯誤代碼解析 一文 (不過,好像沒有太大的幫助)
2012年12月12日
ubuntu 的防火牆 ufw
試試 ubuntu 的防火牆 ufw
參見: https://help.ubuntu.com/11.10/ ubuntu-help/net-firewall-on- off.html
可安裝用 GUI 版的 gufw。來設定.
另可參見:[ubuntu] Iptables – 介紹設定簡單的 iptables 防火牆
參見: https://help.ubuntu.com/11.10/
可安裝用 GUI 版的 gufw。來設定.
另可參見:[ubuntu] Iptables – 介紹設定簡單的 iptables 防火牆
訂閱:
文章 (Atom)