firewall服务配置
/* Border styles */ #table-2 thead, #table-2 tr { border-top-width: 1px; border-top-style: solid; border-top-color: rgb(230, 189, 189); } #table-2 { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(230, 189, 189); } /* Padding and font style */ #table-2 td, #table-2 th { padding: 5px 10px; font-size: 12px; font-family: Verdana; color: rgb(177, 106, 104); } /* Alternating background colors */ #table-2 tr:nth-child(even) { background: rgb(238, 211, 210) } #table-2 tr:nth-child(odd) { background: #FFF }
Firewalld
firewalld通过firewalld.service systemd 服务来启动,可使用低级别的iptables、ip6tables 和 ebtables 命令来管理Linux内核netfilter子系统
注意*
firewalld.service 和 iptables.service 以及 ip6tables.service 和 ebtables.service 服务彼此冲突。 为了防止意外启动其中一个 *tables.service服务(并擦除流程中任何正在运行的防火墙配置),使用systemctl将其屏蔽 [root@server ~]# for SERVICE in iptables ebtables;do
> systemctl mask ${SERVICE}.service
> done
firewalld将所有传入流量划分成区域,每个区域都具有自己的一套规则。为检查哪个区域用于传入连接,firewalld使用以下逻辑,第一个匹配的规则胜出:
1.如果传入包的源地址与区域的某个源规则设置相匹配,该包将通过该区域进行路由
2.如果包的传入接口与区域的过滤器设置匹配,则使用该区域
3.否则将使用默认区域。默认区域不是单独的区域,而是指向系统上定义的某个其它区域。
除非被管理员NetworkManager配置所覆盖,否则,任何新网络接口的默认区域都将设置为public区域
| 区域 | 规则 |
|---|---|
| trusted | 允许所有传入流量 |
| home | 除非与传出流量相关,或与ssh、mdns、ipp-client或dhcpv6-client预定义服务匹配,否则拒绝传入流量 |
| internal | 除非与传出流量相关,或与ssh、ipp-client或dhcpv6-client预定义服务匹配,否则拒绝传入流量 |
| public | 除非与传出流量相关,或与ssh或dhcpv6-client预定义服务匹配,否则拒绝传入流量。新添加的网络接口的默认区域 |
| external | 除非与传出流量相关,或与ssh预定义服务匹配,否则拒绝传入流量。通过此区域转发的IPv4传入流量将进行伪装,以便其看起来像是来自传出网络接口的IPv4地址 |
| dmz | 除非与传出流量相关,或与ssh预定义服务匹配,否则拒绝传入流量 |
| block | 除非传出流量相关,否则拒绝所有传入流量 |
| drop | 除非传出流量相关,否则丢弃所有传入流量(甚至不产生包含ICMP错误的响应) |
| 命令 | 作用 |
|---|---|
| --get-default-zone | 查询当前默认区域 |
| --set-default-zone | 设置默认区域。此命令会同时更改运行时配置和永久配置 |
| --get-zones | 列出所有可用区域 |
| --get-services | 列出所有预定义服务 |
| --get-active-zones | 列出当前正在使用的所有区域(具有关联的接口或源)及其接口源信息 |
| --add-source=<CIDR> [--zone=<ZONE>] | 将来自IP地址或网络/子网掩码<CIDR>的所有流量路由到指定区域。如果未提供--zone=选项,则将使用默认区域 |
| --remove-source=<CIDR> [--zone=<ZONE>] | 从指定区域中删除用于路由来自IP地址或网络/子网掩码的所有流量的规则。如果未提供--zone=选项,则将使用默认区域 |
| --add-interface=<INTERFACE> [--zone=<ZONE>] | 将来自<INTERFACE>的所有流量路由到指定区域。如果未提供--zone=选项,则将使用默认区域 |
| --change-interface=<INTERFACE> [--zone=<ZONE>] | 将接口与<ZONE>而非其当前区域关联。如果未提供--zone=选项,则将使用默认区域 |
| --list-all [--zone=<ZONE>] | 列出<ZONE>的所有已配置接口、源、服务和端口。如果未提供--zone=选项,则将使用默认区域 |
| --list-all-zones | 检索所有区域的所有信息(接口、源、端口、服务等等) |
| --add-service=<SERVICE> | 允许到<SERVICE>流量。如果未提供--zone=选项,则将使用默认区域 |
| --add-port=<PORT/PROTOCOL> | 允许到<PORT/PROTOCOL>端口的流量。如果未提供--zone=选项,则将使用默认区域 |
| --remove-service=<SERVICE> | 从区域的允许列表中删除<SERVICE>。如果未提供--zone=选项,则将使用默认区域 |
| --remove-port=<PORT/PROTOCOL> | 从区域的允许列表中删除<PORT/PROTOCOL>。如果未提供--zone=选项,则将使用默认区域 |
| --add-rich-rule | 配置富规则,默认富规则优先级高 |
| --permanent | 如果配置过滤规则时没有加上此条,默认配置为运行时规则,重启主机或firewalld.service失效 |
| --reload | 配置添加新的防火墙规则后要使用此条命令,让配置信息立即生效 |
SSH访问配置
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 service name="ssh" accept' firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.2.0/24 service name="ssh" reject' firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.3.0/24 service name="ssh" drop' firewall-cmd --reload
配置端口转发
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 forward-port port=5423 protocol=tcp to-port=80' firewall-cmd --reload
配置端口伪装
通过伪装,系统会将并非直接寻址到自身的包转发到指定接收方,同时将通过的包的源地址更改为其自己的公共IP地址。 防火墙对这些传入的包应答时,会将目标地址修改为原始主机的地址并发送包。 1.当内网地址为10.0.0.100地址的主机要访问外网200.0.0.100的IP地址时 2.由于目标地址不在本地子网中,包将路由到源计算机上配置的默认网关10.0.0.1 3.这里10.0.0.1可以是防火墙,它将源地址更改为防火墙持有的外网IP 100.0.0.100,并将连接的引用存储在其连接状态表中,然后根据其路由表传递到Internet上的路由器 4.数据包返回时,再从连接状态表中查找连接,将其目标地址更改为10.0.0.100 5.原始发送方接收对其请求的应答 firewall-cmd --permanent --zone=<ZONE> --add-masquerade 对该区域上的任意数据包做转换 firewall-cmd --permanent --zone=<ZONE> --add-rich-rule='rule family=ipv4 source address=192.168.0.0/24 masquerade' 对指定区域做伪装(NAT)
firewall服务配置的更多相关文章
- CentOS7下Firewall防火墙配置用法详解
官方文档地址: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide ...
- win7防火墙打不开(无法启动windows firewall服务)
点击windows 7控制面板中防火墙的“推荐配置”没有反应:打开“服务”,无法启动windows firewall,并报错. 可能很多的win7用户都碰到过这样的一种情况,那就是win7的防火墙打 ...
- CentOS7 Firewall防火墙配置用法详解
centos 7中防火墙是一个非常的强大的功能了,但对于centos 7中在防火墙中进行了升级了,下面我们一起来详细的看看关于centos 7中防火墙使用方法. FirewallD 提供了支持网络 ...
- WCF学习之旅—WCF服务配置(十四)
一.概述 我们在前面章节中讲了寄宿,在前面的实例中也用到了配置文件,这一篇主要讲讲如何在应用配置文件,提高WCF程序的灵活性.在编写WCF服务应用程序时,编写配置项也是其中一项主要工作,在前面的几个示 ...
- 带后台服务配置的tomcat使用
tomcat服务启动,将不需要手动启动startup.bat,避免cmd窗口的出现,因为隐藏到后台服务执行: 1,下载. 官网:http://tomcat.apache.org/download-70 ...
- 【WCF全析(二)】--服务配置部署详解
上篇文章主要讨论了WCF的基本内容,其中包括WCF的术语.创建方法及WCF在开发过程中使用的意义,它不仅能够提供程序之间的通信,而且还能提供程序和数据间的通信,WCF提供了多样化的程序 ...
- WCF服务配置编辑器使用
学习wcf,特别是初学者,配置文件很难搞懂,有点复杂,自己手动配置哪有这么多精力啊,这不是吃的太饱了吗,所以学会使用配置编辑器是必须的,下面是学习的流程图. 打开工具的wcf服务配置编辑器,点击文件= ...
- WCF初探-6:WCF服务配置
WCF服务配置是WCF服务编程的主要部分.WCF作为分布式开发的基础框架,在定义服务以及定义消费服务的客户端时,都使用了配置文件的方法.虽然WCF也提供硬编程的方式,通过在代码中直接设置相关对象的属性 ...
- WCF初探-7:WCF服务配置工具使用
在上一篇WCF服务配置中,文章讲解了WCF的配置所需要的基本节点和属性构造,但是对于初学者的我们在编写程序的时候,往往对这些节点的位置和属性不是特别清楚,所以就导致我们的因配置文件错误而不能运行服务程 ...
随机推荐
- JMeter生成HTML性能报告
有时候我们写性能报告的时候需要一些性能分布图,JMeter是可以生成HTML性能报告的 一.准备工作 1:jmeter3.0版本之后开始支持动态生成测试报表 2:jdk版本1.7以上 3:需要jmx脚 ...
- Swing小技巧总结
1. 使JDialog位于屏幕的中央 public void setToScreenCenter(JDialog jd) { Dimension screenSize = Tool ...
- 夏令营讲课内容整理 Day 3.
本日主要内容是树与图. 1.树 树的性质 树的遍历 树的LCA 树上前缀和 树的基本性质: 对于一棵有n个节点的树,必定有n-1条边.任意两个点之间的路径是唯一确定的. 回到题目上,如果题 ...
- 一步一步从原理跟我学邮件收取及发送 12.telnet命令行收一封信pop3
本系列上一篇文章中我们就说到了,这一次我们要说 pop3 收信了.虽然我觉得应该先说完 mime 格式,不过估计大家已经不耐烦了 -- 怎么老在说发送啊?我们要看收取! 好吧,来啦,来啦!收取邮 ...
- php 数组变成树状型结构
<? php $stime = microtime(true); $nodes = [ ['id' = > 1, 'pid' = > 0, 'name' = > 'a'], [ ...
- LeetCode - 596. Classes More Than 5 Students
There is a table courses with columns: student and class Please list out all classes which have more ...
- 12小时格式Xcode的-在一个“TimePicker”24 NSDate的设置
我正在使用的NSDate对象,和好了,我的iPhone与24小时格式,所以当我在测试我的应用程序,一切正常,但是,我的一个朋友试图在他的iPhone上的应用程序 CodeGo.net,但12小时格式, ...
- 定时执行 Job - 每天5分钟玩转 Docker 容器技术(135)
Linux 中有 cron 程序定时执行任务,Kubernetes 的 CronJob 提供了类似的功能,可以定时执行 Job.CronJob 配置文件示例如下: ① batch/v2alpha1 是 ...
- [工具]Microsoft To-Do,简约还是简陋?
1. 简介 微软收购奇妙清单后,由奇妙清单的原班人马打造了一个全新的待办事项应用,就叫"To-Do"(简单粗暴,好像新浪微博直接就叫"微博"的感觉).这个应该刚 ...
- java 中对对象的调用
java程序设计语言对对象采用的不是引用的调用,实际上对象引用进行的是值得传递.(from:核心卷1 page:123)