如何在家搭个小型服务器?
送你一个神器, wgcloud监控系统 ,免费的,只要是服务器,肯定选它就没错了。
我们项目中就用的它,主要是领导喜欢它的UI风格,它用户体验做的确实也好。
它能对服务器各种指标进行实时监测,比如cpu,内存,磁盘,网络流量等,部署简单,上手容易,虽然是英文名字,但却是地地道道的国产软件,运行几乎不占用资源,性能超好。
搭建家庭小型服务器,建议搭建黑群晖系统,对于离线下载高清**,大容量素材的存储十分方便,对于黑群晖系统的搭建,下面和朋友们简单谈一下:
1选择主板CPU套装
由于群晖系统对于硬件要求较低,一般主要考虑搭建低功耗平台,推荐使用华擎j3455B-ITX CPU主板套装,对于群晖系统的兼容性较好,功率较低,比较省电。
选择专用的黑群晖机箱和电源
根据硬盘的数量和个人偏好选择相应盘位的黑群晖机箱,并选择和机箱配套的电源即可。
内存黑群晖系统对于内存要求不高,一般选择2g内存就可以满足需要,也可以根据需要选择4g内存。
组装黑群晖电脑
硬件准备齐全后就可以组装黑群晖电脑了,和普通电脑装机差别并不是很大。
安装黑群晖系统黑群晖电脑组装成功后,需要升级专用主板BIOS以兼容黑群晖系统。制作黑群晖系统启动U盘,并下载黑群晖系统镜像。用系统启动U盘启动黑群晖电脑后,在同一网络的电脑上使用群晖助手就可以将黑群晖系统镜像安装到黑群晖电脑中。详细教程网上都有,可以具体参考一下。
搭建黑群晖成本比购买白群晖要低很多,但功能方面基本相同,很适合高清影片离线下载和影视素材的存储。
建议你购买一款群晖Synology NAS,轻松搭建一个小型工作站,简单以我自己的群晖NAS做为简单演示。
首先你得购买一台群晖NAS,京东天猫都有旗舰店,作为家庭小型服务器的搭建对硬件配置要求不用太高,参考我的配置即可:
硬盘推荐选择大一些,比如我选择了3TB的两块硬盘,虽然贵点,但是一步到位,可以较长一段时间内足够放大量的和视频,我第一次因为没经验选择了1TB的硬盘,结果没用两年就空间不够了,不得不另外购置3TB的硬盘升级,幸好群晖升级硬盘非常省心,只需要将做RAID1的其中一块拆卸下来,放入一块新的硬盘,启动系统以后系统会自动提示有硬盘有冲突问你是否要fix,你就点击fix确定,然后系统会自动将其中一块旧硬盘的数据全部镜像到另外一块,等几个小时后彻底同步好了,再拆卸掉旧的,如法炮制装上另外一块空白硬盘再次同步,然后就成功将两块硬盘都升级为了3TB。
搭建好了NAS以后,就是通过远程访问了,一般如果默认只需要局域网访问就很简单,只需要将此NAS通过有线插入路由器,然后通过同一个局域网里的一台电脑通过浏览器远程访问此NAS,一般局域网内会默认通过: http://1921681105:5000的方式来访问,然后就是进行一些常规的设置,进入Synology自带的Pacage Center,去安装一些常用的套间,群晖最大的特点就是操作系统非常牛逼,自带的套间也非常多,有些还非常好用,比如最新推出的一款Drive,里边包含了类似Google Doc和Zoho Doc的Office套件,完全支持多人协同作业,用户体验一级棒,反正我用了这个套件以后,团队内部协作就再也没出现过问题了:
从上图可以看出,有了这个Drive套件以后,基本满足了我们整个团队内部的文档协作,而且极大的提高了协作效率,为此我们真的要给予Synology团队点一百个 。
同时Synology Pacake Center还有大量的多媒体套件,可以满足各种多媒体存储和展示需求,比如如下这些套件:
搭建一个家庭影音休闲中心是完全没问题的。
Synology还有一个很厉害的地方就是,可以通过设置,让外网轻松访问到,从此只要这台NAS开启,无论出差到哪里都可以轻松读取NAS上的任何文件,是不是很酷?
如上图所示,简单两步设置以后,就彻底将这台局域网内的NAS变成了一台对外的公网服务器,从此只要你将此NAS一直保持开机状态,无论你到天涯海角都可以轻松读取文件,存取文件,从此无需再装任何第三方随时可能坑爹的云服务了。
或许有些人会担心这种NAS的安全性,我可以负责任的高速你,Synology这套操作系统是基于Unix内核开发的,类似Mac一样的一个分支,稳定性和安全性都绝对没问题,而且有一点就是,你可以随时随地物理的接触到这台服务器,有任何问题可以随时拆卸查看硬件问题,况且如今这个时代硬件产生问题的可能性几乎很小很小,只要放置的地方保持一定的温度和干燥,基本和放机房没太大区别。
说了这么多可别以为我是在为群晖打广告,本人和群晖公司没有任何关系,只不过确实是这几年用下来的一个真实感受,不吐不快,希望能够帮到你,最后祝你好运。
“网络极客”,全新视角、全新思路,伴你遨游神奇的网络世界。
家庭小型局域网,往往在装修的时候,已经以弱电箱为汇聚点完成了综合布线。
其实,并不建议按照此种方式布局,但是没有办法,只能够按照装修的规划来布置了。
一起来看看,如何围绕着弱电箱来搭建家庭小型局域网吧。
整体网络布局思路具体设置
关于家庭小型局域网组网,是否海域更好的建议?
欢迎大家留言讨论,喜欢的点点关注。
既然你问的是小型的,那么这非常简单:
1)需要一台无线路由器。其中“无线”两个字,就意味着手机等等无线数码设备也可以连入局域网。
2)如果家里有电脑,除了可以通过无线网卡接入局域网外,更推荐用网线连接到路由器的LAN口上。一般路由器上有4个LAN口,即最多可以通过网线接入4台设备(如电视机、高清盒子、蓝光播放机……等等)。
3)如果希望用网线接入局域网的设备超过4台,那么可以增加一个交换机,网购价只需几十元。此时的连接方法是,用一根网线从路由器的LAN口接入交换机的任何一个接口上即可。此时其它要接入局域网的设备就可以通过交换机的网线口连接了。
我家就是这样连接的。我家除了各位家庭成员的手机和iPad等通过无线连接外,通过网线连接的设备有两台电脑、智能电视机、蓝光碟机、4K网络盒子、卡拉OK点歌机。
“IT狂人日志”来回答你这个问题,推荐你使用TrueNas,简单说几个优点:
1、开源,免费使用;
2、支持NFS,SMB、SCSI、WebDAV等多种协议,尤其是还支持:苹果文件协议(AFP),多平台使用非常方便;
3、安装部署简单。
建议采购一台群晖,或者威联通的NAS这样就什么都有了,php+mysql环境,tomcat环境,java都可以,要是对dock了解那就很快上手,再有文件共享,音频,视频服务,个人网站,wordprees,crm系统在NAS上都可以一键搭建,NAS可以做***服务器,邮件服务器,监控服务器,最关键是比较小巧不占地方,购买一台2盘位的足够用了,除非你要有大量小片放!
穷玩党,没钱买服务器,闲的蛋疼又不甘堕落的,在寝室或家里宽带60m,身边还有台电脑,梦想把家里的电脑 如何架设成服务器 自己当网管,肯定比买某云的强太多了,即使不能保障36524持续维护,但能够爽个一年半载也是不要不要的。即使不同的服务器提供的服务并不相同,但每种服务器由规划、架设到后续的安全维护, 流程是没太大差别的。
下面介绍一下第一种,操作的话还需自己琢磨。比如说光纤猫是网通的,有公有地址,平时用nat连接,本质就是端口映射,如果将光纤猫的某个固定端口,映射到自己电脑上的服务端口(就80吧),那应该就ok的,虽然正常是dhcp分配的,临时映射端口,但是提供映射的应该还是有的吧。想要原理,自己上网。网上有人成功把私有地址改成了公有地址,那就下面是过程。
1、直接输入网关地址登录进去了,进去直接看到一个应用的,端口是应用层的了。
2、然后,可以看到nat服务器,可以直接设置,添加,
3、外部端口就是猫的端口,也就是客户端访问的时候的端口了。初始和终止的,直接设置80,
4、然后,还要选择服务器,默认的就什么telnet之类的,直接其他服务器地址的话,选择电脑的地址。
5、确认了。设置好后,首先是进入状态,copy了下公有地址了(没有的话,就网上搜下查看自己的共有ip啥的就行了),
6、输入,如果成功,可以试试电脑、手机了,输入发现ok的话可以断下wifi,用的数据,如果,连接不上。首先,就apache(我用的wamp)是不是受限了,反正跟着网上的搞了很多httpdconf的东西,把所有的deny from all改成allow了,
7、如果不行就可能是防火墙了,电脑防火墙是关着的,测试了下把防火墙打开,还是不行。那就只能是猫的防火墙了。但是,一打开,发现猫的防火墙只有高中低,不能关闭,
8、还不行就是超级管理员的问题,但这个管理员才能修改,账户只能查看,也可以直接修改啊,
9、期间还可以把apache的权限搞一遍,重启几遍,还是不行就映射其他端口试试。可以把端口改成了8520,这自己调试。
解决了问题关键是到一千还是两千是熟知端口,到8000以上的,肯定是自定义端口了,最低级别就是屏蔽这些端口了。可能,nat映射,这些熟知端口就默认没拿来映射(现在只是光纤猫,如果是主机那就废了)所以,端口映射的时候,最好还是选择自定义端口的。
人名币玩家如何架设服务器?
只需要两步:1、购买服务器。2、搭建服务器。
1、先登录wenidccom/这个网站,在上面完成登录和注册,根据自己需要的产品进行充值。
2、充值后才可以购买服务器,要选择与我国关系友好的地区,如台湾等。在此选择香港。
3、服务器的类型(现在大多数的计算机都是64位操作系统的,所以一般选择64 bit os),但是由于在下面要在linux操作系统下远程部署服务器,所以选择apache。
4、选择服务器的大小,在这里进行付费,付费后如果感觉服务器不理想,可以删除服务器,再重新购买。
到此,服务器购买完成,接下来就是部署服务器了。
第二步:部署服务器
1、下载ftp(上传网站模板到服务器需要用到的软件)
2、安装后打开该软件,点击新建。
填写两项:名称(随意),主机(刚刚购买的服务器的IP地址)
在这里可以查到IP地址。输入完后点击确定。然后点击链接进入用户名界面,确认后开始输入密码。
那么如何查找密码呢点击刚刚购买的服务器 ,进入后即可找到密码。
复制代码,确定后,进入部署界面,表示与服务器连接成功。
3、部署服务器
完成后出现设置新密码的界面。
设置完密码出现设置端口的密码。
设置完端口后,出现以下几个界面直接回车确定
出现上面那张图像时表示部署成功。(最后的这个的这个图最好保留下来,因为其中包括很多重要信息。)
三、用shadowsocks登陆 客户端下载
第一次电脑系统使用SSR/SS客户端时,需要安装NETFramework 40,不然无法正常使用,微软官网下载。NET Framework 40是SSR/SS的运行库,没有这个SSR/SS客户端无法正常运行。有的电脑系统可能会自带NETFramework 40。
打开ssr,在对应的位置,填上服务器ip、服务器端口、密码、加密方式、协议和混淆。密码和端口就是在部署服务器的时候自己设置的。
您的服务器将需要每日备份。也可以购买相关备份的软件,但必须监控并保持备份安全。可以存储在当前服务器或将它们存储在不同的计算机上。备份的一个主要问题是传输文件和知道备份是否可行的时间。大多数公司不知道他们的备份在他们真正尝试恢复数据之前已经损坏。此时,如果备份损坏,则数据将丢失。
因此,在搭建服务器时,请确保考虑备份过程,并花时间验证备份是否可行。大多数调度软件还会对备份进行检查,以确保数据不被破坏,但只有在测试过以后才发现,想要免去备案及相关麻烦其实还是租用一台香港免备案服务器更划算一点,你觉得呢?
我有个案例,帮朋友公司弄的用了半年了还没有出现过问题叫我去维护的,我自己用了也两年了
需要的硬件大致列一下:
1、h61平台一套 一个质量好一点容量在32G—64G的固态(我跟我朋友的配置都是i3 8G的内存,区别:我是ASUS的普通主板,朋友用的是最便宜的Dell塔式服务器)
2、我用的是黑裙 ,玩nas谁不想省两个毛爷爷。当然还有其它的开源平台
3、固态硬盘写好引导,输入ip地址进入后台进行相关设置,只要主板的SATA接口多,电源功率够,硬盘数量不是问题,黑裙里面可以组软阵列
这是自己的
这是朋友公司的
家中搭建,最关键的是外部网络。公网IP的ddns和端口转发。
然后是内网。根据你的诉求,视频为主。那么内网传输速度非常关键。如果家中PC无法长期开机,可能需要买nas设备和千兆网卡等附属硬件了。买买买就可以。
如果是丐版能用就行。可以选择树莓派。300对块钱,待机才几瓦。
postfix的安装过程
31原始码包的安装
1. 获取postfix的原始码包
从postfix官方站点wwwpostfixorg取得postfix的原始码包postfix-19991231-pl08targz。将其拷贝到/tmp
2.解开原始码包,将生成/tmp/ postfix-19991231-pl08目录。
tar xvzf postfix-19991231-pl08targz
3.编译原始码包
cd /tmp/ postfix-19991231-pl08
make
4.建立一个新用户“postfix”,该用户必须具有唯一的用户id和组id号,同时应该让该用户不能登录到系统,也即不为该用户指定可执行的登录外壳程式和可用的用户宿主目录。我们能先用adduser postfix 添加用户再编辑/etc/passwd文件中的相关条目如下所示:
postfix::12345:12345:postfix:/no/where:/no/shell
5.确定/etc/aliases文件中包含如下的条目:
postfix: root
6. 以root用户登录,在/tmp/ postfix-19991231-pl08目录下执行命令:
/installsh
7. 启动postfix
# postfix start
8.关于maildrop目录权限的说明:
postfix能使用一个所有用户都可写的(也即目录权限为1773)的maildrop
目录来让本地用户提交邮件。这种方法避免了使用set-uid 或 set-gid 软件,并且在邮件系统不可用时,用户仍然能提交邮件。其他用户没有访问该目录中的队列文件的权限。接收来自网络的邮件时postfix不使用maildrop目录。不过,由于该目录的权限是733,其他用户能建立一个硬连接到该目录中的文件从而导致该邮件被投递多次或无法删除,也就是说这将导致安全性问题。如果你想要使用这种方式来让用户提交邮件,就要在installsh 脚本问你是否需要set-gid 时回答no。
如果你的系统有多个用户的话,最佳取消以上的方式而采用利用set-gid 用
户权限提交邮件的方式。这时,我们首先需要建立一个组id唯一的组"maildrop" 并且确定该组中没有用户成员。然后在installsh 问你是否需要set-gid 时指定"maildrop"。
提示:在安装postfix之前,请删除已安装的sendmail。
32 rpm包的安装
1. 获取postfix的rpm软件包。
我们能从http://wwwalltradinges/postfix/rpms/i386/ 获得postfix的rpm软件包。当前的最新版本是postfix-20000531-2i386rpm。
2. 备份你的/etc/aliases和/etc/aliasesdb,因为postfix要使用该别名数据库。
3. 用以下命令查看系统是否安装了sendmail:
[root@mail /root]# rpm -qa |grep sendmail
sendmail-doc-893-15
sendmail-893-15
sendmail-cf-893-15
4. 用以下命令强行卸载sendmail:
[root@mail /root]# rpm -e sendmail sendmail-cf sendmail-doc --nodeps
5. 用以下命令杀死运行中的sendmail进程:
[root@mail /root]# killall sendmail
6. 安装postfix:
7. 启动postfix
[root@mail /root]# /etc/rcd/initd/postfix start
33 设置系统每次启动时自动启动postfix
1如果你安装的是postfix的原始码包,能在/etc/rcd/rclocal文件中加入如下的语句让系统每次启动时自动启动postfix:
if [ -f /usr/libexec/postfix ]; then
/usr/libexec/postfix start
fi
2如果你安装的是postfix的rpm包,能通过setup命令来设置在系统启动时启动postfix。
四、 postfix的设置详解
41 postfix的设置文件结构
postfix的设置文件位于/etc/postfix下,安装完postfix以后,我们能通过ls命令查看postfix的设置文件:
[root@mail postfix]# ls
installcf maincf mastercf postfix-script
这四个文件就是postfix最基本的设置文件,他们的差别在于:
mailcf:是postfix主要的设置文件。
installcf:包含安装过程中安装程式产生的postfix初始化设置。
mastercf:是postfix的master进程的设置文件,该文件中的每一行都是用来设置postfix的组件进程的运行方式。
postfix-script:包装了一些postfix命令,以便我们在linux环境中安全地执行这些postfix命令。
42 postfix的基本设置
postfix大约有100个设置参数,这些参数都能通过maincf 指定。设置的格式是这样的,用等号连接参数和参数的值。如:
myhostname = mailmydomaincom
等号的左边是参数的名称,等号的右边是参数的值; 当然,我们也能在参数的前面加上$来引用该参数,如:
myorigin = $myhostname
虽然postfix有100个左右的参数,不过postfix为大多数的参数都设置了缺省值,所以在让postfix正常为你服务之前,你只需要设置为数不多的几个参数。下面我们一起来看一看这些基本的postfix参数。需要注意的是,一旦你更改了maincf文件的内容,则必须运行postfix reload命令使其生效。
1. myorigin
myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为user@domaincom,则该参数指定@后面的域名。缺省地,postfix使用本地主机名作为myorigin,不过建议你最佳使用你的域名,因为这样更具有可读性。比如:安装postfix的主机为maildomaincom则我们能这样指定myorigin:
myorigin = domaincom
当然我们也能引用其他参数,如:
myorigin = $mydomain
2. mydestination
mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就
是你的postfix系统要接收什么样的邮件。比如:你的用户的邮件地址为user@domaincom, 也就是你的域为domaincom, 则你就需要接收所有收件人为user_name@domaincom的邮件。和myorigin相同,缺省地,postfix使用本地主机名作为mydestination。
3. notify_classes
在postfix系统中,必须指定一个postfix系统管理员的别名指向一个用户,
只有这样,在用户遇见问题时才有报告的对象,postfix也才能将系统的问题报告给管理员。notify_classes参数就是用来指定向postfix管理员报告错误时的信息级别。共有以下几种级别:
bounce:将不能投递的邮件的拷贝发送给postfix管理员。出于个人隐私的缘故,该邮件的拷贝不包含信头。
2bounce:将两次不可投递的邮件拷贝发送给postfix管理员。
delay:将邮件的投递延迟信息发送给管理员,仅仅包含信头。
policy:将由于uce规则限制而被拒绝的用户请求发送给postfix管理员,包含整个smtp会话的内容。
protocol:将协议的错误信息或用户企图执行不支持的命令的记录发送给postfix管理员。同样包含整个smtp会话的内容。
resource:将由于资源错误而不可投递的错误信息发送给postfix管理员,比如:队列文件写错误等等。
software:将由于软件错误而导致不可投递的错误信息发送给postfix管理员。
缺省值为:
notify_classes = resource, software
4.myhostname
myhostname 参数指定运行postfix邮件系统的主机的主机名。缺省地,该值被设定为本地机器名。你也能指定该值,需要注意的是,要指定完整的主机名。如:
myhostname = maildomaincom
5.mydomain
mydomain参数指定你的域名,缺省地,postfix将myhostname的第一部分删除而作为mydomain的值。你也能自己指定该值,
6.mynetworks
mynetworks 参数指定你所在的网络的网络地址,postfix系统根据其值来差别用户是远程的还是本地的,如果是本地网络用户则允许其访问。你能用标准的a、b、c类网络地址,也能用cidr(无类域间路由)地址来表示,
7.inet_interfaces
inet_interfaces 参数指定postfix系统监听的网络接口。缺省地,postfix监听
所有的网络接口。如果你的postfix运行在一个虚拟的ip地址上,则必须指定其监听的地址。
43 postfix的uce(unsolicited commercial email)控制
所谓uce控制就是指控制postfix接收或转发来自于什么地方的邮件。
缺省地,postfix转发符合以下条件的邮件:
来自客户端ip地址符合$mynetworks的邮件。
来自客户端主机名符合$relay_domains及其子域的邮件。
目的地为$relay_domains及其子域的邮件。
缺省地,postfix接受符合以下条件的邮件:
目的地为$inet_interfaces的邮件。
目的地为$mydestination的邮件。
目的地为$virtual_maps的邮件。
不过我们也能通过下面的规则来实现更强大的控制功能。
1. 信头过滤
通过header_checks参数限制接收邮件的信头的格式,如果符合指定的格式,则拒绝接收该邮件。能指定一个或多个查询列表,如果新邮件的信头符合列表中的某一项则拒绝该接收邮件。
2.客户端主机名/地址限制
通过smtpd_client_restrictions参数限制能向postfix发起smtp 连接的客户端的主机名或ip地址。能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。
3 是否请求helo命令
能通过smtpd_helo_required参数指定客户端在smtp会话的开始是否发
送一个helo命令。你能指定该参数的值为yes或no。
4 helo主机名限制
能通过smtpd_helo_restrictions参数指定客户端在执行helo命令时发送
给postfix的主机名。缺省地,postfix接收客户端发送的任意形式的主机名。能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。
5 rfc 821信头限制
rfc 821对邮件的信头做了严格的规定,不过广泛使用的sendmail并不支
持该规定,所以对于该参数我们只能说不,
6 通过发件人地址进行限制
能用smtpd_sender_restrictions参数通过发件人在执行mail from命令时提供的地址进行限制。能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。
reject_unknown_sender_domain:如果mail from命令提供的主机名在dns中没有相应的a 或 mx 记录则拒绝该客户端的连接请求。能用unknown_address_reject_code参数指定返回给客户机的错误代码(缺省为450)。
check_sender_access maptype:mapname:根据mail from命令提供的主机名、父域搜索access数据库。如果搜索的结果为reject 或 "[45]xx text" 则拒绝该客户端的连接请求;如果搜索的结果为ok、relay 或数字则接受该客户端的连接请求。能用access_map_reject_code参数指定返回给客户机的错误代码(缺省为554)。能通过该参数过滤来自某些不受欢迎的发件人的邮件。
reject_non_fqdn_sender:如果mail from命令提供的主机名不是rfc规定的完整的域名则拒绝客户端的连接请求。能用non_fqdn_reject_code 参数指定返回给客户机的错误代码(缺省为504)。
缺省地,postfix接受来自所有发件人的邮件。
7 通过收件人地址进行过滤
能用smtpd_recipient_restrictions参数通过发件人在执行rcpt to命令
时提供的地址进行限制。缺省值为:
smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains
能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序
进行的,第一条符合条件的规则被执行。可用的规则有:
check_relay_domains:如果符合以下的条件,则接受smtp连接请求,否则拒绝该连接,能用relay_domains_reject_code 参数指定返回给客户机的错误代码(缺省为504)。
客户端主机名符合$relay_domains及其子域
目的地为$inet_interfaces、$mydestination或$virtual_maps
permit_auth_destination:不管客户端的主机名,只要符合以下的条件,就
接受smtp连接请求:
解析后的目标地址符合$relay_domains及其子域
解析后的目标地址符合$inet_interfaces、$mydestination或$virtual_maps
reject_unauth_destination:不管客户端的主机名,只要符合以下的条件,
就拒绝该客户端smtp连接请求:
解析后的目标地址符合$relay_domains及其子域
解析后的目标地址符合$inet_interfaces、$mydestination或$virtual_maps
check_recipient_access:根据解析后的目标地址、父域搜索access数据库。如果搜索的结果为reject 或 "[45]xx text" 则拒绝该客户端的连接请求;如果搜索的结果为ok、relay 或数字则接受该客户端的连接请求。能用access_map_reject_code参数指定返回给客户机的错误代码(缺省为554)。
reject_unknown_recipient_domain:如果收件人的邮件地址在dns中没有相应的a 或 mx 记录则拒绝该客户端的连接请求。能用unknown_address_reject_code参数指定返回给客户机的错误代码(缺省为450)。
reject_non_fqdn_recipient:如果发件人在执行rcpt to命令时提供的地址
不是完整的域名则拒绝其smtp连接请求。能用the non_fqdn_reject_code参数指定返回给客户机的错误代码(缺省为504)。
一、概述:
在配置邮件服务器之前,先解释几个概念。
通常使用Email都很容易,但是Internet的邮件系统是通过几个复杂的部分连接而成的,对于最终用户而言,我们熟悉的Outlook,Foxmail等都是用来收信和发信的,称之为MUA:Mail User Agent,邮件用户代理。
MUA并非直接将邮件发送至收件人手中,而是通过MTA:Mail Transfer Agent,邮件传输代理代为传递,Sendmail和Postfix就是扮演MTA的角色。
一封邮件从MUA发出后,可能通过一个或多个MTA传递,最终到达MDA:Mail Delivery Agent,邮件投递代理,邮件到达MDA后,就存放在某个文件或特殊的数据库里,我们将这个长期保存邮件的地方称之为邮箱。
一旦邮件到达邮箱,就原地不动了,等用户再通过MUA将其取走,就是用Outlook,Foxmail等软件收信的过程。
所以一封邮件的流程是:
发件人:MUA --发送--> MTA -> 若干个MTA -> MTA -> MDA <--收取-- MUA:收件人
MUA到MTA,以及MTA到MTA之间使用的协议就是SMTP协议,而收邮件时,MUA到MDA之间使用的协议最常用的是POP3或IMAP。
需要注意的是,专业邮件服务商都有大量的机器来为用户服务,所以通常MTA和MDA并不是同一台服务器,因此,在Outlook等软件里,我们需要分别填写SMTP发送服务器的地址和POP3接收服务器的地址。
Linux系统下邮件服务器的搭建(Postfix+Dovecot)
对于网站来说,发送各种例如注册通知的邮件是很基本的一个需求,之前我一直用的是腾讯的企业邮箱,感觉挺方便的,直接可以绑定QQ邮箱接收邮件,网站配置一下SMTP也就可以发出邮件。
但是在前几天由于有重要信息需要立即通知用户,所以选择了群发邮件的方式。在当我以为一切都是辣么完美的时候,陆续有用户过来问我什么情况,我都会跟他们说请查收邮件,但是有好几个人说并没有任何
邮件,于是我试着再发一次,结果返回了错误提示。在网上找了下原因,后来看到这个:各大免费邮箱邮件群发账户SMTP服务器配置及SMTP发送量限制情况,才知道是因为发信数量限制了。
所以只好另寻出路了,然后我在知乎上面找到了很多个提供邮件发送的服务商,大概有这些:SendGrid、MailChimp、Amazon SES、SendCloud、Mailgun等等,在看了不少人的建议之后,我选择了Mailgun。
Mailgun注册和配置都挺简单,很快我就成功的发出了第一封邮件,怀着这封欣喜,我又发送了几封邮件,可是悲剧发生在第三封邮件,Mailgun后台有详细的发送记录,这个非常不错,在后台我看到我的邮件被拒收了,原因大概是该服务器IP的发信频率超过腾讯邮箱限制。所以这里就涉及到IP的问题,目前第三方的邮件发送服务普遍都是共享IP(后面还试过SendCloud、),而共享IP并不能确定是否已经达到接收方的数量限制,一旦达到了就无法再发送。这就是说还需要使用独立IP才能保证邮件有较高的到达率,接着就看了各家的独立IP价格,一般都是二十几甚至四十几美刀一个月,这对于我们这种小站长邮件需求不高的来说确实有点贵,买台VPS都不用这个价吧。
经过上面这些折腾,也算明白了如果要想顺畅的发出邮件的话,除了花钱,就只有自己搭建一个邮件服务器了。
好了,下面开始进入正题,教你搭建一个简单的邮件服务器。
用于搭建的服务器信息
阿里云 Centos 65 32位
Postfix-2812targz Postfix MTA(邮件传输代理)
Dovecot-218targz IMAP 和 POP3 邮件服务器
Postfixadmin-235targz 采用PHP编写的开源WEB邮箱及域名账号管理工具
Roundcubemail-081targz 采用php编写的开源IMAP邮件WEB客户端
安装过程
1安装Postfix
yum -y install postfix
安装完成还需要替换系统自带的sendmail:
rpm -e sendmail
或者
yum remove sendmail
修改MTA(默认邮件传输代理)
alternatives --config mta
然后直接回车即可。
检查一下是不是已经设置成功了。
alternatives --display mta
第一行可以看到mta的状态。 例如:mat - status is manual
2安装Dovecot
yum -y install dovecot
3配置Postfix
编辑/etc/postfix/maincf,可以下载下来修改,也可以使用vi进行编辑:
vi /etc/postfix/maincf
修改如下:
# 75行: 取消注释,设置hostname
myhostname = maillomume
# 83行: 取消注释,设置域名
mydomain = lomume
# 99行: 取消注释
myorigin = $mydomain
# 116行: 修改
inet_interfaces = all
# 119行: 推荐ipv4,如果支持ipv6,则可以为all
inet_protocols = ipv4
# 164行: 添加
mydestination = $myhostname, localhost$mydomain, localhost, $mydomain
# 264行: 取消注释,指定内网和本地的IP地址范围
mynetworks = 127000/8, 10000/24
# 419行: 取消注释,邮件保存目录
home_mailbox = Maildir/
# 571行: 添加
smtpd_banner = $myhostname ESMTP
# 添加到最后
# 规定邮件最大尺寸为10M
message_size_limit = 10485760
# 规定收件箱最大容量为1G
mailbox_size_limit = 1073741824
# SMTP认证
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
修改好了之后使用/etc/rcd/initd/postfix start开启postfix,使用chkconfig postfix on将postfix开机启动。
4配置Dovecot
修改如下:
[root@mail ~]# vi /etc/dovecot/dovecotconf
# 26行: 如果不使用IPv6,请修改为
listen =
[root@mail ~]# vi /etc/dovecot/confd/10-authconf
# 9行: 取消注释并修改
disable_plaintext_auth = no
# 97行: 添加
auth_mechanisms = plain login
[root@mail ~]# vi /etc/dovecot/confd/10-mailconf
# 30行: 取消注释并添加
mail_location = maildir:~/Maildir
[root@mail ~]# vi /etc/dovecot/confd/10-masterconf
# 88-90行: 取消注释并添加
# Postfix smtp验证
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
[root@mail ~]# /etc/rcd/initd/dovecot start
Starting Dovecot Imap: [ OK ]
[root@mail ~]# chkconfig dovecot on
到这里,我们的邮件服务器就已经搭建成功了。
5域名解析
最后别忘了还需要进行域名解析工作。
添加一个子域名mail,A记录解析到服务器IP。
再添加一个MX记录,主机记录为空,记录值为上面解析的二级域名maillomume,优先级10。
注意:解析生效可能需要一段时间。
6防火墙设置
/sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 143 -j ACCEPT
突破封锁25口的转发
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 10025 -j REDIRECT --to-ports 25
7邮箱使用
一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。在这里需要说一下,系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是root@domaincom,密码就是root的密码,所以需要创建用户,只要使用useradd创建用户,再使用passwd设置密码。
好了,假如我们创建一个admin的用户:
# 创建用户
useradd admin
#设置密码,会要求输入两次密码
passwd admin
接下来登录Foxmail,如图:
点击创建,进入:
这里需要注意,邮件账号是admin,并不是邮箱,另外我们没有配置SSL,所以也不要勾选。 接下来点击创建,如果一切正常的话,你已经成功了。
最近看到很多朋友在windows下使用winwebmail的破解版。其实免费和开源世界里面有很多好的邮件服务器。下面简单总结一下:
1 邮件服务器
11最经典的当然是qmail,不过这是linux下的。当然可以移植到cygwin里面,在windows下使用
12 apache james 。纯java的邮件服务器,支持目录和数据库的邮件存储,稳定版本只支持pop3,smtp,imap的支持还在cvs里面。
13 hMailServer 一个windows下的免费服务器,支持pop3,smtp,imap,支持防垃圾邮件功能
14 Courier Mail Server 也支持ESMTP, IMAP, POP3, LDAP, SSL, and HTTP
2 webmail
21 最稳定当然是PHP中的Horde了,它支持主流的各种邮件服务器
22 Squirrel Mail 不错的一个webmail, hMailServer里面有一个针对它修改的版本
23 jwebmail java开发的邮件服务器
24 jwma 也是java下的
25 其他groupware里面自带的webmail,例如exoplatfom的exo-group中的Message Portlet,PHPNuke,egroupware中也有webmail的Module
开源的主要有extmail比较不错,不过界面不好看,若是企业建设邮件服务器的话还是建议购买专业的商业邮件服务器,推荐 kxmail邮件系统 支持跨平台操作,功能强大、方便网管员管理
内网是自己搭建的邮件服务器么?我以前用过apache的开源邮件服务器james,也是只需要设置propssetProperty("mailhost", "smtpmymailcom");就可以了,至于smtpmymailcom是可以配置在邮件服务器里面的,跟ip没关系的
0条评论