前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >firewalld的基本规则

firewalld的基本规则

作者头像
拓荒者
发布2019-03-15 17:05:53
1.3K0
发布2019-03-15 17:05:53
举报
文章被收录于专栏:运维经验分享运维经验分享

一、图形化管理火墙

系统提供了图像化的配置工具 firewall-config 、 system-config-firewall, 提供命令行客户端 firewall-cmd, 用于配置 firewalld 永久性或非永久性运行时间的改变。

1、下载图形管理命令

yum install firewall-config

2、使用命令调出图形

firewall-config

3、在图形处进行选择,另一方进行监控firewalld的变化

watch -n 1 'firewall-cmd --list-all'

图形化的界面

若为runtime模式仅选中即可,不用重启火墙,但若选择permanent,要重启火墙才能使策略生效。

二、firewalld的配置存储

/etc/firewalld

进行所有的命令,均是改变此中文件/etc/firewalld/zones中的文件的内容,也可在文件中直接改动,改完后需要进行重启服务。

/usr/lib/firewalld中的各种xml文件中

三、firewalld的基本使用命令

启用命令

systemctl start firewalld              ##开启防火墙

systemctl enable firewalld          ##开机自动开启防火墙

systemctl stop firewalld              ##关闭防火墙

systemctl disable firewalld         ##开机不自动开启防火墙

配置火墙命令

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             ##火墙中所有可以提供的服务

此中所有列出的服务的名字均可以进行自行改变,在/usr/lib/firewalld/service中有所有的服务列表,将其中的名字进行改变,但仍然以xml进行结尾,即可进行改变名字,但通常不这么做。

firewall-cmd --list-all-zones        ##列出火墙中的所有域及所有信息

firewall-cmd --set-default-zone=dmz       ##将dmz域设置为默认的域

[root@localhost zones]# firewall-cmd --add-service=http                           ##给默认域中添加服务http [root@localhost zones]# firewall-cmd --remove-service=http                     ##删除默认域中的服务http

测试:

[root@localhost zones]# firewall-cmd --add-port=8080/tcp                     ##给默认域中添加tcp端口8080 [root@localhost zones]# firewall-cmd --remove-port=8080/tcp               ##删除默认域中的8080端口

测试:将httpd服务的端口改为8080,并在火墙中加入该端口

此时,火墙的默认域为public,且没有添加http服务

[root@localhost zones]# firewall-cmd --add-source=172.25.254.73 --zone=trusted

[root@localhost zones]# firewall-cmd --remove-source=172.25.254.73 --zone=trusted ##此ip在访问时可以进行火墙中的额任何服务,走的是trusted这个域

测试:

此时server虚拟机有两块网卡,可以进行设置,将eth0走public域,eth1走bmz域

此间有一个问题,必须将两块网卡的ip设置为在不同的网段内,经过实验,若将两块网卡放在同一个网段内的话,会出现两块网卡都走的是默认的域,没有实验效果。

[root@localhost zones]# firewall-cmd --change-interface=eth1 --zone=dmz

测试:

172.25.71.1    走的是dmz域

172.25.254.173  走的是public域,我在其中加入了http服务

通过 firewall-cmd 工具 , 可以使用 --direct 选项在运行时间里增加或者移除链。

[root@localhost zones]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.73 -p tcp --dport 80 -j REJECT

表示在filter表中第一行加入 http服务(80端口)对于172.25.254.73不开放

测试:

语句成功后:

##使用--direct 语句使得172.25.254.73主机不能实现ftp服务的连接

[root@localhost zones]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.73 -p tcp --dport 21 -j REJECT

测试:

172.25.254.73主机:

别的主机:

地址伪装:

将172.25.71.2主机使用sshd访问172.25.254.73主机时访问的是173主机

思想:

1、需要一个双网卡的主机充当路由器,此路由器必须与172.25.71.2和172.25.254.73可以进行通信

2、172.25.71.2主机将可以与他进行通信的路由器的端口设置成网关

路由器:

[root@localhost zones]# firewall-cmd --add-masquerade  [root@localhost zones]# firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.173

测试:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档