注:来自同事的笔记。
如果防火墙开启,我们pingLinux服务器的IP会ping不通,所以我们要对防火墙进行设置(一般情况下只需执行1里边的命令就可以了):
1、firewalld的基本使用
屏蔽:systemctl mask firewalld 屏蔽防火墙服务(让它不能启动) ln -s '/dev/null''/etc/systemd/system/firewalld.service' 取消屏蔽:systemctl unmask firewalld 显示服务(如 firewalld.service) rm '/etc/systemd/system/firewalld.service'
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
3.配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
修改端口启用
在每次修改 端口和服务后 /etc/firewalld/zones/public.xml 文件就会被修改 所以也可以在文件中之间修改 然后重新加载
#systemctl start firewalld.service //开启服务
#systemctl enable firewalld.service //开机制动启动
#systemctl stop firewalld.service //关闭服务
#systemctl disable firewalld.service //禁止开机启动
获取 firewalld 状态
firewall-cmd --state
此举返回 firewalld 的状态,没有任何输出。可以使用以下方式获得状态输出:
firewall-cmd --state && echo "Running" || echo "Not running"
在 Fedora 19 中, 状态输出比此前直观:
# rpm -qf $( which firewall-cmd ) firewalld-0.3.3-2.fc19.noarch# firewall-cmd --state not running
在不改变状态的条件下重新加载防火墙:
firewall-cmd --reload
如果你使用–complete-reload,状态信息将会丢失。这个选项应当仅用于处理防火墙问题时,例如,状态信息和防火墙规则都正常,但是不能建立任何连接的情况。
获取支持的区域列表
firewall-cmd --get-zones
这条命令输出用空格分隔的列表。
获取所有支持的服务
firewall-cmd --get-services
这条命令输出用空格分隔的列表。
获取所有支持的ICMP类型
firewall-cmd --get-icmptypes
这条命令输出用空格分隔的列表。
列出全部启用的区域的特性
firewall-cmd --list-all-zones
输出格式是:
输出区域
firewall-cmd [--zone=
获取默认区域的网络设置
firewall-cmd --get-default-zone
设置默认区域
firewall-cmd --set-default-zone=
流入默认区域中配置的接口的新访问请求将被置入新的默认区域。当前活动的连接将不受影响。
获取活动的区域
firewall-cmd --get-active-zones
这条命令将用以下格式输出每个区域所含接口:
根据接口获取区域
firewall-cmd --get-zone-of-interface=
这条命令将输出接口所属的区域名称。
将接口增加到区域
firewall-cmd [--zone=
如果接口不属于区域,接口将被增加到区域。如果区域被省略了,将使用默认区域。接口在重新加载后将重新应用。
修改接口所属区域
firewall-cmd [--zone=
这个选项与 –add-interface 选项相似,但是当接口已经存在于另一个区域的时候,该接口将被添加到新的区域。
从区域中删除一个接口
firewall-cmd [--zone=
查询区域中是否包含某接口
firewall-cmd [--zone=
返回接口是否存在于该区域。没有输出。
列举区域中启用的服务
firewall-cmd [ --zone=
启用应急模式阻断所有网络连接,以防出现紧急状况
firewall-cmd --panic-on
禁用应急模式
firewall-cmd --panic-off
代码如下 |
复制代码 |
应急模式在 0.3.0 版本中发生了变化 在 0.3.0 之前的 FirewallD版本中, panic 选项是 –enable-panic 与 –disable-panic. |
查询应急模式
firewall-cmd --query-panic
此命令返回应急模式的状态,没有输出。可以使用以下方式获得状态输出:
firewall-cmd --query-panic && echo "On" || echo "Off"
service iptables status可以查看到iptables服务的当前状态。
但是即使服务运行了,防火墙也不一定起作用,你还得看防火墙规则的设置 iptables -L
在此说一下关于启动和关闭防火墙的命令:
1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop