用OpenBSD和Open***構建堅不可摧的服務器集羣(三)

年前相聲演員封箱,我們封服務器,年前一週可以從繁重的hadoop勞動中擠點時間出來寫點東西了。

接上一章,說一下Open***的詳細配置。以備大集羣的擴展需要。
默認情況下,Open***對客戶端僅支持255.255.255.252這樣的子網掩碼。在windows客戶端下,可以敲

open***.exe --show-valid-subnets

查看合法的客戶端地址分配範圍,按照VLSM(可變長子網掩碼)的規則,一共有64組,128個可用的地址。除去Server所使用的地址,一共有127個,那麼我們面臨一個問題,如果服務器的數量超過127個,該怎麼辦?另外,還有個問題是,Open***的分發地址是DHCP的,但是集羣內的其他服務器肯定不能DHCP,否則就亂套了,該怎麼辦?

那麼,實際上現在有兩個問題,固定IP的問題,和***的路由問題。

一、固定IP問題

這個問題可以這樣解決,按照我們上兩節所講的Open***的Server.conf配置,加一行。

#mkdir /etc/open***/ccd
#vi /etc/open***/server.conf

client-config-dir /etc/open***/ccd

#-------------整個的配置文件看起來應該是下面這樣-----------

port 1194
proto tcp
dev tun
ca /etc/open***/ca.crt
cert /etc/open***/hadoopmaster.crt
key /etc/open***/hadoopmaster.key    # This file should be kept secret
dh /etc/open***/dh1024.pem
server 10.8.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DNS 202.106.0.20" #客戶端獲得的DNS地址

push "route 10.9.0.0 255.255.0.0"
push "route 10.8.0.0 255.255.0.0"

route 10.9.0.0 255.255.0.0

client-to-client

client-config-dir /etc/open***/ccd

keepalive 10 120
comp-lzo
persist-key
persist-tun
status open***-status.log
log open***.log
verb 3

黃底加粗的字體,是需要新加入的。但是,也不要忽略紅色字體,那是我們需要解決的第二個問題,也就是集羣擴展所面臨的路由問題。

我們來看下新建的/etc/open***/ccd下面都有些什麼東西

#ls -la
drwxr-xr-x 2 root root 4096 Jan 13 12:13 .
drwxr-xr-x 3 root root 4096 Jan 13 12:20 ..
-rw-r--r-- 1 root root     32 Jan 13 11:52 slayer
#cat slayer
ifconfig-push 10.8.0.254 10.8.0.253
#

裏面有一個文件,也就是以創建client key時所取的名字命名的一個文本文件,內容是
ifconfig-push 10.8.0.254 10.8.0.253
也就是讓Open***在DHCP時,將10.8.0.254地址,push給slayer的主機,且Point-to-Point地址是10.8.0.253

那這樣豈不是10.8.0.0/31地址池裏又少了一半?其實不是,如果你想指定某臺服務器IP是253,就這樣寫
ifconfig-push 10.8.0.253 10.8.0.254

如果你不想用這種方法,可以去掉配置文件中的client-to-client
指定
ifconfig-push 10.8.0.253 255.255.255.0

照此推理,你要指定局域網內的其他服務器被分配固定的Ip地址,只需要按照該服務器創建key時候的名字建立這個文件,把IP地址和對端地址寫進去就可以了。

那麼,這個固定IP的問題解決了。

二、解決一下集羣擴展的路由問題

回到問題一的解決過程中,配置文件的紅色部分。擴展集羣只需加入紅色字體部分,讓Open***在push地址的過程中,將10.9.0.0的路由表push到客戶端機器內,就可以實現不同網段間的互訪了。在範例中,你看到,10.9.0.0和10.8.0.0,這是A類地址,本來就可以互訪。不過,請注意看子網掩碼的配置,255.255.0.0,也就是說,我是用A類地址但是是B類地址的子網掩碼,也就是在默認沒有路由的情況下,是不可相互訪問的。

你有多少個子網,就需要寫多少條push "route IP MASK",否則你即使連上了服務器,也是無法訪問其他網段的服務器的,原因很簡單,沒有路由表。回包也就沒有路由。

還有一點,如果你增加了路由,Windows客戶端需要退出Open***程序再重啓纔可以將路由表保存在你自己的電腦裏,僅僅斷開連接是沒用的。而Linux則沒有該限制。

整個Open***的配置過程中,涉及的網絡基礎概念比較多,需要對OSI七層模型,子網劃分,隧道連接有一定的概念。

這樣的好處是,節省一大筆費用,支持***的交換機和路由器一般都價格不菲。而這個辦法,除了找個破PC之外,無需任何額外的支出。

再一個,如果你自認爲破解技術很強悍,可以嘗試***OpenBSD+Open***,通常我不認爲你能成功,除非你搞DDOS或者偷到了csr文件搞middle-man***。再要不然就只能綁架網管搞嚴刑拷打刑訊逼供了,通常這招會比較管用。

祝新年愉快。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章