代码改变世界

Firewalld防火墙:端口转发与流量均衡

2018-04-18 01:02  youxin  阅读(2498)  评论(0编辑  收藏  举报

firewalld和iptables的关系

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

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 优先级最低

 

https://blog.csdn.net/dream361/article/details/54022470

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

 

CentOS 7中防火墙是一个非常的强大的功能,在CentOS 6.5中在iptables防火墙中进行了升级了。

一、安装firewalld

 
# yum install firewalld firewall-config
 
centos7默认安装firewalld 
 

二、firewalld服务开启、关闭、重启、状态查看

 

启动:# systemctl start  firewalld

查看状态:# systemctl status firewalld 或者 firewall-cmd –state

停止:# systemctl disable firewalld

禁用:# systemctl stop firewalld

重启:#systemctl restart firewalld

三、开放端口

 

永久的开放需要的端口

  
  1. sudo firewall-cmd --zone=public --add-port=80/tcp --permanent  
  2. sudo firewall-cmd --reload //重载生效刚才的端口设置  

参数介绍:

1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;


之后检查新的规则

 
 
  1. firewall-cmd --list-all //查看防火墙规则,可查到你当前开放的端口信息  
 

firewalld常用命令:


1
2
3
4
5
6
7
8
9
10
11
12
13

常用命令介绍
 
firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助