centos7.2防火墙Firewall使用介绍

安装它,只需html

# yum install firewalld
若是须要图形界面的话,则再安装
# yum install firewall-config网络

1、介绍ssh

防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的链接与接口。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 firewall-config (gui) 来动态的管理 kernel netfilter 的临时或永久的接口规则,并实时生效而无需重启服务。tcp

Firewall 能将不一样的网络链接归类到不一样的信任级别,Zone 提供了如下几个级别ide

drop: 丢弃全部进入的包,而不给出任何响应
block: 拒绝全部外部发起的链接,容许内部发起的链接
public: 容许指定的进入链接
external: 同上,对假装的进入链接,通常用于路由转发
dmz: 容许受限制的进入链接
work: 容许受信任的计算机被限制的进入链接,相似 workgroup
home: 同上,相似 homegroup
internal: 同上,范围针对全部互联网用户
trusted: 信任全部链接ui

2、使用方法spa

# systemctl start firewalld # 启动,
# systemctl enable firewalld # 开机启动
# systemctl stop firewalld # 关闭
# systemctl disable firewalld # 取消开机启动
具体的规则管理,可使用 firewall-cmd,具体的使用方法能够htm

$ firewall-cmd --help
1. 查看规则blog

查看运行状态
$ firewall-cmd --state
查看已被激活的 Zone 信息
$ firewall-cmd --get-active-zones
public
interfaces: eth0 eth1
查看指定接口的 Zone 信息
$ firewall-cmd --get-zone-of-interface=eth0
public
查看指定级别的接口
$ firewall-cmd --zone=public --list-interfaces
eth0
查看指定级别的全部信息,譬如 public
$ firewall-cmd --zone=public --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client http ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
查看全部级别被容许的信息
$ firewall-cmd --get-service
查看重启后全部 Zones 级别中被容许的服务,即永久放行的服务
$ firewall-cmd --get-service --permanent接口

2. 管理规则

# firewall-cmd --panic-on # 丢弃
# firewall-cmd --panic-off # 取消丢弃
$ firewall-cmd --query-panic # 查看丢弃状态
# firewall-cmd --reload # 更新规则,不重启服务
# firewall-cmd --complete-reload # 更新规则,重启服务
添加某接口至某信任等级,譬如添加 eth0 至 public,再永久生效

# firewall-cmd --zone=public --add-interface=eth0 --permanent
设置 public 为默认的信任级别

# firewall-cmd --set-default-zone=public
a. 管理端口
列出 dmz 级别的被容许的进入端口

# firewall-cmd --zome=dmz --list-ports
容许 tcp 端口 8080 至 dmz 级别

# firewall-cmd --zone=dmz --add-port=8080/tcp
容许某范围的 udp 端口至 public 级别,并永久生效

# firewall-cmd --zome=public --add-port=5060-5059/udp --permanent
b. 管理服务
添加 smtp 服务至 work zone

# firewall-cmd --zone=work --add-service=smtp
移除 work zone 中的 smtp 服务

# firewall-cmd --zone=work --remove-service=smtp
c. 配置 ip 地址假装
查看

# firewall-cmd --zone=external --query-masquerade
打开假装

# firewall-cmd --zone=external --add-masquerade
关闭假装

# firewall-cmd --zone=external --remove-masquerade
d. 端口转发
要打开端口转发,则须要先

# firewall-cmd --zone=external --add-masquerade
而后转发 tcp 22 端口至 3753

# firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=3753
转发 22 端口数据至另外一个 ip 的相同端口上

# firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100
转发 22 端口数据至另外一 ip 的 2055 端口上

# firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100
以上都是一些经常使用方法,更多高级方法,请参考:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html

https://fedoraproject.org/wiki/FirewallD

做者:zqifa

出处:http://www.cnblogs.com/zqifa/

本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接。