我刚刚注意到MASQUERADE
iptables
添加的规则lxc
有! -d
一部分:
iptables -t nat -A POSTROUTING -s 10.0.3.0/24 ! -d 10.0.3.0/24 -j MASQUERADE
我的猜测是,-s 10.0.3.0/24 -d 10.0.3.0/24
只有在将数据从一个容器发送到另一个容器(ping
,,,ssh
你能想到的)时才能观察到这一点。而省略该! -d
部分只会影响性能。到了未知的程度。我对吗?
答案1
此规则允许同一子网上的两个不同容器无需经过 NAT 即可相互通信
因此,具有 10.0.3.100 的容器与 10.0.3.101 通信时,对于其他容器来说将显示为 10.0.3.100,而不是主机地址。
这对于各种目的(例如记录活动、访问控制)都是有益的,因为目标容器可以识别源容器。它还允许这些容器不需要默认路由(都是本地子网),因此从安全角度来看是有益的。
当然,它消除了不必要的 NAT 开销!