动手实验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加工的包。

转载于:https://www.cnblogs.com/dodng/p/4387387.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值