Red Hat 9下openwebmail+sendmail配置
一、为ec.com配置DNS 服务器(限于局域网内部)
1、安装DNS 套件 :BIND
这个套件是配置DNS 服务器所必需的。使用RPM 来检验一下:
[root@appserver etc]# rpm -qa | grep bind
bind-utils-9.2.2-21 <=这个是用来作为 Client 端搜寻domain name 的指令
redhat-config-bind-2.0.0-14
ypbind-1.12-5
bind-9.2.2-21 <=这个是用来安装 Server 的
基本上,BIND的主要设定档为/etc/named.conf,各种针对主机的设定值都在这个档案中设定!但是具体的hostname<——>IP 的对应关系,则是由zone 来设定的!但是注意的是:这个zone 的档案名称则是需要在/etc/named.conf 里面命名好。zone 的档案一般放置在/var/named 里面。
2、设定部分
DNS server 的类型分为三类:Master\Slave\Cache-only
由于我们只有一部主机提供DNS 服务,所以采用的是Master
A.手动规划hostname 与IP 的对应表
这里我们的domain name(域名)是ec.com,网域为192.168.0.0/256,只是设定一部电脑,为:
电脑系统 电脑IP 电脑名称 说明
Red Hat 9 192.168.0.10 mail.ec.com 这台电脑即我们DNS 主机,名称为mail.ec.com
B.设定/etc/named.conf 档案
在档案里加入下面代码,即定义出我们自己的的一组正反解设定,就是所谓的 zone
zone "ec.com" IN { //这个 zone表示domain name 为ec.com ,正解
type master;
file "named.ec.com"; //zone 对应的档案名,可以随便取,档案位于/var/named
};
zone "0.168.192.in-addr.arpa" IN { //反解的IP 网段!那个in-addr.arpa是固定的IP 段写法!
type master; //注意,它是192.168.0 反过来写的 0.168.192,最后一定加上in-addr.arpa
file "named.192.168.0";
};
C.创建/var/named/named.ec.com 档案 (即与上面/etc/named.conf 档案里的zone 对应)
代码如下:
$TTL 86400 //这个和清除 cache的时间有关系,单位是秒,一般设为一天
@ IN SOA mail.ec.com. root.mail.ec.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ IN NS mail.ec.com. //指明管理域名ec.com 的主机为mail.ec.com
@ IN MX 10 mail.ec.com. //指明user@ec.com 的邮件服务器为mail.ec.com
mail IN A 192.168.0.10 //指明mail.ec.com主机的IP 地址
一些相关说明:
@ 这个即代表 zone里定义的东西。以这个档案为例,因为我们在/etc/named.conf里定义出ec.com 这个
domain name 为一个zone 的,所以,在这里,@代表的就是 ec.com
SOA ¥即Start of Authority 的缩写。这个东西在每个zone 的设定档里都会出现
¥SOA后面会接两个名称,第一个为主机名称,注意的是在mail.ec.com后面有个小数点(。)它代表一个完整的hostname + domain name !如果没有加上(。)的话,那么就表示仅为 hostname ,还需要加上 domain name !例如这里我们不加的话,系统就会认为主机名为mail.ec.com.ec.com!第二个为管理员的email!因为不能使用@,所以这里同样用(。)来代替!
D.创建/var/named/named.192.168.0 档案 (同样与上面/etc/named.conf 档案里的zone 对应)
代码如下:
$TTL 86400
@ IN SOA mail.ec.com. root.mail.ec.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ IN NS mail.ec.com.
10 IN PTR mail.ec.com. //指明192.168.0.10反解为mail.ec.com
F.启动 named与port (DNS 服务在53 端口)
[root@appserver root]# /etc/rc.d/init.d/named start
named 已经在运行
[root@appserver root]# netstat -tuln | grep 53
tcp 0 0 192.168.0.10:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN
udp 0 0 192.168.0.10:53 0.0.0.0:*
udp 0 0 127.0.0.1:53 0.0.0.0:*
3、Client 端的设定
这里我们测试是在同一台Linux 机器上,所以要修改/etc/resolv.conf .这个档案指定DNS 主机的IP ,Client端正是用这里面设定的IP 去追踪名称解析的。
[root@appserver root]# vi /etc/resolv.conf
加入(不是覆盖为!!)下面这一行代码:
nameserver 192.168.0.10
在windows 下面即将DNS 主机地址设为 192.168.0.10
最后我们来测试一下:
[root@appserver root]# host mail.ec.com
mail.ec.com has address 192.168.0.10
[root@appserver root]# host 192.168.0.10
10.0.168.192.in-addr.arpa domain name pointer mail.ec.com.
[root@appserver root]# nslookup mail.ec.com
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
Server: 192.168.0.10
Address: 192.168.0.10#53
Name: mail.ec.com
Address: 192.168.0.10
一切正常!!
二、配置sendmail
1、安装sendmail、IMAP套件
Red Hat 9 已经默认安装,检查一下先:
[root@appserver root]# rpm -qa | grep sendmail
sendmail-cf-8.12.10-1
sendmail-8.12.10-1
[root@appserver root]# rpm -qa | grep m4
m4-1.4.1-13
[root@appserver root]# rpm -qa | grep imap
php-imap-4.3.2-8.ent
imap-2002d-2
[root@appserver root]# rpm -q mailx
mailx-8.1.1-31
2、修改主要配置档案
A.寻找档案的?容
[root@appserver root]# cd /etc/mail
[root@appserver mail]# vi sendmail.mc
找到下面这一段:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
将他删除
B.重新制作档案:
[root@appserver mail]# m4 sendmail.mc > sendmail.cf
3、启动 Mail Server
A、启动sendmail
# /etc/rc.d/init.d/sendmail start
B、启动 POP3 服务
[root@appserver root]# cd /etc/xinetd.d
[root@appserver xinetd.d]# vi ipop3
修改见下:
service pop3
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/ipop3d
log_on_success += HOST DURATION
log_on_failure += HOST
disable = no <--默认为yes,改为no!!
}
修改完毕后需要重新启动xinetd 使修改起作用
# /etc/rc.d/init.d/xinetd restart
C、启动imap 服务
同上,只是档案是imap
D、[root@appserver xinetd.d]# netstat -tl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:pop3 *:* LISTEN
tcp 0 0 *:imap *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
4、设定主机名称
[root@appserver xinetd.d]# cd /etc/mail
[root@appserver mail]# vi local-host-names //在里面增加主机名称
mail.ec.com
5、设定邮件服务器使用权限/etc/mail/access
由于只是局域网内部使用,并不寄信到外部,所以不涉及到relay 的功能,所以这里不做改动。当然也可以reject/discard 内部的一部分IP 的发信,用不着。
6、设定使用者别名/etc/aliases
A、群发功能 (当帐号过多不好维护时,可以用include 的功能导入相关连的档案)
/etc/aliases 的语法如下:
在邮件上面的收件者帐号: 真实帐号1,真实帐号2,真实帐号3......
pm: pm1, pm2, pm3......
这样发给pm@ec.com的邮件就会复制成三份,分别发给pm1@ec.com,pm2@ec.com,pm3@ec.com
命令如下:
# vi /etc/aliases //在里面加入下面行
pm: pm1,pm2,pm3
#newaliases //这行命令很重要!更新作用!!
B、别名设定
命令