操作firewalld

操作firewalld

前面已有文章大概介绍了firewalld,这个Centos 7新引入的组件,

Centos7引入了新的防火墙firewalld, iptables被取代

启动,停止,或者查看状态,使用service或者centos 7新引入的systemd

$> sudo service firewalld [start|stop|restart|status]

$> sudo systemd [start|stop|restart|status] firewalld

除了使用service或者systemd的status选型来查看状态,还可以firewall-cmd

$> firewall-cmd –state

running

会直接告诉你firewalld是否运行,

firewalld引入2个重要的概念,zone(域)和service(服务),zone是来一些列规则的集合,service表示了这些规则中一条。zone有默认的zone。这些概念有些复杂,这里我们暂且不去讨论这些概念,看看如何简单添加我们需要的端口,例如我们要添加tcp的8080端口

$> sudo firewall-cmd --zone=public --add-port=8080/tcp

success

上面命令就有个zone,名字是public,这个firewalld初始就有的zone,并且是默认的域。下面查看我们刚才添加的端口是否成功:

$> firewall-cmd --list-ports
8080/tcp

可以看到8080已经添加成功。

下面我们添加udp的端口,下面是端口范围,当然udp可以换成tcp

 

$> sudo firewall-cmd --zone=public --add-port=8000-8010/udp

 

下面再查看添加的端口:

$> firewall-cmd --list-ports

8000-8010/udp 8080/tcp

上面的添加都是零时的,系统重启后,都将消失,为了永久添加,使用 permanent参数,例如:

$> sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp

 

下面简单提一下zone

列出所有的zone

firewall-cmd --list-all-zones | less

当前活动的zone

firewall-cmd --get-active-zones

设置默认的zone

sudo firewall-cmd --set-default-zone=home

列出所有的services

firewall-cmd --get-services

所有的services对应一个xml文件,全部放在下面的文件夹下面:

sudo ls /usr/lib/firewalld/services/

amanda-client.xml  dns.xml          ipp-client.xml  ldap.xml       mysql.xml    pmwebapis.xml    RH-Satellite-6.xml  telnet.xml
bacula-client.xml  ftp.xml          ipp.xml      libvirt-tls.xml  nfs.xml    pmwebapi.xml    rpc-bind.xml        tftp-client.xml
bacula.xml       high-availability.xml  ipsec.xml      libvirt.xml       ntp.xml    pop3s.xml    samba-client.xml    tftp.xml
dhcpv6-client.xml  https.xml          kerberos.xml      mdns.xml       openvpn.xml    postgresql.xml    samba.xml        transmission-client.xml
dhcpv6.xml       http.xml          kpasswd.xml      mountd.xml       pmcd.xml    proxy-dhcp.xml    smtp.xml        vnc-server.xml
dhcp.xml       imaps.xml          ldaps.xml      ms-wbt.xml       pmproxy.xml    radius.xml    ssh.xml            wbem-https.xml


下面列出ssh的service文件

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="22"/>
</service>

可以根据自己的需要添加service,然后让firewalld重新加载就可以了

sudo firewall-cmd --reload

再次查看所有services

firewall-cmd --get-services

更多内容,请参看:

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-7

i

 

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章转载自:IT夜班车,否则按侵权处理i.

    分享到:

Leave a Reply

Your email address will not be published. Required fields are marked *