Linux里的防火墙(中):使用iptables实现DNAT和SNAT
2011-08-21 17:28
751 查看
SNAT(源地址转换) 和 DNAT(目标地址转化)都是为了解决网络地址不足而演变出的技术。
相关概念:
SNAT:源地址转换,顾名思义,就是为了将ip数据包里的源地址替换成我们希望替换掉的地址。
DNAT:目标地址转换,是为了将IP数据包中的目标地址转换成我们希望替换掉的地址。
它们的应用:
SNAT
(一)想象一下,一个公司申请到了一个公网Ip,现在公司内有30台电脑,都处于192.168.0.0网段,现在希望访问
互联网,由于192网段属于私有地址,无法在公网上公开。那么现在唯一的方法就是利用这一个公网地址来实现
30台电脑来访问互联网。那么就需要
1 )网关一个,配置公网ip假设是64.152.22.14
2)通过集线器或者交换机将192网段连接到1)上的网关上
3)通过网关,实现SNAT将所有192网段的请求都转变为64.152.22.14的请求。
那么使用iptables怎么实现?
分析:
1)需要用到nat表
2)需要在POSTROUTING里面设置
iptables实现:
(二)另一种情况,假如公司是通过ppp拨号上网,这个时候它的外网地址就是动态的,不确定自己的外网地址。那么这个时候,我们需要用到地址伪装,将所有的内网地址都自动伪装成动态外网地址
DNAT
(一)假设一个公司只有一个外网ip,这个时候,它内部有l两台服务器192.168.0.1 192.168.0.2,分别是http, mysql,希望将这两台服务器都共享到外网,那么这个时候就需要根据这两个服务的端口的不同来配置DNAT
分析:1)HTTP的端口80 MYSQL的端口3306
2)需要用到net表
3)需要在PREROUTING里设置
iptables实现:
相关概念:
SNAT:源地址转换,顾名思义,就是为了将ip数据包里的源地址替换成我们希望替换掉的地址。
DNAT:目标地址转换,是为了将IP数据包中的目标地址转换成我们希望替换掉的地址。
它们的应用:
SNAT
(一)想象一下,一个公司申请到了一个公网Ip,现在公司内有30台电脑,都处于192.168.0.0网段,现在希望访问
互联网,由于192网段属于私有地址,无法在公网上公开。那么现在唯一的方法就是利用这一个公网地址来实现
30台电脑来访问互联网。那么就需要
1 )网关一个,配置公网ip假设是64.152.22.14
2)通过集线器或者交换机将192网段连接到1)上的网关上
3)通过网关,实现SNAT将所有192网段的请求都转变为64.152.22.14的请求。
那么使用iptables怎么实现?
分析:
1)需要用到nat表
2)需要在POSTROUTING里面设置
iptables实现:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 64.152.22.14
(二)另一种情况,假如公司是通过ppp拨号上网,这个时候它的外网地址就是动态的,不确定自己的外网地址。那么这个时候,我们需要用到地址伪装,将所有的内网地址都自动伪装成动态外网地址
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
DNAT
(一)假设一个公司只有一个外网ip,这个时候,它内部有l两台服务器192.168.0.1 192.168.0.2,分别是http, mysql,希望将这两台服务器都共享到外网,那么这个时候就需要根据这两个服务的端口的不同来配置DNAT
分析:1)HTTP的端口80 MYSQL的端口3306
2)需要用到net表
3)需要在PREROUTING里设置
iptables实现:
iptables -t nat -A PREROUTING -d 64.152.22.14 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1 iptables -t nat -A PREROUTING -d 64.152.22.14 -p tcp --dport 3306 -j DNAT --to-destination 192.168.0.1
相关文章推荐
- 使用iptables防火墙实现简单的IP过滤、SNAT及DNAT
- Linux系列-Red Hat5平台下的Iptables防火墙应用(二)Iptables中必须掌握的两个技术SNAT、DNAT
- iptables实现网络防火墙(二)——SNAT与DNAT
- iptables实现网络防火墙(二)——SNAT与DNAT
- [转]Linux下使用iptables实现包过虑型防火墙
- 【linux】iptables防火墙SNAT和DNAT的简单演示
- 详解iptables防火墙SNAT、DNAT地址转换工作原理及使用
- iptables实现网络防火墙功能,SNAT以及DNAT功能
- iptables实现网络防火墙(二)——SNAT与DNAT
- iptables实现网络防火墙(二)——SNAT与DNAT
- Linux 之 使用iptables作为防火墙
- Linux里的防火墙:netfilter简介与Iptables的使用(上)
- linux 嵌入式环境使用iptables防火墙的一些体验
- linux下防火墙iptables原理及使用
- Mac下使用PF进行端口转发和防火墙配置(类似Linux的iptables)
- 使用 netfilter/iptables 为 Linux(内核 2.4.x )配置防火墙
- linux下防火墙iptables原理及使用
- Linux iptables 防火墙相关命令介绍及使用
- 使用iptables实现软件防火墙
- Linux防火墙iptables学习笔记(四)iptables实现NAT