• 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
  • 相关阅读:
    Swin Transformer理论讲解
    从 Hadoop 迁移,无需淘汰和替换
    sylar服务器框架分析——日志系统
    依赖注入
    AndroidStudio编译错误‘android.injected.build.density‘ is deprecated
    【日志】日志干什么的?日志工厂是什么?log4j 的配置和使用? log4j.properties 文件配置、log4j jar包坐标
    【TypeScript】抽象类的使用 | 类的类型
    Java从入门到熟悉的48道练习题[完结]
    SQL抽象语法树及改写场景应用
    Kubernetes(K8s):容器化应用的航空母舰
  • 原文地址:https://blog.csdn.net/qq_34685213/article/details/132991021