snat dnat测试

今天同事问了个dnat的问题,就是在linux服务器上把某个端口的流量dnat到上面跑的某个kvm虚拟机上没有正常工作,简单看了下就是ip_forward没有打开。。
想着自己也很多没有搞过这些了,简单试试snat+dnat。基本的结构是
目的使用192.168.100.17做代理服务器,专门做SNAT+DNAT,练习NAT的使用。

192.168.125.135(client)–>192.168.100.17(NAT机器)–> 192.168.128.26(DNS服务器)
可以看到这几个IP都不在同一个24掩码的vlan内,所以没有办法把NAT机器设置成DNS机器的网关。所以配置上更加复杂一点,不过也便于理解nat的工作流程。实际就是在prerouting和postroute的对包的操作了。

1. 先在 192.168.100.17上设置DNAT,让从192.168.125.135进来的dns查询包的目的IP修改为192.168.128.26
[bash]
#iptables -t nat -A PREROUTING -i bond0 -p udp –dport 53 -j DNAT –to-destination 192.168.128.26:53
[/bash]

2. 192.168.100.17上设置SNAT,把上面的包在经过路由表后,出去前把source ip改了。
[bash]
#iptables -t nat -A POSTROUTING -o bond0 -p udp -d 192.168.128.26 –sport 53 -j SNAT –to-source 192.168.100.17
[/bash]

此条目发表在net分类目录。将固定链接加入收藏夹。