centos7.2 开启防火墙

开启防火墙

当我们修改了某些配置之后(尤其是配置文件的修改),firewall并不会立即生效。可以通过两种方式来激活最新配置 systemctl restart firewalldfirewall-cmd --reload 两种方式,前一种是重启firewalld服务,建议使用后一种“重载配置文件”。重载配置文件之后不会断掉正在连接的tcp会话,而重启服务则会断开tcp会话。

在CentOS7.0中默认使用firewall代替了iptables service。虽然继续保留了iptables命令,但已经仅是名称相同而已。除非手动删除firewall,再安装iptables,否则不能继续使用以前的iptables配置方法。以下介绍的是firewall配置方法:

#cd /usr/lib/firewalld/services //该目录中存放的是定义好的网络服务和端口参数,只用于参考,不能修改。

这个目录中只定义了一部分通用网络服务。在该目录中没有定义的网络服务,也不必再增加相关xml定义,后续通过管理命令可以直接增加。

#cd /etc/firewalld/services/ //从上面目录中将需要使用的服务的xml文件拷至 这个目录中,如果端口有变化则可以修改文件中的数值。

在 CentOS 7

暫時開放 ftp 服務

# firewall-cmd --add-service=ftp

永久開放 ftp 服務

# firewall-cmd --add-service=ftp --permanent

永久關閉

# firewall-cmd --remove-service=ftp --permanent

success

讓設定生效

# systemctl restart firewalld

檢視設定是否生效

# iptables -L -n | grep 21

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 ctstate NEW

檢查防火牆狀態

# firewall-cmd --state

running

# systemctl stop firewalld

# firewall-cmd --state

not running

# firewall-cmd --list-all

public (default)

interfaces:

sources:

services: dhcpv6-client ftp ssh

ports:

masquerade: no

forward-ports:

icmp-blocks:

rich rules:

在 FirewallD 的服務名稱

# firewall-cmd --get-service

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

查詢服務的啟用狀態

# firewall-cmd --query-service ftp

yes

# firewall-cmd --query-service ssh

yes

# firewall-cmd --query-service samba

no

# firewall-cmd --query-service http

no

自行加入要開放的 Port

# firewall-cmd --add-port=3128/tcp

# firewall-cmd --list-all

public (default)

interfaces:

sources:

services: dhcpv6-client ftp ssh

ports: 3128/tcp

masquerade: no

forward-ports:

icmp-blocks:

rich rules: