[网络安全学习篇31]:Linux 防火墙 iptables 中 filter(包过滤防火墙)和 nat(路由转换)详解

引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足;对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以我就想到了通过写博客(课程笔记)的形式去学习它,虽然写博客会让我多花几倍的时间去学习它,但是当我完成一篇博客所获得的成就感和你们对于我的认同感,让我很满足,能够鼓励我一天天的坚持下去,也希望和我一起学习本期视频的"同道"们也能给一直坚持下去。我们大家一起加油。由于作者本身也是网络信息安全小白,大部分知识点都是初次接触,出现对其理解不深入,不完整,甚至也会出现错误有问题的地方,希望大家谅解、留言提出指正,同时也欢迎大家来找我一起交流学习!!!

 

往期博客:

第一阶段:

[网络安全学习篇1]:windowsxp、windows2003、windows7、windows2008系统部署(千峰网络安全视频笔记)

[网络安全学习篇24]:漏洞与木马(千峰网络安全视频笔记 p117-p118)

第二阶段:

[网络安全学习篇25]:初识Linux及简单命令

[网络安全学习篇26]:Linux下的命令帮助、压缩、vim、软件安装的学习

[网络安全学习篇27]:Linux操作系统的用户和组、文件及目录权限(千峰网络安全视频笔记 p134-p139)

[网络安全学习篇28]:网络地址的配置 日志文件的管理、备份及日志服务器的搭建

[网络安全学习篇29]:apache与lamp平台的搭建

[网路安全学习篇30]:Nginx和Tomcat服务的搭建、Nginx+Tomcat负载均衡的实现

[网络安全学习篇31]:Linux 防火墙 iptables 中 filter(包过滤防火墙)和 nat(路由转换)详解(本篇)

下期博文:

[网络安全学习篇32]:Linux脚本编写汇总及应用

 

目录

 

防火墙iptables

filter

filter的3条链

filter规则写入

iptables的基本语法

注意事项:

数据包的基本控制类型

写入规则

添加新的规则

查看规则列表

删除、清空规则

匹配条件

导出备份规则

nat

SNAT模式(源地址转换)

DNAT模式(目标地址转换)


防火墙iptables

iptables 工具

4个功能(表):

  1. raw    不常配置
  2. mangle    不常配置
  3. nat
  4. filter   过滤

filter

包过滤防火墙

查看filter的详细规则

  • iptables -t filter -nvL

filter的3条链

每个表都有专门写规则的地方(链)

INPUT 入站链

注:规则是从上向下逐条进行匹配。

FORWARD   转发规则链 

(当源地址192.168.1.1 以及目标地址172.16.1.20 都不是本机)

 

对iptables -t filter -nvl     

  • watch -n1 iptables -t filter -nvl     

 

OUTPUT 出站链

 

filter规则写入

格式

  • iptables -t filter -I INPUT -p tcp --dport 90 -j ACCEPT

查看filter规则表:

这样,我们就可以在外部访问这台服务器的网站了。

iptables的基本语法

注意事项:

  1. 不指定表名时,默认指向filter表
  2. 不指定链名时,默认表内所有链
  3. 除非设置链的默认策略,负责必须指定匹配条件
  4. 选项、链名、控制类型使用大小字母,其余均为小写

数据包的基本控制类型

  • ACCEPT 允许通过
  • DOROP 直接丢弃,不给出任何提示
  • REJECT 拒绝通过,必要时给出提示
  • LOG 记录日志信息,然后传给下一条规则继续匹配

我们可以实际操作(icmp协议PING)看一下DOROP的REJECT的区别

REJECT

写入规则

  • iptables -I FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 -j DROP

DROP

注:相同的规则最上面的生效

添加新的规则

  • -A   在链的末尾追加一条规则
  • -I 在链的开头(或指定序号)插入一条规则

例如:

查看规则列表

  • -L 列出所有规则条目
  • -n 数字的形式显示地址、端口信息
  • -v 以更详细的方式显示规则信息
  • -line-number 查看规则时,显示规则的序号

删除、清空规则

  • -D 删除链内指定序号(或内容)的一条规则
  • -F 清空所有的规则

删除EORWARD链中的序号2对应的规则

  • iptables -D FORWARD 2    

清空FORFARD链中所有的规则

  • iptables -F FORWARD 

当我们清空后,是不是规则就一直没有了呢

防火墙默认时保存其原来的配置的,只要重启iptables防火墙的服务,它之前的规则就又会出来了

  • service iptables restart

指定默认策略

  • -P

注:默认策略的选择只有DROP和ACCEPT

将FORWARD的默认策略改为DROP

iptables -P FORWARD DROP

匹配条件

常见的通用匹配条件

  • 协议匹配 -p [协议名]
  • 地址匹配 -s [源地址] -d [目的地址]
  • 接口匹配 -i [入站网卡] 、-o [出站网卡]

常见的隐含匹配条件

  • 端口匹配 --sport [源端口]、--dport [目的端口]
  • TCP标记端口 --tcp-flags [检查范围] [被设置的标记]
  • ICMP类型匹配 --icmp-type [ICMP类型]

例如:

ICMP类型 : 8 请求 0 回显 3 不可达

常见的显示匹配条件

  • 多端口匹配 -m multiport -- sport [源端口列表]、-m multiport -- sport [目的端口列表]
  • IP范围匹配 -m iprange --src-range [IP范围]
  • MAC地址匹配 -m mac --mac-source [MAC地址]

导出备份规则

  • iptables-save工具
  • 可结合重定向输出保存到指定文件

将当前状态保存到一个桌面的文件中

导出:

  • iptables-save > /root/Desktop/ipt.txt

导入:

  • iptables-restore < /root/Desktop/ipt.txt

将当前状态保存为默认规则

  • service iptables save

无论你重启多次,它也会一直存在生效

 

nat

网络地址转换

关于NAT桥接的详细信息,见我的博客:

[网络安全学习篇19]:NAT、动态路由及实验(千峰网络安全视频笔记 19 day)

SNAT模式(源地址转换)

实验

 

Linux网关服务器

查看nat表

  • iptables -t nat -nvL

  • iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.1.0/24 -j SNAT --to-source 12.34.56.78

 

写入成功

配置FORWARD

清空FORWARD即可

  • iptables -F FORWARD

PC访问成功

 

如果Linux网关服务器ip地址变换,

这里我们可以看到PC无法访问

写入新的规则

  • iptables -t nat -A POSTROUTING -p tcp -o eth1 -s 192.168.1.0/24 -j MASQUERADE

写入成功

可以看到这里的-A没有生效

删除它上面的规则,使其生效

  • iptables -t nat -D POSTROUTING 1

PC可以成功访问了

 

DNAT模式(目标地址转换)

实验

 

实验原理:

确认是外网的PC访问80带端口

如果不是,就将其扔给filter表的INPUT链

注:这里有个优先级的顺序,我们的nat表中的链的优先级是高于filterl表中的链

Linux网关服务器

设定路由前规则

  • iptables -t nat -A PREROUTONG -i eth1 -d 12.34.56.80 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:8080

再结合前面一个实验我们配置好的路由后的规则

外网PC通过80端口成功访问内网服务器的8080端口

 


参考文献:

B站千峰网络信息安全开源视频课程

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beglage

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值