年前相声演员封箱,我们封服务器,年前一周可以从繁重的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
#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***。再要不然就只能绑架网管搞严刑拷打刑讯逼供了,通常这招会比较管用。
祝新年愉快。