进一步的配置
下面介绍一下在我们刚才构筑的基于OpenBSD的NAT网关机的基础上,进一步设置一些网络服务的方法。值得注意的是:从安全性考虑,不是必要的服务就不要开!
1. 远程登录
OpenBSD缺省安装后,启动的服务很少。telnet服务是缺省关闭的,因为telnet是明文的协议,有被窃听的危险。OpenBSD打开了ssh 服务,这是一个加密的远程登录服务。为了使用这个服务,必须在客户机上安装支持ssh协议的终端软件。在Windows操作系统下,可以用 SecureCRT。安装完终端软件后,建立到服务器192.168.0.1的连接,注意使用standard SSH。
2. 串口终端
对于这个NAT服务器来说,我们可以不要显卡、显示器和键盘。但是如果配置网络出了问题,远程登录无法连接到服务器就比较麻烦了--因为我们已经把服务器的显示系统和键盘都去掉了。所以有必要建立一个比较保险的连接途径。我们可以通过串口终端的方式,连接到服务器。
a) echo -P >; /boot.config 这个目的是告诉boot模块,如果发现键盘不存在,就进入serial console模式;
b) 修改 /etc/ttys,将tty00的status改为on,后面可以加上secure(允许root从serial console登录)--这里假设你用的是COM1口;如果你没有那种标准的null modem线,而只有那种RX、TX、地三根线的串口电缆,就再加上一个 softcar;
c) 在COM1上接终端,或者接到另一台电脑,比如运行Windows的PC,随便安装一个支持串口终端方式的软件,比如Hypertermial、 Netterm、SecureCRT,新建立一个session,用串口协议,速率9600,data 8, parity none, stopbit 1,flow control XON/XOFF(假设用的是softcar);
d) 重启OpenBSD的机器,不要忘记拔掉键盘!
如果觉得9600bps的速率太慢,可以在 /etc/ttys中设置,并且将终端或者终端仿真软件的速率设置成相同的就可以了。举个例子:
tty00 "/usr/libexec/getty std.57600" vt100 on secure softcar
3. WEB服务
将/etc/rc.conf中,找到httpd_flags=NO,将NO去掉,下次启动的时候WEB服务就打开了。WEB服务的缺省根目录是/var/www,配置文件是/var/www/conf/httpd.conf。
4. 匿名FTP服务
首先要增加一个用户名ftp,但是为了安全原因,这个用户不允许登陆,仅仅作为匿名FTP使用:
a) echo /usr/bin/false >;>; /etc/shells
这是允许/usr/bin/false作为用户的shell
b) 添加一个用户ftp,属于ftp组,HOME为/home/ftp,注意将该用户的shell设置为/usr/bin/false,这样ftp用户就不能登陆到系统了。
再建立一些目录:
c) mkdir /home/ftp/pub
chmod 555 /home/ftp/pub
这个目录对所有人都是只读的,提供下载。
d) mkdir /home/ftp/incoming
chmod 777 /home/ftp/incoming
这个目录对所有人都是可写的2,提供上传和下载。
然后是设置ftpd的启动:
e) 编辑/etc/rc.conf,找到ftpd_flags,修改为ftpd_flags="-DllUSA"。
这些参数将使得ftpd作为守护进程启动,只允许匿名FTP,并且会将详细的连接、使用情况记录到/var/log/ftpd和/var/log/xferlog中。
最后,还有一些信息文件可以修改:
f) /etc/ftpwelcome
当用户使用ftp客户端软件连接到服务器后,显示的欢迎信息。
g) .message
/home/ftp下面的任何目录里都可以有这个文件,用户进入这个目录后就会显示这个文件的内容。
5. 动态域名解析
一般宽带接入商不一定提供固定IP给用户,每次开机动态分配的IP都有可能不同。为了方便外界连接,最好有一个动态的域名解析。Internet上提供免费域名解析的服务商很多,这里我们以hammernode为例介绍一下如何配置动态域名解析。
首先是申请一个免费的域名。访问hammernode的主页http://www.hn.org,点击Create an Account申请一个帐号。具体过程并不复杂,这里从略。假设申请到的用户名是someuser,那么我们就有了一个someuser.hn.org的域名。
然后我们要设置OpenBSD在启动获得DHCP分配的IP地址后,自动去更新someuser.hn.org对应的IP地址,我们可以在/etc/rc.local的末尾运行一个程序来完成这个更新。
# Register someuser.hn.org with IP address of ne4 interface
if [ -x /usr/local/sbin/hn-register.pl ]; then
/usr/local/sbin/hn-register.pl &
fi
在服务器关机的时候,有必要将someuser.hn.org动态域名关闭,不知情的使用者连接到别的主机上去,修改/etc/rc.shutdown,在末尾加上:
# Turn off someuser.hn.org IP address
if [ -x /usr/local/sbin/hn-turnoff.pl ]; then
/usr/local/sbin/hn-turnoff.pl
fi
上面的hn-register.pl和hn-turnoff.pl是根据
http://www.technopagan.org/software/hammernode.pl
改写的,这是一段用perl写的简单程序(必须先安装perl的package)。 hn-register.pl是连接到服务器,提供用户名和密码后,服务器会根据探测到的IP地址,自动进行注册,5分钟之内会生效。Hn- turnoff.pl是将IP地址注册为指定的0.0.0.0。
![nixsky[www.nixsky.com]](/templets/images/toplogo.gif)

