`

iptables的NAT配置

 
阅读更多

nat表需要的三个链:

  1.PREROUTING:可以在这里定义进行目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT;
  2.POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后在执行该链中的规则。
  3.OUTPUT:定义对本地产生的数据包的目的NAT规则。

需要用到的几个动作选项:(真是环境中用大写)

 

 redirect  将数据包重定向到另一台主机的某个端口,通常用实现透明代理和对外开放内网某些服务。
 snat  源地址转换,改变数据包的源地址
 dnat 目的地址转换,改变数据包的目的地址 
 masquerade  IP伪装,只适用于ADSL等动态拨号上网的IP伪装,如果主机IP是静态分配的,就用snat

 PRERROUTING:DNAT 、REDIRECT   (路由之前)只支持-i,不支持-o。在作出路由之前,对目的地址进行修改

 POSTROUTING:SNAT、MASQUERADE (路由之后)只支持-o,不支持-i。在作出路由之后,对源地址进行修改

 OUTPUT:DNAT 、REDIRECT   (本机)DNAT和REDIRECT规则用来处理来自NAT主机本身生成的出站数据包.

一、打开内核的路由功能。

   要实现nat,要将文件/proc/sys/net/ipv4/ip_forward内的值改为1,(默认是0)。

 

二、nat不同动作的配置

 1)MASQUERADE:是动态分配ip时用的IP伪装:在nat表的POSTROUTING链加入一条规则:所有从ppp0口送出的包会被伪装(MASQUERADE)

 

 iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

 

   要想系统启动时自动实现nat,在/etc/rc.d/rc.local文件的末尾添加

   #echo "1">/proc/sys/net/ipv4/ip_forward

   #/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

 2) SNAT:一般正常共享上网都用的这个。

 所有从eth0(外网卡)出来的数据包的源地址改成61.99.28.1(这里指定了一个网段,一般可以不指定)

 iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 61.99.28.1

 

 3)DNAT:目的nat 做智能DNS时会用到

 智能DNS:就是客户端在dns项里无论输入任何ip,都会给他定向到服务器指定的一个dnsip上去。

 在路由之前所有从eth0(内网卡)进入的目的端口为53的数据包,都发送到1.2.3.4这台服务器解析。

 

 iptables -t nat -I PREROUTING -i eth0 -p udp --dport 53 -j DNAT --to-destination 1.2.3.4:53

 iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 53 -j DNAT --to-destination 1.2.3.4:53

 

 

 4)REDIRECT:重定向,这个在squid透明代理时肯定要用到它

 所有从eth1进入的请求80和82端口的数据,被转发到80端口,由squid处理。

 iptables -t nat -A PREROUTING - -i eth1 -p tcp -m multiport --dports 80,82 -j REDIRECT --to-ports 80
分享到:
评论

相关推荐

    iptables系统配置防火墙和NAT功能的实例学习借鉴.pdf

    iptables系统配置防火墙和NAT功能的实例学习借鉴.pdf

    iptables和nat的配置与管理

    iptables和nat的配置与管理,对于iptables的配置与管理都有一定的基础。

    Linux下使用Iptables配置NAT防火墙

    Linux下使用Iptables配置NAT防火墙 分析防火墙技术原理和防火墙类别,结合校园网实际设计使用Linux下的Iptables 防火墙NAT 方案,能够实现NAT和对网络进行用户管理和信息过滤,并能防范一定的网络攻击手段和防病毒 ...

    ubuntu单网卡NAT配置局域网共享上网.docx

    Ubuntu 单网卡 NAT 配置局域网共享上网 一、Ubuntu 单网卡 NAT 配置局域网共享上网简介 Ubuntu 单网卡 NAT 配置局域网共享上网是一种常用的网络配置方法,通过在 Ubuntu 系统中配置 NAT 使局域网内的计算机可以...

    linux iptables防火墙配置

    ### Linux iptables防火墙配置详解 #### 一、iptables与Linux防火墙的演进 Linux系统自诞生以来,其防火墙功能经历了多个阶段的发展。在2.0版内核时代,包过滤机制由`ipfw`承担,配套的管理工具为`ipfwadm`;到了...

    让Linux操作系统NAT服务器支持UpnP

    当检测到这种情况时,NAT设备会自动创建端口映射,使得内部设备可以通过NAT网关与外部网络进行通信,无需用户手动配置。这对于P2P软件尤其有用,因为它们可以自动打开必要的端口,简化了网络设置流程。 要在Linux...

    linux nat服务的配置

    可以在局域网内的客户端上尝试ping广域网客户端的IP地址11.26.0.180,如果能ping通,则表示NAT配置成功。 通过以上步骤,我们可以完成Linux系统下的NAT服务配置,使得局域网内的用户能够访问广域网资源。这对于构建...

    linux下NAT配置详解

    ### Linux下NAT配置详解 #### 一、配置前的准备 在进行Linux下的NAT配置之前,我们需要做一些准备工作。 1. **Linux版本确认** - 本教程基于企业版Linux,具体版本号为2.6.9-34.EL。确保您的Linux系统版本与...

    深入解析iptables防火墙配置与实战应用

    内容涵盖了iptables的不同应用场景、各种常见网络攻击防御(如SYN Flood攻击)、实用配置技巧及其与其他安全系统的整合使用等方面的内容。通过理论讲解与实战练习的组合形式帮助用户全面了解iptables。 适合人群:...

    linux下IPTABLES配置详解

    iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能

    一个iptables的stateless NAT模块实现

    如果你在寻找Linux上配置诸如Cisco设备上的static双向NAT的方法,这个或许就是你想要的; what?你觉得它完不成PAT?是的,它不行。但是想做PAT为何不使用现有的iptables实现呢?它可以自动为你解决元组唯一性问题...

    nat从入门到精通(nat原理 配置 应用)

    - Linux系统中的NAT配置通常通过iptables命令来完成。可以通过设置iptables规则来实现NAT功能,从而让内部网络中的主机能够共享一个公网IP地址访问互联网。 #### 7. Cisco环境中NAT配置 - 在Cisco路由器中配置NAT...

    全方位攻略NAT及其在各种环境下的配置

    - 在NAT配置界面中设置地址池、保留地址以及特殊端口。 - **配置细节:** - 地址池用于存放合法的外网IP地址,例如211.84.20.1至211.84.20.7。 - 保留地址用于静态地址转换,即为特定的内网服务器指定固定的外网...

    NAT+Squid配置

    在IT领域,NAT(网络地址转换)与Squid(一种代理服务器)的结合配置是一种常见的技术手段,用于提供内部网络对互联网的访问控制、流量管理以及安全性增强。以下是对这一主题的深入探讨,包括NAT与Squid的基本概念、...

    linux下防火墙iptables

    linux下防火墙iptables 一、基本知识 二、iptable的安装与配置 禁止端口的实例 强制访问指定的站点 发布内部网络服务器 通过NAT上网 iptables实例

    配置 Linux-iptables

    ### 配置 Linux-iptables详解 #### 一、iptables的基本理论 **1. 规则(Rules)** 规则是网络管理员定义的条件集合,用于判断数据包是否符合特定标准。这些规则存储在内核空间的信息包过滤表中,并且包含了各种...

    iptables基本命令规则简介

    iptables 是基于内核的防火墙,功能非常强大,iptables 内置了 filter,nat 和 mangle 三张表。filter 负责过滤数据包,包括的规则链有,input,output 和 forward;nat 则涉及到网络地址转换,包括的规则链有,...

Global site tag (gtag.js) - Google Analytics