邮件服务,高级网络配置

########邮件系统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
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值