用OpenBSD和Open***构建坚不可摧的服务器集群(二)

接上一章,说一下OpenBSD的配置和安装软件。

一、网卡IP相关配置

在上节,我们采用默认的dhcp方式安装,在实际生产服务器当然不能这样,所以需要配置网卡的IP和网关,子网掩码和DNS等相关信息。

1.配置IP地址和子网掩码
在OpenBSD下,你的网卡配置文件在/etc/hostname.em0,.em0后缀随网卡驱动不同会变化,但前缀不会变。用vi编辑这个文件,格式如下

inet 125.39.xxx.xxx netmask 255.255.255.224 NONE
#inet alias 125.39.xxx.xxx netmask 255.255.255.224 NONE

定义内网地址vi /etc/hostname.em1

inet 192.168.1.1 255.255.255.0 NONE

注释部分为网卡绑定多IP配置方式

编辑一个文件叫/etc/hostname.tun0
放入以下内容
up
!/usr/local/sbin/open*** --daemon --config /etc/open***/server.conf


2.配置网关
网关文件在/etc/mygate,如没有,请创建

125.39.xxx.xxx

直接写IP即可。

3.主机名
主机名文件是/etc/myname,如没有,请创建

localhost.my.domain

4.DNS
同其他一样,在/etc/resolve.conf,配置方式也与其他系统一样

nameserver 127.0.0.1
nameserver 202.106.0.20

IP,网关,主机名和DNS都配置完了,可以启动网络。

sh /etc/netstart

二、安全性配置

为了保证机器的安全性,要在默认的情况下,只开启22端口,也就是SSH,通常默认安装完成后,OpenBSD会自动启动sendmail等程序,我们需要禁用这些。

vi /etc/rc.conf
找到
sendmail_flags=.....
注释掉,改为如下
#sendmail_flags=.....
sendmail_flags=NO

找到
inetd_flags=""
----------------------
unset inetd_flags rwhod_flags portmap_flags kdc_flags kadmind_flags
----------------------
: ${inetd_flags=$([ X"${inetd-YES}" = XYES ] || echo NO)}
改为
inetd_flags=NO
----------------------
#unset inetd_flags rwhod_flags portmap_flags kdc_flags kadmind_flags
----------------------
#: ${inetd_flags=$([ X"${inetd-YES}" = XYES ] || echo NO)}
----------------------
syslogd_flags=
----------------------
syslogd_flags=NO

其他如果smtpd有设置,也要改成NO
这些关闭的程序,除非你知道他的作用,或者你的确需要,否则就没有必要开启。

然后重启,敲入netstat -na
可以看到,只有22端口被启动了,Perfect!

三、安装Ports

和FreeBSD一样,OpenBSD默认是没有安装软件的,安装软件有两种途径,pkg_add或者直接去ports用make编译。我习惯用ports编译安装,会更加优化。但是,首先要先把ports包拉下来。

export PKG_PATH= ftp://ftp.tw.openbsd.org/pub/OpenBSD/5.0/packages/amd64/
pkg_add wget
cd /usr/local
wget http://mirror.yongbok.net/OpenBSD/5.0/ports.tar.gz
tar zxf ports.tar.gz
ln -s /usr/local/ports /usr/ports

默认情况下,OpenBSD为/usr分配的空间比较小,给/home和/usr/local分配的比较大,所以我把ports解压放在/usr/local,做软连接连到/usr下,免得出现安装软件占/usr空间比较大的情况。

四、安装Open***

cd /usr/ports/net/open***
make install clean

是不是很省事,等待编译完成,OpenBSD5.0默认采用Open*** 2.1.4。

五、配置Open***

1.配置文件

mkdir /etc/open***
cp /usr/local/share/examples/open***/sample-config-files/server.conf /etc/open***
vi /etc/open***/server.conf
------------------------
找到

;proto tcp
proto udp

改为

proto tcp
;proto udp
------------------------
找到

port 1194
改成任何你自己喜欢的port
------------------------

找到

;push "dhcp-option DNS 208.67.222.222"

改为

push "dhcp-option DNS 202.106.0.20"
------------------------

找到

;client-to-client
改为
client-to-client
------------------------

找到

dev tun
改为
dev tun0


红字部分很重要,不修改的话,无法创建网卡设备。

2.创建server的密钥文件

cd /usr/local/share/examples/open***/easy-rsa/2.0

