系统防火墙启动时,以防外界访问;
需要外界访问时,如果关闭防火墙,将失去防护能力;
每个服务都有自己的端口号,所以在防火墙启动时,可以通过开放端口为外界指定访问该服务;
CentOS有两个版本的防火墙,CentOS 7以前是iptables,默认关闭,且没有配置文件,所以防火墙打不开,需要建立配置文件
vim /etc/sysconfig/iptables:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j AC
-A OUTPUT-m state --state NEW -m tcp -p tcp --dport 80 -j AC
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j AC
-A OUTPUT-m state --state NEW -m tcp -p tcp --dport 3306 -j AC
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
如上在此配置文件中添加和开放端口,然后service iptables restart重启防火墙服务
centos7默认启动防火墙,防火墙启动时才可使用防火墙命令(括号内时centos 6的命令,同时适用于centos 7,但iptables需要改为fireword)
8080为端口号示例
1、暂时启动防火墙:systemctl start firewalld (service iptables start)
重启防火墙:systemctl restart firewalld (service iptables restart)
设置开机启动:systemctl enable firewalld (chkconfig iptables on)
2、暂时关闭防火墙:systemctl stop firewalld (service iptables stop)
设置开机关闭:systemctl disable firewalld (chkconfig iptables off)
3、开放已存在的端口:firewall-cmd --zone=public --add-port=8080/tcp(加上 --permanent是设置开机开放(即永久性的));
添加并开启新端口:iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
关闭端口:iptables -I INPUT -p tcp --dport 8080 -j DROP
4、移除端口:firewall-cmd --zone=public --remove-port=8080/tcp –permanent
5、查看防火墙状态:firewall-cmd --state(service iptables status)
6、重新加载防火墙(刷新):firewall-cmd --reload
7、查看开放了哪些端口:firewall-cmd --permanent --zone=public --list-ports
查看本机开启了哪些服务:firewall-cmd --permanent --zone=public --list-services
全部查看: netstat -anp