防火墙的配置--firewalld与iptables

管理防火墙的两种方式:firewalld与iptables

(1)firewalld ?管理火墙的工具,相对简单 -->windows

(2)iptables ?复杂,功能强大 ?-->route

(1)、(2)不能同时起作用

一、firewalld相关配置

(一)图形化管理

打开图形化管理火墙界面,并打入后台不影响终端使用

[[email protected] ~]# firewall-config &

##runtime 临时生效,立即生效

##permanent 更改配置文件,永久的,重新加载生效

动态监控配置火墙时的动态情况

[[email protected] ~]# watch -n 1 firewall-cmd --list-all

临时更改:在runtime下是临时生效,并且是立刻生效

(1)可以看到初始化支持的服务有dhcpv6-client ssh

?(2)在public区域下勾选http服务,可以看到已经立即生效

永久更改:permanent下,更改配置文件,重新加载后永久生效

(1)在public区域下勾选http服务,可以看到并没有生效

更改默认指定区域:修改默认区域

(1)一般情况下,默认的区域是public

(2)选择Change Default Zone

开启httpd

[[email protected] ~]# systemctl start httpd

开启httpd

[[email protected] ~]# systemctl start httpd

测试:在浏览器中可以看到无法连接

?

查看防火墙状态:发现没有服务中httpd

?

可通过编写火墙默认的public区域配置文件,来永久开启服务

[[email protected] ~]# vim /etc/firewalld/zones/public.xml

在第七行加入http服务: <service name="http"/>

?

重启火墙

[[email protected] ~]# systemctl restart firewalld

再测试

在浏览器中可以看到已经成功访问

(二)命令行管理firewalld

关于网络区域的配置:

?

安装软件

[[email protected] ~]# yum install firewalld firewall-config -y

(1)常用命令

开启防火墙

[[email protected] ~]# systemctl start firewalld

开机自启防火墙

[[email protected] ~]# systemctl enable firewalld

关闭防火墙

[[email protected] ~]# systemctl stop firewalld

开机自动关闭防火墙

[[email protected] ~]# systemctl disable firewalld

查看防火墙状态

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

查看防火墙管理的设备

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

查看防火墙生效的区域

[[email protected] ~]# firewall-cmd --get-default-zone

查看防火墙所有的区域

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

列出关于public区域的服务设置

[[email protected] ~]# firewall-cmd --zone=public --list-all

列出关于trusted区域的服务设置

[[email protected] ~]# firewall-cmd --zone=trusted --list-all

列出可使用的服务

[[email protected] ~]# firewall-cmd --get-services

修改默认区域为trusted

[[email protected] ~]# firewall-cmd --set-default-zone=trusted

修改默认区域为public

[[email protected] ~]# firewall-cmd --set-default-zone=public

举例演示:

?

(2)高级配置

临时添加服务(默认的区域)

[[email protected] ~]# firewall-cmd --add-service=https

临时删除服务(默认的区域)

[[email protected] ~]# firewall-cmd --remove-service=https ?

?

永久添加服务(默认的区域)

[[email protected] ~]# firewall-cmd --add-service=https ?--permanent

永久删除服务(默认的区域)

[[email protected] ~]# firewall-cmd --remove-service=https ?--permanent

?

临时添加端口(默认的区域)

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

临时删除端口(默认的区域)

[[email protected] ~]# firewall-cmd --remove-port=8080/tcp

?

永久添加端口(默认的区域)

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

永久删除端口(默认的区域)

[[email protected] ~]# firewall-cmd --remove-port=8080/tcp ?--permanent

?

添加接口(默认的区域)

[[email protected] ~]# firewall-cmd --add-interface=eth1

删除接口(默认的区域)

[[email protected] ~]# firewall-cmd --remove-interface=eth1

?

临时拒绝主机172.25.254.86的所有网络连接

[[email protected] ~]# firewall-cmd --add-source=172.25.254.86 --zone=block

永久拒绝主机172.25.254.86的所有网络连接

[[email protected] ~]# firewall-cmd --add-source=172.25.254.86 --zone=block --permanent

不中断连接,重启防火墙策略

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

中断连接,重启防火墙策略

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

关闭上述

[[email protected] ~]# firewall-cmd --remove-source=172.25.254.86 --zone=block

[[email protected] ~]# firewall-cmd --remove-source=172.25.254.86 --zone=block --permanent

?

查看firewalld的服务相关配置文件

[[email protected] ~]# cd /usr/lib/firewalld/services/

?

查看firewalld的区域相关配置文件

[[email protected] ~]# cd /etc/firewalld/zones/

?

二、iptables的相关配置

(1)iptables的常用命令

[[email protected] ~]# yum install iptables-services.x86_64 -y

[[email protected] ~]# systemctl start iptables

[[email protected] ~]# systemctl enable iptables

[[email protected] ~]# systemctl stop iptables

[[email protected] ~]# systemctl disable iptables

(2)iptables的高级配置

关闭firewalld并且开机自动关闭

[[email protected] ~]# systemctl stop firewalld

[[email protected] ~]# systemctl disable firewalld

[[email protected] ~]# systemctl mask firewalld

开启iptables,并且开机自启动

[[email protected] ~]# yum install iptables -y

[[email protected] ~]# systemctl start iptables.service

[[email protected] ~]# systemctl enable iptables.service

列出指定filter表信息

[[email protected] ~]# iptables -t filter -nL

查看配置文件

[[email protected] ~]# vim /etc/sysconfig/iptables

刷新清空iptables

[[email protected] ~]# iptables -F

保存状态

