双色球斜连码:Centos7\Rehat中 Firewalld 命令详解

连码四七靠三活猜生肖 www.dvwa8.cn firewalld 和 iptables 的关系

firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。

 

对于centos7服务器来说,有的服务器firewalld和iptables两者都有的,有的服务器却只有firewalld;

 

firewalld的配置模式

firewalld的配置文件以xml格式为主(主配置文件firewalld.conf例外),他们有两个存储位置

1、/etc/firewalld/ 用户配置文件

2、/usr/lib/firewalld/ 系统配置文件,预置文件

 

我们知道每个zone就是一套规则集,但是有那么多zone,对于一个具体的请求来说应该使用哪个zone(哪套规则)来处理呢?这个问题至关重要,如果这点不弄明白其他的都是空中楼阁,即使规则设置的再好,不知道怎样用、在哪里用也不行。

对于一个接受到的请求具体使用哪个zone,firewalld是通过三种方法来判断的:

1、source,也就是源地址 优先级最高

2、interface,接收请求的网卡 优先级第二

3、firewalld.conf中配置的默认zone 优先级最低

这三个的优先级按顺序依次降低,也就是说如果按照source可以找到就不会再按interface去查找,如果前两个都找不到才会使用第三个,也就是学生在前面给大家讲过的在firewalld.conf中配置的默认zone。

 

firewalld 常用命令

通常情况下开放一个端口步骤所需命令如下:

  • 启动:systemctl start firewalld
  • 停止:systemctl stop firewalld
  • 状态:firewall-cmd --state
  • 添加: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

 

一、firewalld?安装、运行、停止、禁用命令

1、安装

[email protected]:~# yum install firewalld

2、启动 firewalld

[email protected]:~# systemctl start firewalld

3、停止 firewalld

[email protected]:~# systemctl stop firewalld

4、禁用 firewalld

[email protected]:~# systemctl disable firewalld

5、在系统引导时启动 firewalld

[email protected]:~# systemctl enable firewalld

 

二、firewalld配置命令

1、查看版本:

[email protected]:~# firewall-cmd --version

2、查看帮助:

[email protected]:~# firewall-cmd --help

3、显示状态:

[email protected]:~# firewall-cmd --state

4、查看区域信息:

[email protected]:~# firewall-cmd --get-active-zones

5、查看指定接口所属区域:$

[email protected]:~# firewall-cmd --get-zone-of-interface=eth0

6、拒绝所有包:

[email protected]:~# firewall-cmd --panic-on

7、取消拒绝状态:

[email protected]:~# firewall-cmd --panic-off

8、查看是否拒绝:

 [email protected]:~# firewall-cmd --query-panic

 

三、firewall更新防火墙规则命令

1、无需断开连接,就是firewalld特性之一动态添加规则

[email protected]:~# firewall-cmd --reload

2、需要断开连接,类似重启服务

[email protected]:~# firewall-cmd --complete-reload

 

四、firewall 区域命令

1、将接口添加到区域,默认接口都在public

[email protected]:~# firewall-cmd --zone=public --add-interface=eth0

2、永久生效再加上 --permanent 然后reload防火墙

[email protected]:~# firewall-cmd --zone=public --add-interface=eth0?--permanent
[email protected]:~# firewall-cmd --reload

3、设置默认接口区域

[email protected]:~# firewall-cmd --set-default-zone=public?#立即生效无需重启

 

五、firewall?服务、端口命令

1、查看所有打开的端口:

[email protected]:~# firewall-cmd --list-ports

2、加入一个端口到区域:

[email protected]:~# firewall-cmd --zone=dmz --add-port=8080/tcp

3、若要永久生效方法同上:

[email protected]:~# firewall-cmd --zone=dmz --add-port=8080/tcp?--permanent

4、打开一个服务,类似于将端口可视化,服务需要在配置文件中添加,/etc/firewalld 目录下有services文件夹,这个不详细说了,详情参考文档

[email protected]:~# firewall-cmd --zone=work --add-service=smtp

