Linux里的防火墙(中):使用iptables实现DNAT和SNAT
来源:互联网 发布:淘宝店招950x120 编辑:程序博客网 时间:2024/05/18 01:02
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实现:
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
(一)假设一个公司只有一个外网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.1iptables -t nat -A PREROUTING -d 64.152.22.14 -p tcp --dport 3306 -j DNAT --to-destination 192.168.0.1
- Linux里的防火墙(中):使用iptables实现DNAT和SNAT
- iptables防火墙详解(二)SNAT和DNAT
- iptables的DNAT和SNAT
- IPtables中SNAT、DNAT和MASQUERADE的含义
- iptables中DNAT、SNAT和MASQUERADE的理解
- IPtables中SNAT、DNAT和MASQUERADE的区别
- 五十 IPtables中SNAT、DNAT和MASQUERADE的含义
- IPtables中SNAT、DNAT和MASQUERADE的含义
- IPtables中SNAT、DNAT和MASQUERADE的含义
- IPtables中SNAT、DNAT和MASQUERADE的含义
- IPtables中SNAT, DNAT和MASQUERADE的区别
- IPtables中SNAT、DNAT和MASQUERADE的含义
- iptables中DNAT、SNAT和MASQUERADE的理解
- IPtables中SNAT、DNAT和MASQUERADE的含义
- iptables中DNAT、SNAT和MASQUERADE的理解
- iptables中DNAT、SNAT和MASQUERADE的理解
- IPtables中SNAT、DNAT和MASQUERADE的含义
- iptables中DNAT、SNAT和MASQUERADE的原理
- 面向对象设计模式纵横谈(李建中)
- 获取某个月的第一天和最后一天
- 中缀表达式转后缀表达式(逆波兰式)的C++代码
- 规划数据仓库的关键问题
- 攻击方式学习之(1) - 跨站式脚本(Cross-Site Scripting)
- Linux里的防火墙(中):使用iptables实现DNAT和SNAT
- Win7 IIS7 HTTP 错误 404.2 - Not Found解决方法
- 只有一个实例的类
- How to get a type in C++ when its template argument is the argument
- UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
- 关于二十三种设计模式的另解
- XCODE4+iOS4.3在开发中遇到的苦逼问题汇总。
- Linux里的防火墙(下):iptables的扩展模块——l7-filter的安装与功能实现
- Asp.net MVC学习日记十二(强大的MvcContrib,自动生成html元素)