[[email protected] ~]# service iptables save

列出默认表信息

[[email protected] ~]# iptables -nL

所有INPUT服务都丢弃并且不回应

[[email protected] ~]# iptables -P INPUT DROP

添加接受来自回环地址的

[[email protected] ~]# iptables -A INPUT -i lo -j ACCEPT

添加接受tcp协议80端口的服务

[[email protected] ~]# iptables -A INPUT -p tcp --dport 80 ?-j ACCEPT

添加接受tcp协议22端口的服务

[[email protected] ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT

拒绝全部的INPUT链服务

[[email protected] ~]# iptables -A INPUT -j REJECT

查看之,

[[email protected] ~]# iptables -nL

?

?

3、防火墙策略优化

若是第一次访问可以,则第二次访问就不会再问 ,这就是优化状态。

注:系统重启会改变状态的数据包

状态:第一次连接:NEW 连接中:ESTABLISHED ?连接过的:RELATED

[[email protected] ~]# iptables -F ? ? ? ? ? ? ? ? ? ? ?##刷新清空策略

[[email protected] ~]# service iptables ?save ? ? ##保存

[[email protected] ~]# iptables -nL ? ? ? ? ? ? ? ? ? ?##查看

关于iptables的参数:

-t 指定表

-L 列出表

-A ?永远加在最后一条

-D ?删除某一条链里面的策略

-i ??输入 ?(-i lo 表示是从回环地址进来的)

-o ?输出

-I ??插入到某一条,默认第一条(-I INPUT 3?插入到第三行,不写3的话默认添加到第一个)

-m ?状态

-j ??动作(ACCEPT | REJECT)

-s ?资源(无,则所有)

-P ?策略

-p ?协议

-R ?更改

--dport 端口

-N ?新建一个链

-E ?修改链名称

-X ?删除链

?

时间: 2024-08-12 18:54:33

防火墙的配置--firewalld与iptables的相关文章

Linux下iptables防火墙简单配置

Linux下防火墙简单配置 作为一个网站服务器,只需要开放80端口和22端口即可.80用于web访问,22用于远程登录管理,可以把22端口改成其他的端口,这样更安全.一般来说 在创建访问规则时 都会将原有的规则清零 这是一个比较好的习惯,因为某些规则的存在会影响你建的规则. 基本语法:iptables [-t filter] [-AI INPUT,OUTPUT,FORWARD] [-io interface]         [-p tcp,udp.icmp,all] [-s ip/nerwor

细说firewalld和iptables

在RHEL7里有几种防火墙共存:firewalld.iptables.ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等. firewalld跟iptables比起来至少有两大好处: 1.firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效: 2.firewalld在使用上要比iptables人性化很多,即使不明白"五张表五条链"而且对TCP/IP协议也不理解

Linux防火墙基础(Firewalld命令的使用)

Firewalld概述 Firewalld简介 (1)支持网络区域所定义的网络连接以及接口安全的动态防火墙管理工具.(2)支持IPv4.IPv6防火墙设置以及以太网桥接(3)支持服务或应运程序直接添加防火墙规则口(4)拥有两种配置模式运行时配置永久配置 Firewalld和iptables的关系 netfilter (1)位于linux内核中的包过滤功能体系(2)称为Linux防火墙的"内核态" Firewalld/iptables (1)Centos7默认的管理防火墙规则的工具(Fi

centos7 &amp;&amp; centos6.5部KVM使用NAT联网并为虚拟机配置firewalld &amp;&amp; iptables防火墙端口转发

centos7 && centos6.5 部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发 一.准备工作: 1: 检查kvm是否支持a: grep '(vmx|svm)' /proc/cpuinfo vmx是intel cpu支持的svm是AMD cpu支持的如果flags: 里有vmx 或者svm就说明支持VT:如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机. b: 确保BIOS里开启VT: Intel(R)

firewalld防火墙的配置及应用

            防火墙(centos7)的配置及应用 1:防火墙有基本的三类 iptables.firewalld.ip6tables Systemctl   status   {firewalld,iptables,ip6tables}  查看三类的状态,这里主要介绍firewalld防火墙的配置以及基本应用功能 2:firewalld提供支持区域定义网络连接的防火墙 3:拥有运行时配置和永久性配置(临时和永久性配置) 4:之前是静态,现在是动态,不用重新启动防火墙,不用卸载防火墙的模

【转载】centos7 关闭firewall防火墙指令以及更换安装iptables并配置

转载连接 http://ashui.net/archives/2015/943.html 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 Linux学习,

centos 7 关闭firewalld开启iptables

1: 关闭系统高级防火墙firewalld systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2:编辑iptables配置文件 vi /etc/sysconfig/iptables 必备 iptables -I INPUT -p tcp --dport 22 -j ACCEPT iptables -I INPUT -p tcp --dport 80 -j

centOS7.2防火墙常用配置(转)

centOS7.2防火墙常用配置 firewall-cmd --state #查看默认防火墙状态(关闭后显示not running,开启后显示running) systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 systemctl start firewalld.service #开启防火墙 systemctl enable firewalld.servi

CentOS 7.X 防火墙简单配置

CentOS7使用的是Linux Kernel 3.10.0的内核版本,新版的Kernel内核已经有了防火墙netfilter,并且使用效能更高,稳定性更好. 配置防火墙的两种方法: 一.使用xml配置: 方法一 cp /usr/lib/firewalld/services/http.xml /etc/firewalld/services/ firewall-cmd --reload 二.使用命令的方式 方法二 ##Add firewall-cmd --permanent --zone=publ