转自:http://blog.csdn.net/bill_lee_sh_cn/article/details/4401896

1.一对一流量完全DNAT

首先说一下网络环境,普通主机一台做防火墙用,网卡两块

eth0 192.168.0.1  内网

eth1 202.202.202.1 外网

内网中一台主机 192.168.0.101

现在要把外网访问202.202.202.1的所有流量映射到192.168.0.101上

命令如下:

  1. #将防火墙改为转发模式
  2. echo 1 > /proc/sys/net/ipv4/ip_forward
  3. iptables -F
  4. iptables -t nat -F
  5. iptables -t mangle -F
  6. iptables -X
  7. iptables -t nat -X
  8. iptables -t mangle -X
  9. iptables -A INPUT -i lo -j ACCEPT
  10. iptables -A OUTPUT -o lo -j ACCEPT
  11. iptables -P INPUT ACCEPT
  12. iptables -P OUTPUT ACCEPT
  13. iptables -P FORWARD ACCEPT
  14. iptables -t nat -A PREROUTING -d 202.202.202.1 -j DNAT --to-destination 192.168.0.101
  15. iptables -t nat -A POSTROUTING -d 192.168.0.101 -j SNAT --to 192.168.0.1

2.多对多流量完全DNAT

说是多对多,实际上这里的配置是指定了多个一对一

环境:

eth0 192.168.0.1  内网

eth1 202.202.202.1 、202.202.202.2 外网

内网中2台主机 192.168.0.101、192.168.0.102

现在要把外网访问202.202.202.1的所有流量映射到192.168.0.101上,同时把把外网访问202.202.202.2的所有流量映射到192.168.0.102上

这里顺便提一下如何为网卡配置多个IP

  1. ifconfig eth1:1 202.202.202.2 netmask 255.255.255.0 up

命令如下:

  1. #将防火墙改为转发模式
  2. echo 1 > /proc/sys/net/ipv4/ip_forward
  3. iptables -F
  4. iptables -t nat -F
  5. iptables -t mangle -F
  6. iptables -X
  7. iptables -t nat -X
  8. iptables -t mangle -X
  9. iptables -A INPUT -i lo -j ACCEPT
  10. iptables -A OUTPUT -o lo -j ACCEPT
  11. iptables -P INPUT ACCEPT
  12. iptables -P OUTPUT ACCEPT
  13. iptables -P FORWARD ACCEPT
  14. iptables -t nat -A PREROUTING -d 202.202.202.1 -j DNAT --to-destination 192.168.0.101
  15. iptables -t nat -A POSTROUTING -d 192.168.0.101 -j SNAT --to 192.168.0.1
  16. iptables -t nat -A PREROUTING -d 202.202.202.2 -j DNAT --to-destination 192.168.0.102
  17. iptables -t nat -A POSTROUTING -d 192.168.0.102 -j SNAT --to 192.168.0.1

3.一对多根据协议DNAT

这个最常用,一般是内网或DMZ区内有多个应用服务器,可以将不同的应用流量映射到不同的服务器上

环境:

eth0 192.168.0.1  内网

eth1 202.202.202.1  外网

内网中2台主机 192.168.0.101(Web服务器)、192.168.0.102(邮件服务器)

现在要把外网访问202.202.202.1的Web流量映射到192.168.0.101上,同时把把外网访问202.202.202.1的邮件访问流量映射到192.168.0.102上

命令如下:

  1. #将防火墙改为转发模式
  2. echo 1 > /proc/sys/net/ipv4/ip_forward
  3. iptables -F
  4. iptables -t nat -F
  5. iptables -t mangle -F
  6. iptables -X
  7. iptables -t nat -X
  8. iptables -t mangle -X
  9. iptables -A INPUT -i lo -j ACCEPT
  10. iptables -A OUTPUT -o lo -j ACCEPT
  11. iptables -P INPUT ACCEPT
  12. iptables -P OUTPUT ACCEPT
  13. iptables -P FORWARD ACCEPT
  14. iptables -t nat -A PREROUTING -d 202.202.202.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.101:80
  15. iptables -t nat -A POSTROUTING -d 192.168.0.101 -p tcp --dport 80 -j SNAT --to 192.168.0.1
  16. iptables -t nat -A PREROUTING -d 202.202.202.1 -p tcp --dport 25 -j DNAT --to-destination 192.168.0.102:25
  17. iptables -t nat -A POSTROUTING -d 192.168.0.102 -p tcp --dport 25 -j SNAT --to 192.168.0.1
  18. iptables -t nat -A PREROUTING -d 202.202.202.1 -p tcp --dport 110 -j DNAT --to-destination 192.168.0.102:110
  19. iptables -t nat -A POSTROUTING -d 192.168.0.102 -p tcp --dport 110 -j SNAT --to 192.168.0.1

