########邮件系统mail######
(westos.westos.com linux.;inux.com)
#####1.配置DNS#####
#yum install bind -y
#vim /etc/named.conf ##开启所有端口
#vim /etc/named.rfc1912.zones ##添加域名
#vim /var/named/linux.com.zone
$TTL 1D
@ IN SOA dns.linux.com. root.linux.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.linux.com.
dns A 172.25.254.113
linux.com. MX 1
172.25.254.213. ##邮箱的存放
#vim /var/named/westos.com.zone
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.254.113
westos.com. MX 1
172.25.254.113.
#vim /etc/resolv.conf ##修改DNS服务器
#dig -t mx linux.com ##测试
#####2.修改postfix的配置文件####
systemctl status postfix.service ##查看邮件服务
1.vim /etc/postfix/main.cf ##修改配置文件
76 myhostname = linux.linux.com ##配置主机名
83 mydomain = linux.com ##配置域名
99 myorigin = $mydomain ##配置给别人发时用的名字
113 inet_interfaces = all ##打开所有接口
116 #inet_interfaces = localhost ##与上者对应
164 mydestination = $myhostname, $mydomain, localhost
##配置收什么样的邮件
2.systemctl restart postfix.service
3.mail root@linux.com ##发送邮件
4.mailq ##查看邮件队列(未发出的)
6.postqueue -f ##刷新邮箱队列
7.cat /var/log/maillog ##查看邮件日志
8.postsuper -d ****** ##删除队列中的邮件
#####3.别名发送和群发######
1.vim /etc/aliases ##编辑该文件(类似于邮件转移将前面发给后面)
admin: root ##将发给admin的给root
more: :include:/etc/postfix/users ##将给more的给后面文件的用户
root: student ##将发给root的邮件发给student
root: root@mr.com ##将发给root的邮件发给root@mr.com
root: :include:/etc/postfix/users ##将发给root的邮件发文件的用户
admin: root@mr.com ##将发给admin的给root@mr.com
2.postalias /etc/aliases ##加密aliases(重载)
接受伪装(linux.com可以接受发给mr@qq.com,@163.com的邮件)(别人向这里发送时需要更改DNS)
1.vim /etc/postfix/virtual ##编辑以更换@后面的
mr@qq.com root@linux.com ##自动排序
@163.com @linux.com ##同上
2.postmap /etc/postfix/virtual ##加密处理
3.postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"##读取加密文件
->发送伪装
1.vim /etc/postfix/generic
root@linux.com mr@qq.com
@linux.com @qq.com
2.postmap /etc/postfix/generic
3.postconf -e "smtp_generic_maps = hash:/etc/postfix/generic"
#####4.远程收(dovecot)发(postfix)邮件#####
postfix服务:
测试:
1.yum install telnet -y ##安装telnet服务
2.telnet 172.25.254.213 25 ##测试25端口
mail from:admin@qq.com
rcpt to:student@163.com
data
quit
收邮件(dovecot服务)
1.yum install dovecot -y
2.vim /etc/dovecot/dovecot.conf ##编辑主配置文件
24 protocols = imap pop3 lmtp
48 login_trusted_networks = 0.0.0.0/0
49 disable_plaintext_auth = no
3.vim /etc/dovecot/conf.d/10-mail.conf ##子配置文件
30 mail_location = mbox:~/mail:INBOX=/var/mail/%u
4.systemctl start dovecot
5.touch ~/mail/.imap/INBOX ##用student(普通用户)建立
6.touch /etc/skel/mail/.imap/INBOX ##新建的用户会自动建立skel下的目录到自己的家目录
测试:
1.yum install mutt -y
2.mutt -f pop://student@172.25.254.213
3.可以使用客户端雷鸟
#######5.建立虚拟用户处理邮件########
1.yum install mariadb-server httpd php php-mysql -y
mysql -uroot -p
create user postfix@localhost identified by 'postfix';
##创建用户
grant insert,select on email.* to postfix@localhost;
##授权
配置图形数据库建立一个数据库email,表maildb,和字段(username,password,domain,maildir(/redhat.com/mr/)),并插入一条数据
2.建立一个数据库用户postfix,密码postfix,权限仅对email有INSERT和SELECT
3.vim /etc/postfix/mysql-users.cf ##建立查询用户名,mysql脚本
hosts = localhost ##指定主机
user = postfix ##指定用户
password = postfix ##指定密码
dbname = email ##指定数据库
table = maildb ##指定表名
select_field = username ##查询username
where_field = username ##条件
4.vim /etc/postfix/mysql-domain.cf ##建立查询域名
hosts = localhost
user = postfix
password = postfix
dbname = email
table = maildb
select_field = domain
where_field = domain
5.vim /etc/postfix/mysql-mailbox.cf ##建立查询邮件目录
hosts = localhost
user = postfix
password = postfix
dbname = email
table = maildb
select_field = maildir
where_field = username
6.postmap -q "mr@redhat.com" mysql:/etc/postfix/mysql-mailbox.cf ##测试邮件目录查询
7.postmap -q "mr@redhat.com" mysql:/etc/postfix/mysql-users.cf ##测试用户名查询
8.postmap -q "redhat.com" mysql:/etc/postfix/mysql-domain.cf ##测试主机名查询
9.groupadd -g 888 vmail
10.useradd -u 888 -g 888 vmail
postconf -e "virtual_gid_maps = static:888" ##可以通过命令实现
11.vim /etc/postfix/main.cf ##也可以通过编写配置文件
virtual_mailbox_base = /home/vmail
virtual_gid_maps = static:888
virtual_uid_maps = static:888
virtual_alias_maps = mysql:/etc/postfix/mysql-users.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-mailbox.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-domain.cf
12.systemctl restart postfix.service
#######6.建立虚拟用户收邮件#########
1.yum install dovecot-mysql.x86_64 -y
2.vim /etc/dovecot/dovecot.conf
48 login_trusted_networks = 0.0.0.0/0 #允许访问网络地址
49 disable_plaintext_auth = no #开始明文认证
3.vim /etc/dovecot/conf.d/10-auth.conf
123 !include auth-sql.conf.ext ##开启数据库数据认证
4.cp /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext
5.vim /etc/dovecot/dovecot-sql.conf.ext
32 driver = mysql ##选择数据库类型
78 default_pass_scheme = PLAIN ##明文加密
71 connect = host=localhost dbname=email user=postfix password=postfix ##登陆数据库
107 password_query = \ ##用密码认证 数据库里面找用户名 域名和密码
108 SELECT username, domain, password \
109 FROM mailsql WHERE username = '%u' AND domain = '%d'
125 user_query = SELECT maildir, 888 AS uid, 888 AS gid FROM mailsql WHERE username = '%u
'
6.vim /etc/dovecot/conf.d/10-mail.conf
30 mail_location = maildir:/home/vmail/%d/%n ##邮件目录
7.setsebool -P mysql_connect_any on ##打开selinux服务的允许
测试(另一台主机):
telnet 172.25.254.213 110 ##利用telnet测试110端口
Trying 172.25.254.213...
Connected to 172.25.254.213.
Escape character is '^]'.
+OK [XCLIENT] Dovecot ready.
user admin@redhat.com
+OK
pass 123
+OK Logged in.
quit
+OK Logging out.
Connection closed by foreign host.
######高级网络配置####
1.vim ifcfg-enp0s25 ##开启网桥接口
DEVICE=enp0s25
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0
2.vim ifcfg-br0 ##配置网桥
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
TYPE=Bridge ##注意类型
IPADDR=172.25.254.13
PREFIX=24
DNS1=172.25.254.250
3.systemctl stop NetworkManager ##可以不用关掉,有时甚至不能关掉
4.systemctl restart networ ##重启网络
5.systemctl start NetworkManager
命令添加网桥
brctl addbr br0 ##添加网桥br0
brctl addif br0 eth0 ##将br0与eth0相接
ifconfig br0 172.25.254.113 netmask 255.255.255.0 ##给一个IP,br0可以使用
ifconfig br0 down ##拿走IP地址
brctl delif br0 eth0 ##将br0与eth0断开
brctl delbr br0 ##删除网桥br0
brctl show ##查看网桥
####网卡的多块运行###
用于防止一块网卡坏掉以后服务器无法工作的情况,用两个网卡建立
bond(watch -n 1 cat /proc/net/bonding/bond0 )
1.nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.113/24 ##建立一个bond0
2.nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0 ##将eth0加入bond0
3.nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0 ##将eth1加入bond0
4.cat /proc/net.bonding/bond0
5.ifcong eth0 dowm ##模拟eth0坏掉的情况
6.ifcong eth0 up ##eth0修好后装上
team (功能一样,拥有平衡轮训的能力最多支持八块网卡)(watch -n 1 teamdctl team0 stat)
1.nmcli connection add con-name team0 ifname team0 type team config'{"runner"{"name":"activebackup"}}' ip4 172.25.254.113/24 ##建立一个team0
2.nmcli connection add con-name eth0 ifname eth0 type team-slave master team0##将eth0加入team0
3.nmcli connection add con-name eth1 ifname eth1 type team-slave master team0##将eth1加入team0
邮件服务,高级网络配置
最新推荐文章于 2024-01-07 14:47:59 发布