Centos6升級(jí)到Centos7以后,默認(rèn)的防火墻發(fā)生了變化。從iptables變?yōu)榱薴irewalld。下面我就說(shuō)下firewalld的簡(jiǎn)單用法,如果不對(duì)之處還望指正!
首先,附上紅帽官方的使用文檔:
# 查看版本
[root@osboxes java]# firewall-cmd --version
0.3.9
# 查看狀態(tài)
[root@osboxes java]# systemctl status firewalld.service
OR
[root@osboxes java]# firewall-cmd --state
running
# 獲取啟用的zone
[root@osboxes java]# firewall-cmd --get-active-zones
public
interfaces: eno16777984
查看指定區(qū)域中開(kāi)放的端口和服務(wù)
[root@osboxes java]# firewall-cmd --zone=public --list-all
public (default, active)
interfaces: eno16777984
sources:
services: dhcpv6-client mdns ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
查看系統(tǒng)中可用的服務(wù)
# 列出已配置好可用的服務(wù), 位于 /usr/lib/firewalld/services/ 下
[root@osboxes java]# firewall-cmd --get-services
amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https
# 強(qiáng)制列出包含用戶設(shè)置在/etc/firewalld/services/, 但尚未loaded的服務(wù)
[root@osboxes java]# firewall-cmd --get-services --permanent
amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https
添加端口
# 不要忘記 --permanent
[root@osboxes java]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
# OR 添加一個(gè)地址段
[root@osboxes java]# firewall-cmd --zone=public --add-port=5060-5061/udp --permanent
success
# 需要reload后才啟用, 熱加載
[root@osboxes java]# firewall-cmd --reload
# OR 冷加載
[root@osboxes java]# firewall-cmd --complete-reload
success
# 能看到新端口已經(jīng)添加
[root@osboxes java]# firewall-cmd --zone=public --list-all
public (default, active)
interfaces: eno16777984
sources:
services: dhcpv6-client mdns ssh
ports: 8080/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
# 刪除一個(gè)端口
firewall-cmd --permanent --zone=public --remove-port=8080/tcp
firewall-cmd --permanent --zone=public --remove-port=8080/udp