求在linux9上架设DNS服务器和email服务器的详细教程

求在linux9上架设DNS服务器和email服务器的详细教程,第1张

在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

mail

aiy@aiycom

123

(标题)

123

(内容)

ctrl+d

然后信息就发完了

TT终于轮到测试了~

su

aiy

切换到aiy用户

mail

查看aiy用户的mail

=

=这样就完了现在发现aiy里面有份root邮件吧TT

还能输入

8917

字-

-不知不觉打了很多字了=

=

我QQ

1842534312不懂可以问我

-0-可以转载~但是请保留全部

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 求在linux9上架设DNS服务器和email服务器的详细教程

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情