5、移除服务

[email protected]:~# firewall-cmd --zone=work --remove-service=smtp

 

Firewalld 所有命令详细

 

用法:

firewall-cmd [选项...]

 

常规选项

-h,--help? ? ? ? ? 打印帮助文档

-V,--version? ? ?打印firewalld的版本

-q,--quiet? ? ? ? ?不要打印状态消息

 

状态选项

--state? ? ? ? ? ? ? ? ? ? ? ?返回并打印firewalld状态

--reload? ? ? ? ? ? ? ? ? ? ?重新加载防火墙并保存状态信息

--complete-reload? ? 完全重新加载防火墙和松散的状态信息

 

 

永久选项

--permanent? ? 性永久设置一个选项,可用于[P]

 

Zone(区域)选项

--get-default-zone? ? ? 打印连接和接口的默认区域

--set-default-zone=? ? 设置默认区域

--get-active-zones? ? ? 打印当前活动区域

--get-zones? ? ? ? ? ? ? ? 打印预定义区域[P]

--get-services? ? ? ? ? ? ?打印预定义的服务[P]

--get-icmptypes? ? ? ? ?打印预定义的icmptypes [P]

--get-zone-of-interface=? ? ? ? ?打印界面绑定区域的名称[P]

--get-zone-of-source=[/]? ? ? ? ?[/ mask]绑定的区域的打印名称[P]

--list-all-zones? ? ? ? ? ? ? ? ? ? ? ? ? 列出所有区域添加或启用的所有内容[P]

--new-zone =? ? ? ? ? ? ? ? ? ? ? ? ? ?添加一个新区域[仅限P]

--delete-zone =? ? ? ? ? ? ? ? ? ? ? ? 删除现有区域[仅限P]

--zone =? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 使用此区域设置或查询选项,否则使用默认区域,可用于与[Z]匹配的选项

--get-target? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?获取区域目标[仅限P]

--set-target=? ? ? ? ? ? ? ? ? ? ? ? ? ? ?设置区域目标[仅限P]

 

IcmpType选项

--new-icmptype=? ? ? ? ? ?添加新的icmptype [仅限P]

--delete-icmptype=? ? ? ? 删除和现有icmptype [仅限P]

 

服务选项

--new-service=? ? ? ? ? ? ?添加一项新服务[仅限P]

--delete-service=? ? ? ? ? 删除和现有服务[仅限P]

 

适应和查询区域的选项

--list-all? ? ? ? ? ? ? ? ? ? ? ? ?列出在区域中添加或启用的所有内容[P] [Z]

--list-services? ? ? ? ? ? ? ? 为区域添加的列表服务[P] [Z]

--timeout =? ? ? ? ? ? ? ? ? 仅在秒内启用一个选项可用于与[T]匹配的选项

--add-service=? ? ? ? ? ? ?为区域添加服务[P] [Z] [T]

---remove-service=? ? ? 从区域中删除服务[P] [Z]

--query-service=? ? ? ? ? ?返回是否为区域添加了服务[P] [Z]

 

--list-ports? ? ? ? ? ? ? ? ? ? ? ? ? ? 为区域添加的列表端口[P] [Z]

--add-port =[-]/? ? ? ? ? ? ? ? ? ?为区域添加端口[P] [Z] [T]

--remove-port =[-]/? ? ? ? ? ? ?从区域删除端口[P] [Z]

--query-port=[-]/? ? ? ? ? ? ? ? ?返回是否已为区域[P]添加端口[Z]

--list-icmp-blocks? ? ? ? ? ? ? ? ?列出为区域添加的Internet ICMP类型块[P] [Z]

--add-icmp-block=? ? ? ? ? ? ? ?添加区域的ICMP块[P] [Z] [T]

--remove-icmp-block=? ? ? ? ?从区域删除ICMP块[P] [Z]

--query-icmp-block=? ? ? ? ? ? 返回是否为区域添加了ICMP块[P] [Z]

