求在linux9上架设DNS服务器和email服务器的详细教程
在Linux中配置DNS
----DNS的功用是把计算机的名称转换为 IP地址。DNS的使用简化了系统管理员及客户对主机文件的操作和维护。
Intranet服务器的系统配置
----硬件配置:Pentium 133 CPU,32MB内存,21G硬盘,16倍速IDE光驱。
----操作系统:Red Hat Linux 51内核升级为223版。
----软件包:Apache Web Server 136;Sendmail 893; Wu-Ftp 242;DNS。
----1.安装Red Hat Linux 51
----参考README文件,用DOS启动盘引导,并将光驱驱动,执行\dosutils\autoload,依照提示进行安装。软件包选 WWW、Sendmail、 Ftp、 DNS等,在启动栏选中inetd、httpd、named、sendmail、 snmp、syslog等。
----2.网卡配置
Config mode: manual
Primary name + domain: Linuxqxjgovcn
Aliases:qxj_Linux
IP address:1921680100
Netmask:2552552550
Net device:eth0
Kernel module:3c509
I/O port:0x210
Irq:11
----缺省网关为:19216801。
DNS的设置
----1.有关参数
域名: qxjgovcn
WWW服务器: wwwqxjgovcn
Ftp服务器: ftpqxjgovcn
Mail服务器: mailqxjgovcn
----2.配置DNS
----①编辑/etc/namedboot,使之为:
directory /var/named
;cache namedca
primary 00127in-addrarpa namedlocal
primary qxjgovcn qxjgovcn
----②检查/etc/hostconf内容为:
order host, bind
multi on
----③检查文件/etc/resolvconf为如下内容:
search qxjgovcn
nameserver 127001
----④编辑或建立/etc/namedconf,内容为:
options {
directory/var/named;
};
zone00127in-addrarpa {
type master;
filenamedlocal;
};
zoneqxjgovcn {
type master;
fileqxjgovcn;
};
----⑤检查/var/named/namedlocal内容为:
@ IN SOA nsqxjgovcn hostmasterqxjgovcn (
1997022700; Serial
28800; Refresh
14400; Retry
3600000; Expire
86400); Minimum
IN NS nsqxjgovcn
1 IN PTR localhost
----⑥编辑或建立文件/var/named/qxjgovcn:
@ IN SOA nsqxjgovcn hostmasterqxjgovcn (
199904261 ;Serial
28800;Refresh
7200;Retry
3000000;Expire
86400);Minimum
IN NS nsqxjgovcn
IN MX 10 mail
IN MX 20 qxjgovcn
localhost A 127001
ns A 1921680100
qxjgovcn A 1921680100
mail A 1921680100
news CNAME ns
ftp CNAME ns
www CNAME ns
pc1 A 19216805
pc2 A 19216806
winnt A 192168010
----设置完成后,执行ndc restart重新启动DNS。
----3.检查DNS
----执行nslookup,结果应与以下内容相似,说明你已成功了。
$ nslookup
Default Server: localhost
Address: 127001
> set q=any
> qxjgovcn
Server: localhost
Address: 127001
qxjgovcn
origin = ns qxjgovcn
mail addr = hostmasterqxjgovcn
serial = 199904261
refresh = 28800(8 hours)
retry = 7200(2 hours)
expire = 3000000(34 days 17 hours 20 mins)
minimum ttl = 86400(1 day)
qxjgovcn nameserver = nsqxjgovcn
qxjgovcn internet address = 1921680100
qxjgovcn nameserver = nsqxjgovcn
nsqxjgovcn internet address = 1921680100
>exit
快速配置Postfix邮件服务器
Postfix最被人称道的地方就在于其配置文件的可读性很高。Postfix的主配置文件是/etc/postfix/maincf。
在maincf文件中,参数都是以类似变量的设置方法来设置的,这些参数的使用主要包含两部分的内容:
(1)定义和声明变量:例如definename = good-better-best。等号左边是变量的名称,等号右边是变量的值。
(2)引用变量:可以在变量的前面加上符号“$”来引用该变量,如:myname = $ definename(相当于definename = good-better-best)。
需要注意的是:等号两边需要有空格字符。此外,如果变量有两个以上的设置值,就必须用逗号“,”或者空格符“ ”将它们分开。
在熟悉了上述变量的定义和引用方法后,下面详细介绍如何安全、高效地配置Postfix服务器的相关选项。
1.设置Postfix服务监听的网络接口
默认情况下,inet_interfaces参数的值被设置为localhost,这表明只能在本地邮件主机上寄信。如果邮件主机上有多个网络接口,而又不想使全部的网络接口都开放Postfix服务,就可以用主机名指定需要开放的网络接口。不过,通常是将所有的网络接口都开放,以便接收从任何网络接口来的邮件,即将inet_interfaces参数的值设置为“all”,如下所示:
inet_interfaces = all
2.安全设置可接收邮件的主机名称或域名
mydestination参数非常重要,因为只有当发来的邮件的收件人地址与该参数值相匹配时,Postfix才会将该邮件接收下来。通过该选项的设置可以过滤掉许多没有经过认证和授权的邮件,从而节省服务器的存储空间,以及节省用户的邮件处理时间。
举一个简单的例子,用户可以将该参数值设置为如下:
accept_domain = testnet
mydestination = $accept_domain
这就表明无论来信的收件人地址是X@testnet(其中X表示某用户在testnet域中的邮件账户名),Postfix都会接收这些邮件。而除此之外的邮件,Postfix都不会接受。
3.安全设置可转发邮件的网络(IP设置)
有关安全设置可转发邮件的网络可以使用mynetworks参数来设置。可将该参数值设置为所信任的某台主机的IP地址,也可设置为所信任的某个IP子网或多个IP子网(采用“,”或者“ ”分隔)。
比如,用户可以将mynetworks参数值设置为172168960/24,则表示这台邮件主机只转发子网172168960/24中的客户端所发来的邮件,而拒绝为其他子网转发邮件:
mynetworks = 172168960/24
除了mynetworks参数外,还有一个用于控制网络邮件转发的参数是mynetworks-style,它主要用来设置可转发邮件网络的方式。通常有以下三种方式:
(1)class:在这种方式下,Postfix会自动根据邮件主机的IP地址得知它所在的IP网络类型(即A类、B类或是C类),从而开放的它所在的IP网段。
(2)subnet:这是postfix的默认值,postfix会根据邮件主机的网络接口上所设置的IP地址、子网掩码来得知所要开放的IP网段。
(3)host:在这种方式下,postfix只会开放本机。
通常,用户一般不需要设置mynetworks-style参数,而直接设置mynetworks参数。如果这两个参数都进行了设置,那么mynetworks参数的设置有效。
4.设置可转发邮件的网络(域名设置)
上面介绍的mynetworks参数是针对邮件来源的IP来设置的,而relay_domains参数则是针对邮件来源的域名或主机名来设置的,其实从原理上来说是一致的,不过是区分了IP地址和域名而已,不过,relay_domains还需要依赖DNS这个基础设施。
例如,用户可以将relay_domains参数值设置为testnet,则表示任何由域testnet发来的邮件都会被认为是信任的,Postfix会自动对这些邮件进行转发,如下所示:
relay_domains = testnet
那么,要使它能在实际网络中更好地转发邮件,还必须进行相应的DNS设置。那么,需要在该网络的DNS服务器上定义了一个主区域testnet,并在该区域配置文件中定义了以下记录:
//定义邮件服务器的IP地址
pattersontestnet IN A 17216896254
//定义邮件服务器的别名
mailtestnet IN CNAME pattersontestnet
//定义优先级别
testnet IN MX 10 mailtestnet
上述记录只对邮件服务器进行了定义,还有诸如SOA、NS等的定义,在这里就不再赘述。
配置Postfix使用SMTP安全认证
Postfix默认不会对外开放转发功能,而仅对本机(localhost)开放转发功能。但是,在实际应用中,必须在Postfix主配置文件中通过设置mynetworks、relay_domains参数来开放一些所信任的网段或网域,否则该邮件服务器几乎没有什么用处。在开放了这些所信任的网段或网域后,还可以通过设置SMTP认证,对要求转发邮件的客户端进行用户身份(用户账户名与密码)验证。只有通过了验证,才能接收该用户寄来的邮件并帮助转发。同样,Postfix中目前比较常用的SMTP认证机制是通过Cyrus SASL包来实现的。
默认情况下,Postfix并没有启用SMTP认证机制。要让Postfix启用SMTP认证,就必须对Postfix的主配置文件/etc/postfix/maincf进行修改。用户需要在maincf文件中添加如下有关SMTP认证的设置部分:
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = ''
smtpd_recipient_restrictions = permit_mynetworks
permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients=yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous
其中,每个选项的具体含义如下:
(1)smtpd_sasl_auth_enable:指定是否要启用SASL作为SMTP认证方式。默认不启用,这里必须将它启用,所以要将该参数值设置为yes。
(2)smtpd_sasl_local_domain:如果采用Cyrus-SASL版进行认证,那么这里不做设置。
(3)smtpd_recipient_restrictions:表示通过收件人地址对客户端发来的邮件进行过滤。通常有以下几种限制规则:
permit_mynetworks:表示只要是收件人地址位于mynetworks参数中指定的网段就可以被转发邮件。
permit_sasl_authenticated:表示允许转发通过SASL认证的邮件。
reject_unauth_destination:表示拒绝转发含未信任的目标地址的邮件。
(4)broken_sasl_auth_clients:表示是否兼容非标准的SMTP认证。有一些Microsoft的SMTP客户端采用非标准的SMTP认证协议,只需将该参数设置为yes就可解决这类不兼容问题。
(5)smtpd_client_restrictions:表示限制可以向Postfix发起SMTP连接的客户端。如果要禁止未经过认证的客户端向Postfix发起SMTP连接,则可将该参数值设置为permit_sasl_authenticated。
(6)smtpd_sasl_security_options:用来限制某些登录的方式。如果将该参数值设置为noanonymous,则表示禁止采用匿名登录方式。
在完成上述设置后,必须使用
/etc/initd/postfix reload
重新载入配置文件,或使用
/etc/initd/postfix restart
重新启动Postfix服务,以使该配置生效。这两个命令的具体使用需要根据不同的Linux版本来选用。
此外,由于当Postfix要使用SMTP认证时,会读取/usr/lib/sasl2/smtpdconf文件中的内容,以确定所采用的认证方式,因此如果要使用saslauthd这个守护进程来进行密码认证,就必须确保/usr/lib/sasl2/smtpdconf文件中的内容为:
pwcheck_method: saslauthd
1配置postfix
a /etc/postfix/maincf
配置mydomian(域名),myhostname,myorigin,inet_interfaces=all(其他关闭),mynetworks-style,mydestination,mynetworks,relay_domains,home_mailbox
配置主机名和域名 mydomain myhostname
设置由本机寄出的邮件所使用的域名或主机名称 myorigin
设置postfix服务监听的网络接口 inet_interfaces
设置可接受邮件的主机名称和域名 mydestination
设置可以转发哪些网络的邮件 mynetworks
设置可以转发哪些网域的邮件 relay_domains = sinacn
b验证:
telnet localhost 25
mail from:sun@baiducom(发件人任意)
rcpt to:user1@mail1991syjcom(收件人创建的名字和设置好的域名)
data(输入信息)
(结束输入)
quit(离开)
2配置dovecot
yum install -y dovecot
a配置文件:a vim /etc/dovecot/dovecotconf (protocols = imap pop3)
b vim /etc/dovecot/confd/10-authconf
(disable_plaintext_auth = no)
c vim /etc/dovecot/confd/10-mailconf
(mail_location = maildir:~/Maildir)地址要和postfix服务器配置文件中的home_mailbox地址一致
d vim /etc/dovecot/confd/10-sslconf
(ssl = yes)
e vim /etc/pamd/dovecot (查看pam认证文件)
b验证:
[root@CentOS6 ~]# telnet localhost 110
Trying ::1
Connected to localhost
Escape character is '^]'
+OK Dovecot ready
user user1
+OK
pass 123
+OK Logged in
list
+OK 4 messages:
1 472
2 458
3 464
4 464
retr 3
+OK 464 octets
Return-Path: <sadsz2@asdcom>
X-Original-To: syj@mail1991syjcom
Delivered-To: syj@mail1991syjcom
3邮件客户端的配置
a 关闭防火墙,selinux
b 设置收发邮件服务器
我这里是用的foxmail 看我的截图
这样就可以了
Linux什么系统的?如果是AS55的话那我现在在下面打的就是=
=
十分还真不好拿啊~建议LZ加点分-
-看在写的那么辛苦的份上
物理机IP:19216810100
域名:wwwaiycom
首先先设置DNS
mkdir
/mnt/cdrom
mount
-t
iso9660
/dev/cdrom
/mnt/cdrom
(挂载ISO因为我用的是虚拟机=
=没有光盘)
cd
/mnt/cdrom/Server/
rpm
-ivh
caching-chroot-933-7el5i386rpm
rpm
-ivh
bind-
vim
/etc/namerfc1912zones
=
=里面配置文件太长了直接说哪一行吧-
-反正都差不多~只要是AS55的话
15行:localdomin修改为aiycom
17行:localdomainzone改为aiycomzone
27行:00127改为本地前三位倒过来10168192
29行:namelocal改为19216810zone
输入Shift+;
然后输入wq!强制保存并退出
vim
/etc/namedcachingnameserverconf
15行127001改为any
23行localhost改为any
32行、33行localhost改为any
cd
/var/named/chroot/var/named
cp
-p
localdomainzone
aiycomzone
cp
-p
namedlocal
19216810zone
vim
aiycomzone
在最后加mail
(TAB键对齐就好了)
IN
A
19216810100
aiycom
IN
MX
5
mailaiycom
同样
输入Shift+;
然后输入wq!强制保存并退出
vim
19216810zone
同样在最后加100
IN
PTR
mailaiycom(注意空格同样是tab)
输入Shift+;
然后输入wq!强制保存并退出
(=
=下面的话这两句忽略掉了太麻烦了)
ln
-s
aiycomzone
/var/named/
ln
-s
1921683zone
/var/named/
vim
/etc/resolvconf
nameserver
19216810100
service
named
restart
试试
nslookup
mailaiycom
=
=DNS打完然后MAIL等下继续先提交保存=
=
-
-现在继续
-
-继续挂载省略了直接安装
cd
/mnt/cdrom/Server
rpm
-ivh
m4-
rpm
-ivh
sendmail-
(一开始安装系统时候我没安装所以现在挂载~如果一开始有选sendmail的话54掉就可以了=
=再次~)
前面其实就设置好了mail服务的DNS
cd
/etc/mail
vim
local-host-names
在最下面输入aiycom
vim
sendmailmc
116行127001改为0000
m4
sendmailmc
>
sendmailcf
cd
/etc/initd
/saslauthd
restart
/sendmail
restart
/dovecot
restart
useradd
aiy
建立aiy用户
passwd
aiy
123456
123456
用户aiy密码设置为123456
aiy@aiycom
123
(标题)
123
(内容)
ctrl+d
然后信息就发完了
TT终于轮到测试了~
su
aiy
切换到aiy用户
查看aiy用户的mail
=
=这样就完了现在发现aiy里面有份root邮件吧TT
还能输入
8917
字-
-不知不觉打了很多字了=
=
我QQ
1842534312不懂可以问我
-0-可以转载~但是请保留全部
0条评论