动手实验iptables的NAT功能实现流量穿透

1.NAT和iptables理论见:

http://lustlost.blog.51cto.com/2600869/943110

2.引子

近期,有同事抱怨说数据入库时,由于数据库所在的服务器只有内网网段,现在只能通过nginx做一个http的代理

来解决外网的数据入库问题,勉强可用但是只局限于http协议(别的用不了,比如tcp或udp等)。

NAT可以方便的完成这种流量穿通功能,即把外网数据通过NAT(中转设备)来穿透进内网,内网数据通过NAT(中转设备)穿透出外网。

3.搭建实验环境

192.168.25.190设备(当做一个web server使用)

192.168.10.5(中转设备,做NAT)

192.168.10.7(内网设备)

在192.168.25.190设备上使用命令"python -m SimpleHTTPServer 18088"在18088端口开启一个web服务。

在192.168.10.5设备上使用命令"iptables -t nat -A POSTROUTING -s 192.168.10.7/32  -j SNAT --to-source 192.168.10.5"开启SNAT功能.

在192.168.10.7设备上修改gateway网关为192.168.10.5(根据需要,可以自行配置路由,如route add -net 10.0.0.0/24 gw 172.16.93.129)

4.实验

实验1

登陆10.7设备使用命令“wget http://192.168.25.190:18088/install.log”(install.log存在),发起一个GET请求成功后对比2端(10.7与25.190)md5值发现一致

观察25.190上web server日志可以发现到192.168.10.5的请求日志(NAT把10.7的请求转换为10.5)

实验2

登陆10.5设备使用命令"tcpdump -i eth0 "icmp" -n"

在10.7设备上使用"ping www.baidu.com"

结果如下:

www.baidu.com对应的ip是61.135.169.125.

可见第1和第3个是原始包,第2和第4个是经过NAT加工的包。

时间: 2024-07-31 21:39:29

动手实验iptables的NAT功能实现流量穿透的相关文章

Linux主机上通过iptables实现NAT功能

实验:如下模型,node1为内网主机,IP地址为192.168.10.2:node3为外网主机,IP地址为10.72.37.177(假设此地址为公网地址),node3上提供web server和FTP Server的功能:内网主机node2主机有2块网卡,地址分别为eth0:192.168.10.1和eth2:10.72.37.91(假设此地址为公网地址): 现要求在node2上通过iptables配置实现SNAT功能,并做如下限制: 1.node1可以访问node3提供的web服务和ftp服务

防火墙iptables实现Linux强大的NAT功能

1.概述1.1 什么是NAT在传统的标准的TCP/IP通信过程中,所有的路由器仅仅是充当一个中间人的角色,也就是通常所说的存储转发,路由器并不会对转发的数据包进行修改,更为确切的说,除了将源MAC地址换成自己的MAC地址以外,路由器不会对转发的数据包做任何修改.NAT(Network Address Translation网络地址翻译)恰恰是出于某种特殊需要而对数据包的源ip地址.目的ip地址.源端口.目的端口进行改写的操作.1.2 为什么要进行NAT我们来看看再什么情况下我们需要做NAT.假设

Cisco PT模拟实验(19) 路由器的NAT功能配置

Cisco PT模拟实验(19) 路由器的NAT功能配置 实验目的: 掌握NAT网络地址转换的原理及功能 掌握静态NAT的配置,实现局域网访问互联网 掌握广域网(WAN)接入技术的原理 实验背景: 为适应公司不断增长的业务需求,公司欲通过Web服务器发布网站,现要求将内网的服务器IP地址映射为全局IP地址,实现外部网络可以访问公司内部服务器www服务,可在出口路由器上配置NAT功能. 技术原理: 网络地址转换(NAT,Network Address Translation)属于接入广域网(WAN

iptables 的NAT使用实验

+----------------------+                  +--------------------------+                +------------------+|  192.168.1.12 |   <-------->    |  192.168.1.11   |   <-------->  |  10.1.1.2    ||                         |                  |    10.

linyux iptables SNAt NAT 【原创】

rpm -ql iptables 查看安装的模块 iptables -t filter -L –n iptables -L –n这两个命令的效果是一样的 iptables -t nat -L –n查nat表 iptables -t mangle -L –n查mangle表 ============================================== [[email protected] ~]# iptables -help Usage: iptables -[AD] chain 

Linux服务--iptables之nat转发和构建简单的DMZ防火墙

iptables之nat转发和构建简单的DMZ防火墙 一.NAT iptables 中的nat表: nat:Network Address Translation:NAT不仅完美地解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机. nat有三种实现方式:SNAT,DNAT和端口多路复用OverLoad 在了解Nat工作原理之前先了解一下私网IP和公网IP.私网IP地址是指局域网内部网络或主机的IP地址,公网地址是指在因特尔网上全球唯一的IP地址. 私有

Linux防火墙(iptables )的功能详解二

iptables/netfilter的网络防火墙 接上文继续讲解网络防火墙和nat功能的基础功能: 网络防火墙的功能简单讲就是,所有经由本机的一个接口进来的报文在本地路由决策后路由的目标地址不是本机,需要帮忙转发到其它网络当中或来源网络中去的这种请求时的场景,我们就称为转发功能: 那么转发的报文必须是经由forward链(含三个链,prerouting,forward,postrouting),不过过滤只能在forward实现: 请注意:定义在forward链上的策略只对那些经由本机转发的报文才

iptables 之NAT

实验前必知道 1 linux主机IP地址是属于主机的不是属于网卡的 2 linux主机需要进行转发路由数据包,需要开启ip_forward 功能 3 iptables 原理 当一台 服务器设备作为 防火墙设备的功能的时候,其 数据包经过的各个链的流向图,因为不经过本机所以不经过INPUT 和 OUTPUT链 实验图: 利用虚拟机 设备A linux    设备Firewall: linux 主机   设备B: winXP 主机 1 ip_forward 功能 完成了 所有主机的 ip地址配置 1

iptables之NAT实现

nat的优点:      防护内网中的主机,保护主机的安全      解决c类地址短缺的情况 SNAT和DNAT的区分是根据请求的源地址转换还是目标地址转换而决定的 以下实验中,内网的主机,将网关指向192.168.100.1这个地址 SNAT:源地址转换 拓扑: 过程解析: 报文的源地址为192.168.100.2,目标地址为外面主机地址211.70.160.16 但是到达nat服务器的eth0后,将报文的源地址改变成eth0的地址211.70.160.1 这个地址是一个公网地址 外网的web