--list-forward-ports? ? ? ? ? ? ? 列出为区域添加的IPv4转发端口[P] [Z]

 

--add-forward-port=port=[-]:proto=[:toport=[-]][:toaddr=[/]]? ? ? ? ? ?为区域添加IPv4转发端口[P] [Z] [T]

--remove-forward-port=port=[-]:proto=[:toport=[-]][:toaddr=[/]]? ? ?从区域删除IPv4转发端口[P] [Z]

--query-forward-port=port=[-]:proto=[:toport=[-]][:toaddr=[/]]? ? ? ? 返回是否已添加IPv4转发端口,一个区域[P] [Z]

 

--add-masquerade? ? ? ? ? ? 为区域启用IPv4伪装[P] [Z] [T]

--remove-masquerade? ? ? ?禁用区域的IPv4伪装[P] [Z]

--query-masquerade? ? ? ? ? 返回是否已为a启用了IPv4伪装区域[P] [Z]

 

--list-rich-rules? ? ? ? ? ? ? ? 列出为区域添加的富语言规则[P] [Z]

--add-rich-rule=? ? ? ? ? ? ?为区域添加丰富的语言规则“规则”[P] [Z] [T]

--remove-rich-rule=? ? ? ?从区域中移除丰富的语言规则'规则'[P] [Z]

--query-rich-rule=? ? ? ? ? ?返回是否有丰富的语言规则“规则”,为区域添加[P] [Z]选项来处理接口绑定

--list-interfaces? ? ? ? ? ? ? ? 列出绑定到区域的接口[P] [Z]

--add-interface=? ? ? ? ? ? ?绑定到区域[P] [Z]

--change-interface=? ? ? ?更改区域绑定到[Z]

--query-interface=? ? ? ? ? 查询是否绑定到区域[P] [Z]

--remove-interface=? ? ? ?删除区域绑定[P] [Z]选项来处理源绑定

--list-sources? ? ? ? ? ? ? ? ? ?列出绑定到区域的源代码[P] [Z]

 

--add-source=[/]? ? ? ? ? ? ? 将[/]绑定到区域[P] [Z]

--change-source=[/]? ? ? ? 更改区域[/]绑定到[Z]

--query-source=[/]? ? ? ? ? 查询[/]是否绑定到区域[P] [Z]

--remove-source=[/]? ? ? ?删除区域[/]的绑定[P] [Z]直接选项

--direct? ? ? ? ? ? ? ? ? ? ? ? ? ? 所有直接选项的第一个选项

--get-all-chains? ? ? ? ? ? ? ?获得所有连锁店[P]

 

--get-chains {ipv4 | ipv6 | eb}? ? ? ? ? 获取所有链表添加到表[P]

--add-chain {ipv4 | ipv6 | eb}? ? ? ? ? 在表中添加一个新链[P]

--remove-chain {ipv4 | ipv6 | eb}? ? ?从表中删除链[P]

--query-chain {ipv4 | ipv6 | eb}? ? ? ? 返回链表是否已经添加到表格[P]

--get-all-rules? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?获取所有规则[P]

--get-rules {ipv4 | ipv6 | eb}? ? ? ? ? ? ?获取添加到表中的所有规则[P]

--add-rule {ipv4 | ipv6 | eb} ...? ? ? ? ? 将规则添加到链表中[P]

--remove-rule {ipv4 | ipv6 | eb} ...? ? 从链表中删除具有优先级的规则[P]

--remove-rules {ipv4 | ipv6 | eb}? ? ? 从链表中删除规则[P]

--query-rule {ipv4 | ipv6 | eb} ...? ? ? ?返回表中是否在链中添加了具有优先级的规则[P]

--passthrough {ipv4 | ipv6 | eb} ...? ? 传递一个命令

--get-all-passthroughs? ? ? ? ? ? ? ? ? ? ?获取所有直通规则[仅限P]

 

--get-passthroughs {ipv4 | ipv6 | eb} ...? ? ? ? ? ? ?获取直通规则[仅限P]

