Linux系统下的firewalld

1.火墙
Firewalld概述:
动态防火墙后台程序 firewalld 提供了一个 动态管理的防火墙, 用以支持网络 “ zones” , 以分配对一个网络及其相关链接和界面一定程度的信任。它具备对 IP v4 和 IP v6 防火墙设置的支持。它支持以太网桥 , 并有分离运行时间和永久性配置选择。它还具备一个通向服务或者应用程序以直接增加防火墙规则的接口。
系统提供了图像化的配置工具 firewall-config 、 system-config-firewall, 提供命令行客户端 firewall-cmd, 用于配置 firewalld 永久性或非永久性运行时间的改变 : 它依次用iptables 工具与执行数据包筛选的内核中的 Netfilter 通信。

firewalld 和 iptables 的区别:iptables 更接近数据,firewalld 简单
firewalld 和 iptables service 之间最本质的不同是 :iptables service 在 /etc/sysconfig/iptables 中储存配置firewalld 将配置储存在 /usr/lib/firewalld/ 和/etc/firewalld/ 中的各种 XML 文件里 .

############################################
2.firewalld 域

		home(家庭):用于家庭网络,仅接受dhcpv6-client、ipp-client、mdns、 samba-client、ssh服务
		internal(内部):用于内部网络,仅接受dhcpv6-client、ipp-client、mdns、samba-client、ssh服务 
		public(公共):用于公共区域使用,仅接受dhcpv6-client、ssh服务 
		trusted(信任):接受所有网络连接 
		work(工作):用于工作区,仅接受dhcpv6-client、ipp-client、ssh服务 
		block(限制):拒绝所有网络连接 
		dmz(非军事区):仅接受ssh服务连接 
		drop(丢弃):任何接收的网络数据包都被丢弃,没有任何回复 
		external(外部):出去的ipv4网络连接通过此区域伪装和转发,仅接受ssh服务连接

#############################################
3.firewalld 的使用

打开火墙图形化的命令:

			firewall-config 
			system-config-firewall

命令行配置火墙:

		firewall-cmd --state            				查看状态
		firewall-cmd --get-active-zones  		默认开启的域
		firewall-cmd --get-default-zone  		默认的域
		firewall-cmd --get-zones				所有的域
		firewall-cmd --zone=public --list-all  	public域所有的信息
		firewall-cmd --get-services  			所有服务
		firewall-cmd --list-all-zones        	列出所有的域
		firewall-cmd --set-defaults-zone=dmz 	更改默认域

例: 开启俩台虚拟机,一个双网卡主机desktop,配置ip eth0: 172.25.254.103,eth1:192.168.0.103 ,一个单网卡主机server 配置ip eth0:192.168.0.203
在desktop中:

				yum insatll httpd -y
				systemctl start httpd
				systemctl enable httpd

利用apache服务来进行火墙的命令参数实验

			firewall-cmd --list-all
			firewall-cmd --set-default-zone=work 更改默认域为work
			firewall-cmd --list-all

在这里插入图片描述

		firewall-cmd --add-source=172.25.254.3 --zone=trusted
	     添加真机ip到trusted域,真机可以访问,server不可以 

在这里插入图片描述
真机可以访问desktop的http
在这里插入图片描述
虚拟机server不能访问
在这里插入图片描述

	firewall-cmd --remove-source=172.25.254.3 --zone=trusted
    移除之后真机也不可以访问

在这里插入图片描述

	firewall-cmd --remove-interface=eth1 --zone=public
 	移除eth1网卡,eth1对应的IP是192.168.0.103
	firewall-cmd --list-all

在这里插入图片描述

	firewall-cmd --add-interface=eth1 --zone=trusted
	添加eth1到trusted,所有服务都可以访问
 	firewall-cmd --list-all --zone=trusted
	查看trusted所有服务,已经添加上eth1,所以虚拟机server 可以访问

在这里插入图片描述
在这里插入图片描述

	firewall-cmd --change-interface=eth1 --zone=public
	更改eth1到public域,因此server又不可以访问网页
	firewall-cmd --list-all  

在这里插入图片描述
在这里插入图片描述

firewall-cmd   --permanent --remove-service=ssh 
 火墙移除ssh
firewall-cmd  --reload   不会立即中断正在连接的ssh服务

在这里插入图片描述

	firewall-cmd   --complete-reload  立即中断ssh服务,正在使用的ssh会断掉

在这里插入图片描述

firewall-cmd  --direct  --add-rule  ipv4  filter  INPUT 2 -s 172.25.254.3   -p  tcp  --dport  22  -j ACCEPT  
允许ip是3的主机使用 ssh这是在移除ssh的情况下做的
firewall-cmd  --direct  --remove-rule  ipv4  filter  INPUT 2 -s  172.25.254.3   -p  tcp  --dport  22  -j ACCEPT 
让3主机不能ssh
firewall-cmd  --direct  --add-rule  ipv4  filter  INPUT 2  ! -s 172.25.254.3   -p  tcp  --dport  22  -j ACCEPT
除了3的其他主机可以使用ssh

#####################################
4.firewalld 的地址伪装

	firewall-cmd  --add-masquerade
	firewall-cmd  --add-forward-port=port=22:proto=tcp:toport=22:toaddr=192.168.0.203
	将ssh 服务访问的人,引导至192.168.0.203server主机

在这里插入图片描述
在这里插入图片描述

	vim  /etc/sysctl.conf   
	net.ipv4.ip_forward=1

在这里插入图片描述

	虚拟机server   设置网关 gateway  172.25.254.103
	w -i 	可以看到连接server的显示为desktop,但真正连接server的是真机 172.25.254.3 

在这里插入图片描述

#############################
5.firewalld 的配置文件
配置文件添加火墙服务列表内的服务

		firewall-cmd --get-services
		服务里面没有iscsi

在这里插入图片描述

	cd /usr/lib/firewalld
	ls
	cd services/		.xml	配置文件
	cp http.xml iscsi.xml

在这里插入图片描述

	vim iscsi.xml

3	<short>ISCSI</short>
4	<description>iscsi service</description>
5	<port protocol"tcp" port="3260"/>

在这里插入图片描述

	systemctl restart firewalld.serice
	firewall-cmd --get-services
	服务里面多出来iscsi

在这里插入图片描述

配置文件添加服务到火墙

firewall-cmd --list-all				火墙添加的服务没有http和iscsi

在这里插入图片描述

cd /etc/firewalld/zones
ls

vim public.xml

<service name="dhcpv6-client"/>
<service name="http"/>
<service name="iscsi"/>
<service name="ssh"/>

在这里插入图片描述

firewall-cmd --reload
firewall-cmd --list-all

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值