一、防火墙的作用
开放端口的前提是打开防火墙。如果没有打开防火墙,没有必要开放端口。因为我们并不会受到什么限制。
举例:应用的访问端口是 8080
在我们关闭防火墙的时候,无论何时,我们在页面上都是可以正常访问的。但是如果我们开启了防火墙,那么我们必须开放 8080 端口,否则应用虽然在虚拟机上正常运行,但我们却无法通过网页正常访问。
在应用正常运行的前提下,当我们关闭防火墙时,在其他虚拟机执行 telnet 10.4.79.55 8080 是能通的。但是如果我们开启了防火墙,且没有开放 8080 端口,那么哪怕应用正常运行,在其他虚拟机执行 telnet 10.4.79.55 8080 也是不通的。当然,应用在页面上也是无法正常访问的。
二、防火墙类型
rhel7.0之前的版本用的是iptables
rhel7.0之后的版本是iptables与firewall都用
两种类型,对应的开启防火墙和关闭都不一样。
三、firewall的操作方式
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
查看已经开放的端口号:firewall-cmd –list-ports
开启80端口号:firewall-cmd –zone=public –add-port=80/tcp –permanent
参数详解:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
注意:开启一个端口号之后,需要刷新防火墙:firewall-cmd –reload
四、iptables的操作方法
查看防火墙状态 service iptables status
停止防火墙 service iptables stop
启动防火墙 service iptables start
重启防火墙 service iptables restart
永久关闭防火墙 chkconfig iptables off
永久关闭后重启 chkconfig iptables on