--add-passthrough {ipv4 | ipv6 | eb} ...? ? ? ? ? ? ? 添加新的passthrough规则[仅限P]

--remove-passthrough {ipv4 | ipv6 | eb} ...? ? ? ? 删除passthrough规则[仅限P]

--query-passthrough {ipv4 | ipv6 | eb} ...? ? ? ? ? ?返回是否已添加直通规则[仅限P]锁定选项

 

--lockdown-on? ? ? ? ? ? ? ? ? ? 启用锁定。

--lockdown-off? ? ? ? ? ? ? ? ? ? 禁用锁定。

--query-lockdown? ? ? ? ? ? ? ?查询锁定是否为enabledLockdown白名单选项

 

--list-lockdown-whitelist-commands? ? ? ? ? ? ? 列出白名单上的所有命令行[P]

--add-lockdown-whitelist-command=? ? ? ? ? ? 将该命令添加到白名单[P]

--remove-lockdown-whitelist-command=? ? ? 从白名单中删除命令[P]

--query-lockdown-whitelist-command=? ? ? ? ?查询该命令是否在白名单上[P]

--list-lockdown-whitelist-contexts? ? ? ? ? ? ? ? ? ?列出白名单上的所有上下文[P]

--add-lockdown-whitelist-context=? ? ? ? ? ? ? ? ?将上下文上下文添加到白名单[P]

--remove-lockdown-whitelist-context=? ? ? ? ? ?从白名单中删除上下文[P]

--query-lockdown-whitelist-context=? ? ? ? ? ? ? 查询上下文是否在白名单上[P]

--list-lockdown-whitelist-uids? ? ? ? ? ? ? ? ? ? ? ? ? 列出白名单上的所有用户ID [P]

--add-lockdown-whitelist-uid=? ? ? ? ? ? ? ? ? ? ? ?将用户标识uid添加到白名单[P]

--remove-lockdown-whitelist-uid=? ? ? ? ? ? ? ? ?从白名单中删除用户ID uid [P]

--query-lockdown-whitelist-uid=? ? ? ? ? ? ? ? ? ? 查询用户标识uid是否在白名单中[P]

--list-lockdown-whitelist-users? ? ? ? ? ? ? ? ? ? ? ? 列出白名单上的所有用户名[P]

--add-lockdown-whitelist-user=? ? ? ? ? ? ? ? ? ? ?将用户名称用户添加到白名单[P]

--remove-lockdown-whitelist-user=? ? ? ? ? ? ? ?从白名单中删除用户名用户[P]

--query-lockdown-whitelist-user=? ? ? ? ? ? ? ? ? 查询用户名是否在白名单中[P] Panic选项

 

-- panic-on? ? ? ? ? 启用恐慌模式

-- panic-off? ? ? ? ? 禁用恐慌模式

--query-panic? ? ? 查询是否启用恐慌模式

 

Firewalld 防火墙

    A+
发布日期:2018年04月20日  所属分类:Linux
最后修改时间:2018-04-26 10:08
评分: (1 票;平均数5.00 ;最高评分 5 ;用户总数1;总得分 5;百分比100.00)
付杰
服务器管理面板/主机控制面板“安装”服务
服务器管理面板/主机控制面板“安装”服务
  • ¥ 9.9元
  • 市场价:49.9元
永久免费SSL证书服务 HTTPS申请 安装 配置 支持通配符*
永久免费SSL证书服务 HTTPS申请 安装 配置 支持通配符*
  • ¥ 199.9元
  • 市场价:20000元
PHP运行环境 Wamp Lamp Lnmp 安装、配置、搭建服务
PHP运行环境 Wamp Lamp Lnmp 安装、配置、搭建服务
  • ¥ 9.9元
  • 市场价:49.9元
wordpress discux dedecms 帝国 phpcms等快速建站服务
wordpress discux dedecms 帝国 phpcms等快速建站服务
  • ¥ 99.9元
  • 市场价:499.9元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: