2024年Linux最新(二)Linux 防火墙----网络防火墙,NET,firewalld,2024年最新2024年大厂Linux运维岗面试必问

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以点击这里获取!

B:桥接网卡(外网)

在这里插入图片描述

中间的要启用路由转发功能

vim /etc/sysctl.conf

net.ipv4.ip_forward=1

sysctl -p生效

希望:内网A可以访问外网,

外网B不能访问内网

穿过forward

iptables -A FORWARD -j RJECT

iptables -I FORWARD 1 -s 192.168.245.0/24 -p icmp --icmp-type 8 -j ACCEPT 请求同意

iptables -I FORWARD 1 -d 192.168.245.0/24 -p icmp --icmp-type 0 -j ACCEPT 应答

或者(意思是,只要ping出去,回来的报文就能收到)

iptables -I FORWARD 1 -s 192.168.245.0/24 -p icmp --icmp-type 8 -j ACCEPT 请求同意

iptables -I FPRWARD 1 -m state --state ESTABLISHED,RELATED -j ACCEPT

希望内网可以访问外网的http/https服务mod_ssl

iptables -I FORWARD 2 -s 192.168.245.0/24 -p tcp -m multiport --dports 80,443 -j ACCEPT

iptables -I FPRWARD 1 -m state --state ESTABLISHED,RELATED -j ACCEPT

希望外网可以访问内网的http/https服务

iptables -I FORWARD 2 -d 192.168.245.129 -p tcp -m multiport --dports 80,443 -j ACCEPT

将内访问外网的规则规划为一个新的链

iptabkes -N TOINTERNET

在这里插入图片描述

将自定定义的规则关联到forward中

也就是在forward中塞入一个规则

iptables -I FORWORD 2 -j TOINTERNET

在这里插入图片描述

最后如果想有什么变化,就可以直接修改自定义连,而无需动用FORWARD链

删除自定义链

iptables -D FORWARD 2

iptables -F TOINTERNET

iptables -X TOINTERNET

共有ip

在这里插入图片描述

私有地址

在这里插入图片描述

查看自己先在用什么ip上网(公有地址)

在这里插入图片描述

不能用公有地址,配置自己的局域网

例如:如果自己的局域网配成8.8.8.8/8

那么8.0.0.0/8这个网段的主机会导致所有外网都不能访问

可与用NAT—套NAT解决(不建议)

七. NAT

=========================================================================

实现局域网(用私有地址)访问互联网

一般会在NAT上设置正向代理

NAT: network address translation

PREROUTING,INPUT,OUTPUT,POSTROUTING

请求报文:修改源/目标IP,由定义如何修改

响应报文:修改源/目标IP,根据跟踪机制自动实现

在局域网方外外网是,他会将局域网中的私有地址(用NET)转换为共有地址,进而访问外网,同理回应包,也会转换为私有地址,给局域网内部

SNAT:source NAT POSTROUTING, INPUT

让本地网络中的主机通过某一特定地址访问外部网络,实现地址伪装(只替换原地址

请求报文:修改源IP

DNAT:destination NAT PREROUTING , OUTPUT

把本地网络中的主机上的某服务开放给外部网络访问(发布服务和端口映射),但隐藏真实IP(只替换目标地址

请求报文:修改目标IP

PNAT端口和IP都参与转换(每一台电脑对应一个端口)

端口和IP都进行修改

2. SNAT


请求报文:修改源IP,变成公网ip,也就是最后局域网的地址就会映射为公网ip(代替了内网的私有网络)

实现SNAT:局域网访问外网

网管关心(管理企业内部的网络)

在这里插入图片描述

nat表的target:

SNAT:固定IP,企业专线

–to-source [ipaddr[-ipaddr]][:port[-port]]固定的地址(防火墙上的公网地址)

–random

最后的汇总用POSTROUTING,必须是局域网

nat表,做地址转换

iptables -t nat -A POSTROUTING -s LocalNET ! -d LocalNet -j SNAT --to-source ExtIP

示例:

iptables -t nat -A POSTROUTING -s 10.0.1.0/24 ! –d 10.0.1.0/24 -j SNAT

–to-source 172.18.1.6-172.18.1.9

MASQUERADE:动态IP,如拨号网络

需要伪装

–to-ports port[-port]

–random

-j MASQUERADE 伪装,一直用这一个公有地址替换

iptables -t nat -A POSTROUTING -s LocalNET ! -d LocalNet -j MASQUERADE

iptables -nvL -t nat

示例:

iptables -t nat -A POSTROUTING -s 10.0.1.0/24 ! –d 10.0.1.0/24 -j MASQUERADE

实现SNAT局域网访问外网

因为firewall和公网在同一网段,所以这里不需要网关

在这里插入图片描述

所以直接用ApingB,不通,因为B没有网关,消息回不来

所以给他配置SNAT,拿firewall右端的公网替代

注意中间的firewall的路由转发功能必须启用

vim /etc/sysctl.conf

net.ipv4.ip_forward=1

iptables -t nat -A POSTROUTING -s 192.168.245.0/24 -j SNAT --to-sourse 172.16.0.7

iptables -nvL -t nat

在这里插入图片描述

3. DNAT(重点***)(端口映射,只能一对一)


请求报文:修改目标IP(端口映射,只能一对一)

外网访问内网,当做调度器

在prorouting 链

nat表

运维关注:DNAT,反向代理,等

在这里插入图片描述

DNAT

–to-destination [ipaddr[-ipaddr]][:port[-port]]

iptables -t nat -A PREROUTING -d ExtIP -p tcp|udp --dport PORT -j DNAT --to-destination InterSeverIP[:PORT]

示例

iptables -t nat -A PREROUTING -s 0/0 -d 172.18.100.6 -p tcp --dport 22 -j DNAT --to-destination 10.0.1.22

iptables -t nat -A PREROUTING -s 0/0 -d 172.18.100.6 -p tcp --dport 80 -j DNAT --to-destination 10.0.1.22:8080

例如:外网可以访问内网(局域网),通过DNAT(如SNAT的图)

将访问172.16.0.7,转换成访问192.168.245.129

iptables -t nat -A PROROUTING -d 172.16.0.7 -p tcp --dport 80 -j DNAT --to-destination 192.168.245.129

4. 转发(端口重定向redirect)重点


将用户访问,本地的端口,转发到另一个端口上去

例如将80------转发到 8080上

在本地服务器转发,而不是firewall转发

REDIRECT:

NAT表

可用于:PREROUTING OUTPUT 自定义链

通过改变目标IP和端口,将接受的包转发至不同端口

–to-ports port[-port]

示例:

将80 端口转发给8080

iptables -t nat -A PREROUTING -d 172.16.100.10 -p tcp --dport 80 -j REDIRECT --to-ports 8080

八. firewalld服务(centos 7)

===========================================================================================

firewalld是CentOS 7.0新推出的管理netfilter的工具

firewalld是配置和监控防火墙规则的系统守护进程。可以实现

iptables,ip6tables,ebtables的功能

firewalld服务由firewalld包提供

firewalld支持划分区域zone,每个zone可以设置独立的防火墙规则

归入zone顺序

先根据数据包中源地址,将其纳为某个zone

纳为网络接口所属zone

纳入默认zone默认为public zone,管理员可以改为其它zone

网卡默认属于public zone,lo网络接口属于trusted zone(信任)

在这里插入图片描述

自己添加协议,端口等

在这里插入图片描述

firewalld zone分类


在这里插入图片描述

dmz两道防火墙,中间夹层(写入局域网可以被访问的主机)

在这里插入图片描述

预定义服务


在这里插入图片描述

firewalld配置


注意iptables和firewall会有所冲突,只能启用一个

firewall-cmd --get-services 查看预定义服务列表

预定义服务的配置

三种配置方法

firewall-config (firewall-config包)图形工具(立即生效)

缺点;如果某些服务,用的不是标准端口,那么就不行

可以自己(定义)添加

firewall-cmd (firewalld包)命令行工具

/etc/firewalld/ 配置文件,一般不建议

firewall-cmd 命令选项


–get-zones 列出所有可用区域

–get-default-zone 查询默认区域

–set-default-zone=设置默认区域

–get-active-zones 列出当前正使用的区域

–add-source=[–zone=]添加源地址的流量到指定区域,如果无–zone= 选项,使用默认区域

–remove-source= [–zone=] 从指定区域中删除源地址的流量,如无–zone= 选项,使用默认区域

–add-interface=[–zone=] 添加来自于指定接口的流量到特定区域,如果无–zone= 选项,使用默认区域

–change-interface=[–zone=] 改变指定接口至新的区域,如果无–zone= 选项,使用默认区域

–add-service= [–zone=] 允许服务的流量通过,如果无–zone= 选项,使用默认区域

–add-port=<PORT/PROTOCOL>[–zone=] 允许指定端口和协议的流量,如果无–zone= 选项,使用默认区域

–remove-service= [–zone=] 从区域中删除指定服务,禁止该服务流量,如果无–zone= 选项,使用默认区域

–remove-port=<PORT/PROTOCOL>[–zone=] 从区域中删除指定端口和协议,禁止该端口的流量,如果无–zone= 选项,使用默认区域

–reload 删除当前运行时配置,应用加载永久配置

–list-services 查看开放的服务

–list-ports 查看开放的端口

–list-all [–zone=] 列出指定区域的所有配置信息,包括接口,源地址,端口,服务等,如果无–zone= 选项,使用默认区域

保存

在命令的最后加 --permanent

生效

用firewall-cmd --reload

查看默认zone

firewall-cmd --get-default-zone

默认zone设为dmz

firewall-cmd --set-default-zone=dmz

在internal zone中增加源地址192.168.0.0/24的永久规则

firewall-cmd --permanent --zone=internal --addsource=192.168.0.0/24

在internal zone中增加协议mysql的永久规则

firewall-cmd --permanent –zone=internal --add-service=mysql

加载新规则以生效

firewall-cmd --reload

在这里插入图片描述

实验:配置firewalld

systemctl mask iptables 无法手动启动iptables

systemctl mask ip6tables 取消无法手动启动

systemctl status firewalld

systemctl enable firewalld

systemctl start firewalld

firewall-cmd --get-default-zone

firewall-cmd --set-default-zone=public

firewall-cmd --permanent --zone=public --list-all

firewall-cmd --permanent --zone=public --add-port 8080/tcp

firewall-cmd —reload

九. firewall其它规则

==================================================================================

在centos7中配置完iptables可以看到

而centos8看不到

当基本firewalld语法规则不能满足要求时,可以使用以下更复杂的规则

rich-rules 富规则,功能强,表达性语言

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

ystemctl start firewalld

firewall-cmd --get-default-zone

firewall-cmd --set-default-zone=public

firewall-cmd --permanent --zone=public --list-all

firewall-cmd --permanent --zone=public --add-port 8080/tcp

firewall-cmd —reload

九. firewall其它规则

==================================================================================

在centos7中配置完iptables可以看到

而centos8看不到

当基本firewalld语法规则不能满足要求时,可以使用以下更复杂的规则

rich-rules 富规则,功能强,表达性语言

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中文名: Linux防火墙 原名: Linux Firewalls: Attack Detection and Response with iptables, psad, and fwsnort 别名: Linux,Firewall,防火墙,iptables,psad,fwsnort 作者: (美)拉什译者: 陈健资源格式: PDF 版本: 中文高清PDF版 出版社: 人民邮电出版社书号: 9787115205803发行时间: 2009 地区: 大陆 语言: 简体中文 简介: 编辑推荐 Amazon 五星盛誉图书,世界级安全技术专家力作,防火墙技术和入侵检测技术的完美结合。 内容简介   本书创造性地将防火墙技术和入侵检测技术相结合,充分展示开源软件的威力。书中全面阐述了iptables防火墙,并详细讨论了如何应用psad、 fwsnort、fwknop 3个开源软件最大限度地发挥iptables检测和防御攻击的效力。大量真实例子以及源代码更有助于读者理解安全防御的原理、技术和实际操作。   本书讲解清晰且实用性很强,适合Linux系统管理员、网络安全专业技术人员以及广大计算机安全爱好者阅读。 作者简介 Michael Rash世界级的安全技术专家,以防火墙、入侵检测系统等方面的造诣享誉安全界。他是psad, fwknop, and fwsnort等著名开源安全软件的开发者,也是屡获大奖的Dragon入侵防御系统的安全架构师。除本书外,他还与人合撰了Snort 2.1 Intrusion Detection和Intrusion Prevention and Active Response等著作,还是Linux Journal、SysAdmin和;login:等著名技术媒体的专栏作家。 目录: 第1章 iptables使用简介 1.1 iptables 1.2 使用iptables进行包过滤 1.3 安装iptables 1.4 内核配置 1.5 安全性和最小化编译 1.6 内核编译和安装 1.7 安装iptables用户层进制文件 1.8 默认iptables策略 1.9 本章总结 第2章 网络层的攻击与防御 2.1 使用iptables记录网络层首部信息 2.2 网络层攻击的定义 2.3 滥用网络层 2.4 网络层回应 第3章 传输层的攻击与防御 3.1 使用iptables记录传输层首部 3.2 传输层攻击的定义 3.3 滥用传输层 3.4 传输层回应 第4章 应用层的攻击与防御 4.1 使用iptables实现应用层字符串匹配 4.2 应用层攻击的定义 4.3 滥用应用层 4.4 加密和应用层编码 4.5 应用层回应 第5章 端口扫描攻击检测程序psad简介 第6章 psad运作:检测可疑流量 第7章 psad高级主题:从签名匹配到操作系统指纹识别 第8章 使用psad实现积极回应 第9章 转换Snort规则为iptables规则 第10章 部署fwsnort 第11章 psad与fwsnort结合 第12章 端口碰撞与单数据包授权 第13章 fwknop简介 第14章 可视化iptables日志 附录A 攻击伪造 附录B 一个完整的fwsnort脚本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值