阻止smtp服务到IP centos 7防火墙

我想知道如何阻止IP在服务器上使用smtp服务与centos 7防火墙。 我尝试使用这样的东西:

firewall-cmd --permanent --zone="public" --add-rich-rule='rule family=ipv4 source address=[ipadress] --remove-service=smtp' 

但不是正确的语法

或者我应该阻止TCP端口25,465和587?

也如果有人可以告诉我如何自动做到这一点,从文件(如果可能的话)得到de ip将是伟大的

firewalld.richlanguage(5)页中所述,正确的语法是:

 # firewall-cmd --zone="FedoraWorkstation" \ --add-rich-rule='rule family=ipv4 source address=1.2.3.4 service name=smtp reject' success # iptables-save | grep 1.2.3.4 -A IN_FedoraWorkstation_deny -s 1.2.3.4/32 -p tcp -m tcp --dport 25 -m conntrack --ctstate NEW -j REJECT --reject-with icmp-port-unreachable 

请注意,这适用于到端口25 / tcp的传入stream量,如服务文件/usr/lib/firewalld/services/smtp.xml

 <?xml version="1.0" encoding="utf-8"?> <service> <short>Mail (SMTP)</short> <description>This option allows incoming SMTP mail delivery. If you need to allow remote hosts to connect directly to your machine to deliver mail, enable this option. You do not need to enable this if you collect your mail from your ISP's server by POP3 or IMAP, or if you use a tool such as fetchmail. Note that an improperly configured SMTP server can allow remote machines to use your server to send spam.</description> <port protocol="tcp" port="25"/> </service>