V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liashui
V2EX  ›  程序员

这个 nat 规则怎么解释呢? iptables -t nat -A POSTROUTING -s 10.0.0.1 ! -d 10.0.0.1 -j MASQUERADE

  •  
  •   liashui · 2017-02-24 16:50:42 +08:00 · 15098 次点击
    这是一个创建于 2831 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的理解:
    1.“-t nat -A ” 表示给 nat 表添加规则到末尾
    2.“ POSTROUTING -s 10.0.0.1 -j MASQUERADE ”表示来自 10.0.0.1 的数据包的来源改成 eth0 的 ip 发出去

    疑问:
    1.“! -d 10.0.0.1 ” !代表了什么意思?求高手解答
    10 条回复    2017-02-25 03:07:11 +08:00
    bellchu
        1
    bellchu  
       2017-02-24 17:04:33 +08:00
    !代表除 10.0.0.1 的所有地址
    bozong
        2
    bozong  
       2017-02-24 17:05:33 +08:00
    同上
    Beebird
        3
    Beebird  
       2017-02-24 17:07:30 +08:00
    源地址为 10.0.0.1 ,且目标地址不是 10.0.0.1 的全部数据包吧
    liashui
        4
    liashui  
    OP
       2017-02-24 17:10:43 +08:00
    @bellchu @bozong 谢谢给我回复,那就是对 source 是 10.0.0.1 & destination 为非 10.0.0.1 的包 做一次 source ip 的伪装,这样子理解对吗?
    liashui
        5
    liashui  
    OP
       2017-02-24 17:15:48 +08:00
    @Beebird 我现在理解和你一样
    bellchu
        6
    bellchu  
       2017-02-24 17:18:01 +08:00
    @liashui Masquerade NAT 是个很中性的词组哈
    liashui
        7
    liashui  
    OP
       2017-02-24 17:24:14 +08:00
    @bellchu Masquerade Nat 很中性,怎么个说法呢?
    liuchen9586
        8
    liuchen9586  
       2017-02-24 20:15:39 +08:00
    iptables -t nat -A POSTROUTING -s 10.0.0.1 ! -d 10.0.0.1 -j MASQUERADE

    向 NAT 表的 POSTROUTING 链条列尾添加一条规则,规则的具体内容是:
    对源 IP 为 10.0.0.1 ,目标 IP 不为 10.0.0.1 的数据包做 IP 伪装,伪装成接口的第一个 IP ,这个功能在所有接口上都激活,但是数据从哪个接口出去,就伪装成哪个接口的第一个 IPv4 的 IP 。
    liashui
        9
    liashui  
    OP
       2017-02-25 00:14:04 +08:00
    @liuchen9586 你所说的接口是 eth0 , eth1 , tun0 这些?, ipv4 我明白,第一个 ipv4 什么意思呢?
    liuchen9586
        10
    liuchen9586  
       2017-02-25 03:07:11 +08:00
    @liashui 一个接口上可能会有多个 IPv4 地址, MASQUERADE 会取第一个 IP 做 NAT 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3130 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 13:57 · PVG 21:57 · LAX 05:57 · JFK 08:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.