美文网首页
snat和dnat实验

snat和dnat实验

作者: andymilion | 来源:发表于2019-10-21 09:28 被阅读0次

    三台vm虚机,1台hostonly作为内网 1台hostonly+bridge 做路由 1台bridge 做外网
    内网


    image.png

    路由


    image.png
    外网
    image.png

    1.内网节点设置默认路由为路由节点内网地址
    route add default gw 192.168.183.130

    实验1、内网ping外网节点172.20.45.224,此时因为路由节点未开启路由转发,ping包无法到达外网节点
    实验2、路由节点开启转发echo 1 > /proc/sys/net/ipv4/ip_forward
    假设从内网节点发送http请求,此时外网节点已经收到数据包


    image.png

    三次握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。
    上图中为SYN包到达外网节点,外网节点在回包时发现目的地址非同网段,因此需要交给默认网关,而默认网关的mac地址无法获得(公司开启了802.1认证),因此无法构造回包,即使获得网关mac,此回包也无法到达内网节点

    实验3、路由节点开启snat,开启源地址转换
    iptables -t nat -A POSTROUTING -s 192.168.183.0/24 -j SNAT --to-source 172.20.45.44
    此时内网可正常访问外网服务,此时回包时,目标节点为172.20.45.44,,可直接通过arp获得路由节点172.20.45.44 mac地址


    image.png
    外网节点抓包
    内网节点抓包

    效果:实现内网可以访问外网,外网不可以访问内网
    注意:snat的目的地址不是路由节点自身地址!!!!

    实验4,:dnat
    增加如下规则:
    iptables -t nat -I PREROUTING 1 -d 172.20.45.44 -j DNAT --to-destination 192.168.183.129
    此时从外网节点ping 路由节点


    外网ping路由

    ,其实是在ping内网节点


    内网节点抓包ping
    内网节点抓包http
    外网节点抓包http

    相关文章

      网友评论

          本文标题:snat和dnat实验

          本文链接:https://www.haomeiwen.com/subject/krtmuctx.html