热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

firewalld防火墙02

一、防火墙富规则firewalld中的富规则更有针对性,优先级在所有的防火墙策略中也是最高的,下面为firewalld富语言规则帮助手册[rootwe

一、防火墙富规则

firewalld中的富规则更有针对性,优先级在所有的防火墙策略中也是最高的,下面为firewalld富语言规则帮助手册

[root@ web01 ~]# man firewall-cmd
[root@ web01 ~]# man firewalld.richlanguagerule[source][destination]service|port|protocol|icmp-block|icmp-type|masquerade|forward-port|source-port[log][audit][accept|reject|drop|mark]rule [family="ipv4|ipv6"]
source address="address[/mask]" [invert="True"]
service name="service name"
port port="port value" protocol="tcp|udp"
protocol value="protocol value"
forward-port port="port value" protocol="tcp|udp" to-port="port value" to-addr="address"
accept | reject [type="reject type"] | drop#富语言规则相关命令
--add-rich-rule='' #在指定的区域添加一条富语言规则
--remove-rich-rule='' #在指定的区删除一条富语言规则--query-rich-rule='' #找到规则返回0,找不到返回1
--list-rich-rules #列出指定区里的所有富语言规则# 查看防火墙配置
[root@web01 services]# firewall-cmd --list-all
publictarget: defaulticmp-block-inversion: nointerfaces: sources: services: dhcpv6-client sshports: protocols: masquerade: yesforward-ports: port=6666:proto=tcp:toport=22:toaddr=172.16.1.5source-ports: icmp-blocks: rich rules:

1.实例一

允许10.10.0.1主机能够访问http服务,允许172.16.1.0/24能访问111端口

[root@web01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.10.0.1 service name=http accept'
success[root@web01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 port port=111 protocol=tcp accept'
success[root@web01 ~]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: eth0 eth1sources: services: sshports: protocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules: rule family="ipv4" source address="10.10.0.1" service name="http" acceptrule family="ipv4" source address="172.16.1.0/24" port port="111" protocol="tcp" accept#.测试连接
# 内网网段都可以访问 telnet 172.16.1.7 111
# 内网网段都可以访问 telnet 172.16.1.2 111[D:\~]$ telnet 172.16.1.* 111 #只要在这个网段都可以

2.实例二

默认public区域对外开放所有人能通过ssh服务连接,但拒绝172.16.1.0/24网段通过ssh连接服务器

[root@web01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh reject'
success[root@web01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh drop'
success#drop和rejectdrop # 直接丢弃,不返回任何内容
reject # 拒绝,会返回拒绝的内容

3.实例三

使用firewalld,允许所有人能访问http,https服务,但只有10.10.0.1主机可以访问ssh服务

[root@web01 ~]# firewall-cmd --add-service={http,https}
success[root@web01 ~]# firewall-cmd --remove-service=ssh
success[root@web01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.10.0.1 service name=ssh accept'

4.实例四

当用户来源IP地址是10.10.0.1主机,则将用户请求的6666端口转发至后端172.16.1.5的22端口

[root@web01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.10.0.1 forward-port port=6666 protocol=tcp to-port=22 to-addr=172.16.1.5'[root@web01 ~]# firewall-cmd --add-masquerade
success

6.查看富规则

[root@web01 ~]# systemctl restart firewalld #启动防火墙[root@web01 ~]# firewall-cmd --list-rich-rules #查看富规则1[root@web01 ~]# firewall-cmd --list-all #查看富规则2

7.禁ping

[root@web01 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 protocol value=icmp drop'

二、防火墙备份

我们的防火墙规则,配置永久生效后,会保存在/etc/firewalld/zones/目录下, #名字随便写 只要在/zones/*.xml就行
我们如果要进行同样的防火墙配置,只需要讲该文件推送到新的服务器,并启动防火墙即可
如果要备份,备份的也是/etc/firewalld/zones/目录
[root@web01 ~]# systemctl restart firewalld #启动防火墙
[root@web01 services]# cat /etc/firewalld/zones/public.xml

PublicFor use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.

九、防火墙内部共享上网

在指定的带有公网的IP的实例上启动firewalld防火墙的NAT地址转换,以此达到内部主机上网

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dozCcvyw-1618243960887)(C:\Users\17155\Desktop\下载图片\1618241717758.png)]

# 1、防火墙备份
我们的防火墙规则,配置永久生效后,会保存在/etc/firewalld/zones/目录下,
我们如果要进行同样的防火墙配置,只需要讲该文件推送到新的服务器,并启动防火墙即可
如果要备份,备份的也是/etc/firewalld/zones/目录# 2、防火墙内部共享上网
在指定的带有公网的IP的实例上启动firewalld防火墙的NAT地址转换,以此达到内部主机上网

1.开启IP伪装

[root@lb01 ~]# firewall-cmd --add-masquerade
[root@lb01 ~]# firewall-cmd --add-masquerade --permanent

2.开启内核转发

[root@lb01 ~]# cat /etc/sysctl.conf
net.ipv4.ip_forward = 1#CentOS 6 系统需要手动开启,CentOS 7 默认就是开启的[root@lb01 ~]# sysctl -p #生效启动

3.修改内网服务器的网卡

[root@web01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
GATEWAY=172.16.1.5 #增加一个网关
DNS1=114.114.114.114#重启网卡
[root@web01 ~]# ifdown eth1 && ifup eth1

4.测试

[root@web01 ~]# ip a3: eth1: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:8e:6b:4b brd ff:ff:ff:ff:ff:ffinet 172.16.1.7/24 brd 172.16.1.255 scope global noprefixroute eth1valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe8e:6b4b/64 scope link valid_lft forever preferred_lft forever[root@web01 ~]# ping www.baidu.com
PING www.a.shifen.com (112.80.248.75) 56(84) bytes of data.
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=1 ttl=127 time=11.7 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=2 ttl=127 time=9.53 ms

推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
author-avatar
MIKO_CHEUNG2011
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有