#默认情况下OpenBSD安装Open***会缺少一个文件,用vi编辑一下即可
vi whichopensslcnf
放入以下内容
#----------------------
#!/bin/sh
if [ "$OPENSSL" ]; then
        if $OPENSSL version | grep 0.9.6 > /dev/null; then
                echo "$1/openssl-0.9.6.cnf"
        else
                echo "$1/openssl.cnf"
        fi
else
        echo "$1/openssl.cnf"
fi
exit 0
chmod +x whichopensslcnf
. ./vars

#看不清的话,翻译成人类语言:点空格点斜杠vars,在Linux下,这句话是source ./vars,但是OpenBSD默认使用ksh,没有source,用点可以起到同样作用,这个在其他系统的其他shell里也是通用的,算是个小技巧。
./clean-all
./build-ca
#创建ca文件,完成后会看到keys文件夹,里面有ca.*文件,一路回车即可
./build-key-server localhost
#一路回车,最后两个y/n均回答y
./build-dh
#创建dh1024.pem文件
cd keys
cp ca.* /etc/open***/
cp dh1024.pem /etc/open***/
cp localhost* /etc/open***/

再来编辑/etc/open***/server.conf

#编辑/etc/open***/server.conf,找到ca cert key dh,换成如下格式
ca /etc/open***/ca.crt
cert /etc/open***/localhost.crt
key /etc/open***/localhost.key
dh /etc/open***/dh1024.pem

然后运行
/usr/local/sbin/open*** --config /etc/open***/server.conf &
启动

3.生成客户端的key文件
回到2.0目录下

cd /usr/local/share/examples/open***/easy-rsa/2.0
. ./vars
#注意生成客户端不要再执行./clean-all,否则全清空。
./build-key slayer
#一路回车,最后注意两个y/n,均回答y
cd keys
#BSD系统下没有sz rz,zmodem命令叫lsz lrz,需要到/usr/ports/comms/lrzsz下编译安装,或者你用sftp取回来也可以。

lsz slayer*
lsz ca.crt

4.安装windows open***客户端

将slayer*文件和ca.crt文件放入program files\open***\config下。
编辑open***\sample-config\client.o***文件,将ca cert key部分改为
ca ca.crt
cert slayer.crt
key slayer.key
remote 125.39.xxx.xxx 1194
proto 改为tcp方式

然后点Open***图标启动客户端,默认是不自动连接的。需要双击右下角托盘的小图标才会连接。正常连接的话会由红变黄再变绿。

5.安装Linux Open***客户端

在OpenBSD上用./build-key clientname生成客户端key。其他步骤同Windows安装,给linux服务器编译安装Open***,安装步骤同安装服务器端,只是最后不要build任何key。指定好ca和clientname的key用client.conf启动客户端,这个在网上有很多说明,谷歌一下即可,不再赘述。

六、总结

1.Open***的作用是建立tun连接,这个可以参看IP隧道技术。
2.仅监听两个端口22和1194,其中Open***需要用SSL做key验证,连接SSH登录管理需要做密码验证,双保险。
3.除OpenBSD网关外,其他所有服务器可均不分配物理外网地址,节省IP地址,且安全。但对于Open***来说,可以认为在一个虚拟的局域网内,不受物理网络的限制。
4.管理者连接IP需要指定OpenBSD的外网IP,服务器集群只要指定OpenBSD内网IP即可。
5.对于大型的集群,OpenBSD原生支持OSPF,BGP,VLAN,可以配置VLAN和OSPF乃至BGP来做Vlan间路由。
6.最后强调一点,一定不要用最新的硬件尝试安装OpenBSD,多半会装不上,找个淘汰的2年前的PC或服务器,是再好不过的了。不要过多关注内存硬盘大小,OpenBSD在64M内存的机器上一样可以跑的刷刷的。
7.如果出现无法启动,请检查启动时的返回,通常情况是内核没有加载隧道的驱动,可以重新编译内核加载device tun。
8.ip_forward=1是需要的。

OpenBSD的哲学思想我个人认为可以归纳为中国的一句俗话,叫光脚的不怕穿鞋的。高度精简代码,没有多余的垃圾进程和服务,对于端口,我不开,你耐我何。OpenBSD的TCP/IP性能源自BSD系统对TCP/IP协议的最初实现,在这点上,毋庸置疑其高效和稳定,其源码审核机制和高度中央集权式的系统开发过程保证了整个系统的安全和稳定。投入到BSD的怀抱,你所收获的将远远超过你学习她所付出的时间和精力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值