• ip netns网络空间使用


    SNAT 源地址转发

    执行ip netns exec route_br_ens192_0 iptables -nL POSTROUTING -t nat --line-numbers
    输出如下:

    Chain POSTROUTING (policy ACCEPT)
    num  target     prot opt source               destination         
    1    SNAT       all  --  0.0.0.0/0            192.168.1.15         to:192.168.1.20
    
    • 1
    • 2
    • 3
    这是一个iptables的POSTROUTING链的规则列表,它用于在数据包离开系统后,但在网络设备上发送到目标之前对数据包进行处理。
    
    
    第一行是规则的编号(num)。这是规则在链中的位置,可以用来引用或删除规则。
    
    target 列列出了规则的目标。在这里,目标是 SNAT,意味着这是一个源地址转换规则。
    
    prot 指定了规则应用的协议。这里是 all,表示匹配所有协议。
    
    source 指定了匹配的数据包的源地址。在这里是 0.0.0.0/0,表示匹配所有来源的数据包。
    
    destination 指定了数据包的目标地址。这里是 192.168.1.15,表示目标地址是 192.168.1.15。
    
    to: 后面是 SNAT 规则的动作。这里是 192.168.1.20,表示源地址会被替换成 192.168.1.20。
    
    总结一下,这条规则的作用是将所有从 192.168.1.15 发出的数据包的源地址替换为 192.168.1.20。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    常用命令

    # 查询网络空间
    ip netns list
    
    # 查询网络空间中的DNAT SNAT映射关系
    ip netns exec route_br_ens192_2 iptables -nL PREROUTING -t nat --line-numbers
    ip netns exec route_br_ens192_2 iptables -nL POSTROUTING -t nat --line-numbers
    
    # 根据编号删除对应映射关系
    ip netns exec {netnsName} iptables -D PREROUTING 1 -t nat
    ip netns exec {netnsName} iptables -D POSTROUTING 1 -t nat
    
    # 添加新的映射关系
    ip netns exec {netnsName} iptables -t nat -A PREROUTING -d {eip} -j DNAT --to {vmIP}
    ip netns exec {netnsName} iptables -t nat -A POSTROUTING -d {vmIP} -j SNAT --to {ip}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    DNAT 目标地址转发

    Chain PREROUTING (policy ACCEPT)
    num  target     prot opt source               destination         
    1    DNAT       all  --  0.0.0.0/0            10.0.11.200          to:192.168.1.15
    
    ip netns exec route_br_ens192_0 iptables -nL PREROUTING -t nat --line-numbers
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    【leetcode】【剑指offer Ⅱ】039. 直方图最大矩形面积
    『现学现忘』Git基础 — 37、标签tag(二)
    nest.js创建以及error相关问题
    设计模式四:适配器模式
    Python --- 新手小白自己动手安装Anaconda+Jupyter Notebook全记录(Windows平台)
    Tushare上的数据为什么会缺失呢?
    Java-lambda表达式与流处理
    《程序员的七堂课》读书笔记2
    白嫖在线云服务器,免费在 linux 服务器使用 docker 。 附视频+附文档
    设计模式---六大设计原则
  • 原文地址:https://blog.csdn.net/qq_34685213/article/details/132991021