iptables 防火墙及NAT技术

本文详细介绍了如何使用iptables进行封包过滤防火墙配置,并深入探讨了NAT(网络地址转换)的工作原理及其配置方法。文章通过实例展示了如何设置POSTROUTING链实现对外服务请求,以及如何设置PREROUTING链提供内部服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义:



第一种防火墙:

第二种防火墙:proxy








第三种防火墙:TCP wrapper (略)

防火墙的布线:


第一种:单一网络 单一路由器:

第二种:内部网络需要更安全的子网防火墙



3,正式看看netfile的实现iptables封包过滤防火墙(在内核2.6以后支持)
首先,规则:


例子



上上图(即9-3-1)的图的规则仅仅是这个图中的某个表格中的一个链。(某个chain)

具体看看有那些表格和每个表格中有哪些链



每个表格各个链之间的关系:


简要分析下ABC三条路径:

由于managle表格很少用到,我们拿掉它之后在看:


三 ,配置各个链表的例子:



第二部分:NAT服务	

在前面的NAT介绍中,介绍了其基本框架。见《VPN+NAT》部分。
那么NAT的原理是什么了,它是怎样实现的。 

即使用iptables可以用来修改包的头部,这就是NAT原理的核心。


前面说过的三张表,现在主要使用NAT表来完成其功能。


首先看看,网络架构:


然后看看iptables主要表和和链在NAT环境下的使用:

如果LAN中的任何一台机器在NAT方式下想要发包出去,它在NAT服务器(即那个防火墙路由器)下面是怎样发出去的。。

即路径B

这里重点是第1 4 两步。即主要修改包的ip地址
PERROUTING修改目标ip  Dest   NAT  DNAT
POSTROUTING修改源ip   Source NAT  SNAT

先看SNAT
发包

再看收包:



注:收包用到了perrouting


前面说的是SNAT,主要是为了让LAN中的用户使用外面的服务。那么要是在LAN里面架设服务器,使得
外面的可以使用LAN中的服务呢?
那就要用到DNAT
2 DNAT



小结:

------------> 请求外面的服务 ,用到POSTRUTINGSNAT
<------------ 向外面提供服务, 用到PRERUTINGDNAT


例子1:设定POSTRUTING链。------------> 请求外面的服务 ,用到POSTRUTINGSNAT

先看看网络架构,如图:


参数设定:LAN 192.168.100.0/24  

linux NAT服务器有两个接口,左边的为eth1192.168.100.254, LAN在同一私有网
                        右边的为eth0,公共IP 
那么怎么设定NAT,使LAN访问外面的世界。


首先,接受从LANeth1的包
iptables -A INPUT -i eth1 -j ACCEPT

再次,是NAT具有转发功能。

echo “1”  > /proc/sys/net/ipv4/ip_forward

最后,添加POSTRUTING链规则。
Iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQCERADE

(经过上面的练习,这个应该看得懂)

LAN中的主机,它们的gateway就设置为NATeth1 192.168.0.254








例子2:设定PRERUTING链。<------------ 向外面提供服务,用到PRERUTINGDNAT



基本上这个图就说明了怎样设置DNAT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值