美文网首页
linux.network.iptables.例子 多次跳转、转

linux.network.iptables.例子 多次跳转、转

作者: 余带盐 | 来源:发表于2018-12-21 17:22 被阅读0次
    ip netns add ns1
    ip netns add ns2
    ip netns add ns3
    ip netns add ns4
    ip li add type veth
    ip li add type veth
    ip li add type veth
    ip li set veth0 netns ns1
    ip li set veth1 netns ns2
    ip li set veth2 netns ns2
    ip li set veth3 netns ns3
    ip li set veth4 netns ns3
    ip li set veth5 netns ns4
    ip netns exec ns1 ip li set veth0 up
    ip netns exec ns2 ip li set veth1 up
    ip netns exec ns2 ip li set veth2 up
    ip netns exec ns3 ip li set veth3 up
    ip netns exec ns3 ip li set veth4 up
    ip netns exec ns4 ip li set veth5 up
    ip netns exec ns1 ip a add 10.0.0.2/24 dev veth0
    ip netns exec ns2 ip a add 10.0.0.1/24 dev veth1
    ip netns exec ns2 ip a add 20.0.0.2/24 dev veth2
    ip netns exec ns3 ip a add 20.0.0.1/24 dev veth3
    ip netns exec ns3 ip a add 30.0.0.2/24 dev veth4
    ip netns exec ns4 ip a add 30.0.0.1/24 dev veth5
    ip netns exec ns1 route add default gw 10.0.0.1 dev veth0
    ip netns exec ns2 route add default gw 20.0.0.1 dev veth2
    ip netns exec ns2 iptables -t nat -A POSTROUTING -j SNAT -s 10.0.0.0/24 --to-source 20.0.0.2
    ip netns exec ns3 iptables -t nat -A POSTROUTING -j SNAT -s 20.0.0.0/24 --to-source 30.0.0.2
    ip netns exec ns1 ping 30.0.0.1
    
    • 网关转发数据包条件
    1. 数据包的目的mac地址=网关的mac地址,这个可以通过路由表指定默认网关实现
    2. 数据包的源ip必须是网关的同网段,这个可以通过SNAT实现

    相关文章

      网友评论

          本文标题:linux.network.iptables.例子 多次跳转、转

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