linux之iptable案例的更多相关文章

  1. 《Linux企业应用案例精解(第2版)》新书开始发售

    <Linux企业应用案例精解(第2版)>新书开始发售 650) this.width=650;" title="linux企业应用案例精解 第2版" alt= ...

  2. 《Linux企业应用案例精解》一书配套视频发布

    <Linux企业应用案例精解>一书配套视频发布(每周更新视频教程),通过读者平台账号,可以在平台下载AVI格式.所有读者都能获得本书中涉及的软件资料,轻松搭建你的学习环境. 当当购书地址: ...

  3. Linux系统故障处理案例(一)【转】

    2016-08-05 14:41 运行环境:CentOS6.7 故障原因: 昨天在线执行命令yum -y update 在命令执行途中,强制中断并直接运行poweroff命令关机.再次开机出现如图所示 ...

  4. 《Linux企业应用案例精解》一书已由清华大学出版社出版

    <Linux企业应用案例精解>简介 650) this.width=650;" border="0" alt="223754878.jpg" ...

  5. LINUX企业应用案例精解 第2版 李晨光

    LINUX企业应用案例精解 第2版 李晨光 下载地址:https://pan.baidu.com/s/1AAKpc-l-qGTSX5h03M01XA 关注微信公众号获取提取码: 输入:lin7 获取提 ...

  6. 《Linux企业应用案例精解(第2版)》新书发售啦

    本书在出版当年就获得了不错的销量,同时被中国科学院国家科学图书馆.中国国家图书馆.首都图书馆.清华大学.北京大学等上百所国内综合性大学图书馆收录为馆藏图书,在IT业界赢得了良好的口碑.随后2012年年 ...

  7. JMeter监控Linux服务器资源案例

    JMeter是一款压力测试工具,我们也可以用它来监控服务器资源使用情况.JMeter正常自带可以通过Tomcat的/manager/status来监控服务资源使用情况.这种情况只能监控Tomcat支持 ...

  8. Linux系统故障处理案例(一)

    运行环境:CentOS6.7 故障原因: 昨天在线执行命令yum -y update 在命令执行途中,强制中断并直接运行poweroff命令关机.再次开机出现如图所示故障指示: 根据提示信息分析,可能 ...

  9. linux之iptable

    转自:http://seanlook.com/2014/02/23/iptables-understand/ 一. netfilter与iptables Netfilter是由Rusty Russel ...

随机推荐

  1. java面向对象之 多态 Polymorphism

    多态(Polymorphism):用我们通俗易懂的话来说就是子类就是父类(猫是动物,学生也是人),因此多态的意思就是:父类型的引用可以指向子类的对象. 1.多态的含义:一种类型,呈现出多种状态 主要讨 ...

  2. InputStream、OutputStream、String的相互转换(转)

    //1.字符串转inputStream String string; //...... InputStream is = new ByteArrayInputStream(string.getByte ...

  3. C++ Placement New

    先看一个题目: #include <stdio.h> #include <iostream> using namespace std; struct Base { int j; ...

  4. 《Linux 设备驱动程序》读后感。 并发,竞态,死锁。

    1. 概念 并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行. 来源: 1. Linux ...

  5. javascript获取url地址问好后面的值,包括问号

    javascript获取url地址问好后面的值,包括问号 <!DOCTYPE html> <html lang="en"> <head> < ...

  6. [Java 8 Lambda] java.util.stream 简单介绍

    包结构例如以下所看到的: 这个包的结构非常easy,类型也不多. BaseStream接口 全部Stream接口类型的父接口,它继承自AutoClosable接口,定义了一些全部Stream都具备的行 ...

  7. 基于eclipse的mybatis映射代码自动生成的插件http://blog.csdn.net/fu9958/article/details/7521681

    基于eclipse的mybatis映射代码自动生成的插件 分类: JAVA 数据库 工具相关2012-04-29 00:15 2157人阅读 评论(9) 收藏 举报 eclipsegeneratori ...

  8. 使用Swift的代理,闭包来封装一个公用协议减少垃圾代码

    iOS开发中,如果不进行适当的封装,使用协议或者继承类来进行开发,你就会遇到传说中的ViewController(以后简称VC) Hell的问题…… 比如说,我们先声网App中为了调用接口,做简单的判 ...

  9. jquery 点击按钮实现listbox的显示与隐藏,点击其他地方按钮外的地方,隐藏listbox

    本来不知道如何获取服务器的控件的,这下知道可以这么做了,所以记录下来.... <asp:ImageButton ID="alltime" ImageUrl="ima ...

  10. ContentType 属性 MIME

    ".asf" = "video/x-ms-asf" ".avi" = "video/avi" ".doc&qu ...