- DHCP服务
- DNS服务
- 邮件服务器
DHCP服务
- 安装isc-dhcp-server:
$ sudo apt install isc-dhcp-server
- 查找目标主机的网卡名称:
$ ifconfig
- 接下来配置 /etc/default/isc-dhcp-server 文件:
$ sudo vim /etc/default/isc-dhcp-server
将INTERFACES的内容补充为目标主机的网卡名称ens33
- 配置/etc/dhcp/dhcpd.conf文件:
$ sudo vim /etc/dhcp/dhcpd.conf
文件内容中需要配置的是域名和子网IP等信息,对于第一文件片段中的
option domain-name “example.org” 不用修改,下一行的domain-name-server需要注释掉在第二文件片段中补充。对于第二文件片段中的白色部分,全是新添加的信息。目标主机的子网IP为192.168.182.134,因此subnet为192.168.182.0,DHCP分配范围设置为10-100,其余地址留给广播和静态IP。网关和DNS均设置为192.168.182.1,广播地址为192.168.182.255,ntp-servers和netbios-name-servers设置与DNS一致,netbios-node-type默认为8
- 配置完成之后重启DHCP服务,查看效果:
$ sudo service isc-dhcp-server restart
查看dhcp是否正常运行:
$ sudo netstat -uap
DNS服务
这里我们使用Bind9配置文件
- 安装Bind9
sudo apt-get -y install bind9
- 创建正向Zone文件
正向Zone文件是用来做正向解析的,即将域名解析为IP地址:
(1)首先,修改/etc/bind/named.conf.local文件
sudo mv /etc/bind/named.conf.local /etc/bind/named.conf.local-bak
sudo vim /etc/bind/named.conf.local
在里面添加以下信息:
zone "kevin.com" {
type master;
file "db.kevin.com";
};
该配置指定Bind作为kevin.com域的主域名服务器,db.kevin.com文件包含所有*.kevin.com 形式的域名转换数据。文件 db.kevin.com 没有指定路径,所以默认是/var/cache/bind/。
(2)然后,我们复制一个现有的文件作为Zone文件的模板:
sudo cp /etc/bind/db.local /var/cache/bind/db.kevin.com
接下来修改该Zone文件:
sudo vim /var/cache/bind/db.kevin.com
改为如下内容(其中的192.168.182.134是我的局域网IP地址,通过命令行ifconfig可查看主机的局域网IP地址)
- 创建反向Zone文件
反向Zone文件是用来做反向解析的,即把IP地址解析为域名。
(1)首先,修改/etc/bind/named.conf.local文件
sudo vim /etc/bind/named.conf.local
添加下列信息:
zone "182.168.192.in-addr.arpa" {
type master;
file "db.192.168.182";
};
(2)然后,我们复制一个现有的文件作为Zone文件的模板(注意文件名是局域网IP地址前三个段的倒写,我的局域网IP是192.168.182.134);
sudo cp /etc/bind/db.127 /var/cache/bind/db.191.168.192
修改该Zone文件
sudo vim /var/cache/bind/db.191.168.192
改成如下内容:
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA localhost. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
134 IN PTR www.kevin.com
1.0.0 IN PTR localhost.
左下角中的134代表IP的最后一个字节号,例如,我的局域网IP地址是192.168.182.134,那么最后一个字节就是134
- 修改主机域名解析地址,重启Bind9
(1)修改主机域名解析地址
sudo vim /etc/resolv.conf
修改为
search kevin.com
nameserver 192.168.182.134
(2)重启Bind9
sudo service bind9 restart
- 测试
ping kevin.com
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
Ubuntu搭建Postfix邮箱服务器
安装Postfix
在ubuntu服务器上运行下面的命令:
sudo apt-get update
sudo apt-get install postfix -y
安装过程中会让你选择一种Postfix配置类型。一般情况下,我们需要选择第二种类型:Internet Site,如图
说明:
No configuration 表示不要做任何配置;
Internet Site 表示直接使用本地SMTP服务器发送和接收邮件;
Internet with smarthost 表示使用本地SMTP服务器接收邮件,但发送邮件时不直接使用本地SMTP服务器,而是使用第三方smart host来转发邮件;
Satellite system 表示邮件的发送和接收都是由第三方smarthost来完成。
Local only 表示邮件只能在本机用户之间发送和接收。
在上图中System mail name中填入你的域名,也就是邮箱地址@符号后面的域名,比如,我可以填root@Ubuntu.com。当发件人的域名地址没有指定时,Postfix会自动将这个域名添加到发件人的地址中。
发送测试邮件
实际上,现在我们就能用命令行发送和接收邮件了。如果你的服务器有一个用户名是user1,那么这个用户的邮箱地址就是user1@Ubuntu.com。你可以发送一封邮件给root用户: root@Ubuntu.com。也可以向Gmail,Yahoo,QQ,网易等邮箱用户发送邮件。不过现在我们只能在服务器上用命令行发送和查看邮件。
Postfix在安装时,会同时安装一个sendmail的程序(/usr/sbin/sendmail)。你可以用这个sendmail二进制程序向你的Gmail邮箱发送一封测试邮件。在服务器上输入下面的命令:
echo "test email" | sendmail your-account@gmail.com
这是一条很简单的命令, sendmail从标准输入读取到test email,将test email作为邮件正文,然后发送到Gmail邮箱。现在你可以查看你的Gmail邮箱,应该会看见你的测试邮件。尽管我们没有指明发件人地址,但Postfix会自动将你的域名添加到发送人地址中。你也可以在Gmail中回复这封测试邮件,然后在邮箱服务器上查看是否可以收到Gmail发来的邮件。
每个用户的邮件保存在/var/spool/mail和/var/mail/文件中。如果你不知道收件箱保存在哪里,运行这条命令:
postconf mail_spool_directory
Postfix的收发日志保存在/var/log/mail.log文件中。Postfix本身的运行错误日志保存在/var/log/mail.err文件中。
我的测试
参考链接:
https://blog.csdn.net/u010177634/article/details/53044777.
https://blog.csdn.net/jin970505/article/details/78932963.
https://blog.csdn.net/oolocal/article/details/52861583.