接上一章,說一下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
#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
#
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***。再要不然就只能綁架網管搞嚴刑拷打刑訊逼供了,通常這招會比較管用。
祝新年愉快。