则在控制台下键入:netconf后输入详细的DNS信息后,即在此选项:Domain Name Server (DNS)里配置DNS的相关信息后,再在控制台下输入命令:ndc restart 后就会在"/var/named"目录下自动生成“正向解析”和“反向解析”的2个文件,文件名应该是:“192.168.0”和“mydomain.com",你只需按照下面的格式添写就可以完成DNS的配置了。你也可以任意给这两个文件起名,只要你能看得懂就可以,但一定要在文件named.conf中对应上。
三、上述5个文件的内容如下:
1、named.boot
;
;a caching only nameserver config
directory /var/named (告诉LinuxDNS配置文件存放的位置)
chace named.ca
primary 0.0.127.in-addr.arpa named.local
primary mydomain.com mydomain.com
primary 0.168.192.in-addr.arpa 192.168.0
#下面这两行的功能是把本地解析不了的域名就送到外部去解析,主要用于局域网中的主机
forwardes mydomain.com
options forward-only
2、named.conf
;
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.ca";
};
zone "mydomain.com" {
type master;
file "mydomain.com";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "192.168.0";
};
3、named.local
@ IN SOA localhost.root. localhost (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
4、正向解析文件:mydomain.com
@ IN SOA myname.mydomain.com root.myname.mydomain.com (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
NS myname.mydomain.com.
MX 10 myname.mydomain.com.
;
localhost IN A 127.0.0.1
myname IN A 192.168.0.88
www IN A 192.168.0.88
mail IN A 192.168.0.88
ftp IN A 192.168.0.88
;
myname CNAME myname.mydomain.com.
www CNAME myname.mydomain.com.
mail CNAME myname.mydomain.com.
ftp CNAME myname.mydomain.com.
5、反向解析文件:192.168.0
@ IN SOA myname.mydomain.com root.myname.mydomain.com (
2.修改:73 line: 一般不需要修改,除非你的系统不能自动找到你的domain
# my official domain name
# ... define this only if sendmail cannot automatically determine your domain
#Dj$w.Foo.COM
3.修改: 80 line: 我们清空这个定义
# "Smart" relay host (may be null)
#DSmailhost.$m
DS
4.修改:120 line:
# who I masquerade as (null for no masquerading) (see also $=M)
DMabc.com
E.测试
1.
bash-2.03$ telnet solaris8.abc.com 25
Trying 132.254.254.76...
Connected to solaris8.abc.com.
Escape character is '^]'.
220 solaris8.abc.com ESMTP Sendmail 8.9.3+Sun/8.9.3; Thu, 2 Nov 2000 10:26:05 +)
help
214-This is Sendmail version 8.9.3+Sun
214-Topics:
214- HELO EHLO MAIL RCPT DATA
214- RSET NOOP QUIT HELP VRFY
214- EXPN VERB ETRN DSN
214-For more info use "HELP ".
214-To report bugs in the implementation contact Sun Microsystems
214-Technical Support.
214-For local information send email to Postmaster at your site.
214 End of HELP info
quit
221 solaris8.abc.com closing connection
Connection closed by foreign host.
bash-2.03$
2.
bash-2.03$ telnet solaris8.abc.com 110
Trying 132.254.254.76...
Connected to solaris8.abc.com.
Escape character is '^]'.
+OK QPOP (version 3.0.1) at solaris8.abc.com starting.
quit
+OK Pop server at solaris8.abc.com signing off.
Connection closed by foreign host.
bash-2.03$
搞定Sendmail邮件权限控制
出自:LINUX伊甸园 2002年04月04日 17:55
在当今网络的应用中,安全是越来越显出它的重要性了。而E-mail服务是网络世界的一项十分有价值的应用,同样它受到的安全上的威胁也越来越大。从邮件中,黑客们可以采取各种各样的方式来寻找你网络系统上的安全漏洞并实施攻击。比如说,通过在短时间内连续发送大量的垃圾邮件,可以导致你的邮件服务器系统崩溃;另外有些邮件发送者可以利用你的邮件服务器作他们的代理转发系统,这也可能让你系统“蒙受不白之冤”。还有一种情况是,有些站点发来的邮件是不可靠或者非法的,这也需要得到有效的控制。那么怎样能够实现这些对邮件的控制呢? 一、Sendmail出场 这里我们就来探讨怎样在Linux平台上用Sendmail邮件程序来完成这项功能。由于篇幅所限,现在我们只可能就其很小的一部分功能作一些简要介绍。 我们假定你有一台服务器,并且已经安装好了Sendmail软件(推荐为8.9.x以上的版本),可以实现收发邮件的功能。子网内部机器都可以通过而且必须通过该服务器的邮件代理来发送和接收Internet上的邮件。我们以Sendmail的标准配置为参照,看看如何实现对SMTP邮件的中继转发控制。在安装完Sendmail后,我们在/etc/mail(这是默认目录)下,可以找到几个用来控制的数据库及其编辑文件,包括mailer、deny、access等。其中access库即是我们本文讨论的重点。当我们用vi access查看该文件时,可以看到如下一些默认行(注:这里示例的sendmail版本是8.9.3): localhost.localdomain RELAY localhost RELAY 这些默认行说明对你的本域内机器可以实现转发,我们下面的工作就是要对该文件进行加工编辑,以实现对邮件传输的权限控制,从而保证一定的系统安全性。 二、走进邮件数据库 我们仍旧以vi access命令来实施对文件的编辑。首先简单说明一下access数据库的作用及基本形式。access库允许系统管理者按照自己的策略决定是否允许其它域的邮件服务器或邮件地址访问。这个数据库中的每条记录包括一个域名(或者网络名、子网名以及直接的邮箱地址等)作为关键字,以及一项针对该关键字的行动值(即对关键字表示的地址采取什么样的控制方法),它们以TAB键分隔。在默认行中,我们看到的localhost localdomain、localhost都是关键字,而relay则是相应的行动值。 关键字可为多种形式,如完全或部分域名、直接的邮箱地址、IP地址等,例如: host.subdomain.domain.com,subdomain.domain.com或domain.com都是符合要求的关键字,同样,user@host.domain,@host.domain,205.199.2.250,205.199.2,205.199也都是合法的关键字。 由此可见,关键字的匹配项很多,这就大大提高了程序对邮件的控制功能。范围或大或小,都可以由我们灵活控制,确实不错!以下我们便可根据自己系统的需要分别对这些关键字作权限控制,具体来说,行动值有四类:其中的relay,我们已经在文件的默认值中见过了,它表示允许通过你的邮件服务器对邮件作中继转发。其它的三类分别为ok、reject和discard。别小看就这么几项,但实现的功能可不小哦。ok是用来允许用户的任意访问,它会覆盖任何其它已建立的检查(实际设置中,最好别设这项,除非你对该用户是绝对信任的);reject可以实现对来访地址的拒绝,它根本就不容许该地址与你的邮件服务器进行连接通信;如果你想对来访地址耍一个小花招,那么选择discard就再合适不过了,它的作用是在接收到传输的邮件消息后,偷偷地把它丢弃掉(在发送者看来,他的邮件的确是接收了,但他并不知道,发送的目的地址根本不可能接收到他的邮件,服务器巧妙地欺骗了他,这就叫以其人之道还治其人之身!)。除了以上介绍的这四类以外,还可以通过传递出错端口标志和出错信息来拒绝接收邮件。 三、动手做实例 我们下面就来看一看几个例子: cyber.com reject sendmail.org relay my@sendmail.org ok spam@buyme.com discard 202.103.109.35 reject 202.103 relay @buyme.com 550 You don't see the whole world! (注:四个行动值不区分大小写。) 你可以根据你的需要加入合适项以实现邮件权限的设置。为了给大家一个整体的概念,让我们再看一个完整的access文件(已经作了各种限制的): # Check the /usr/doc/sendmail-8.9.3/README.cf file for a description # of the format of this file. (search for access_db in that file) # The /usr/doc/sendmail-8.9.3/README.cf is part of the sendmail-doc # package. # # by default we allow relaying from localhost... localhost.localdomain RELAY localhost RELAY # #other control measures to your email system spamer@playboy.com reject webmaster@sendmail.org ok 202.103.109.8 relay @bad.com 550 You are a bad user! Dis.xq.com discard 完成了对access文件的编辑之后,可千万不要以为就万事大吉了。还有一个非常重要的步骤,那就是把修改的内容写到access数据库中去以使之生效。具体的实现方法是:在命令符下,输入makemap -v hash /etc/mail/access〈 /etc/mail/access,然后系统会给出相应的响应信息,如果结果类似以下这个样子: key=′localhost.localdomain′, val=′RELAY′ key=′localhost′, val=′RELAY′ key=′spamer@playboy.com′, val=′reject′ key=′webmaster@sendmail.org′, val=′ok′ key=′202.103.109.8′, val=′relay′ key=′@bad.com′, val=′550 You are a bad user!′ key=′dis.xq.com′, val=′discard′ 那就表示一切正常!最后请重新启动Sendmail服务,剩下你要做的就是好好享受一下你的工作成果了! 附记:本篇文章完成之际,正值Sendmail 8.10.0全新推出,该版本据说功能较以前有大幅提升。对于本文所涉及的access控制,新的Sendmail版本已经可以实现对邮件收取和发送分别作不同的控制,如下: To:file.example.net RELAY From:file.example.net RELAY 第一条记录允许对去向file.example.net域的邮件作转发,但不允许对来自此域的邮件作转发;而第二条记录则正好相反