这个问题以前在网上有人问过,但答案根本不令人信服,甚至不准确。我得到以下 ppp0 设备的 ifconfig 输出(当然,x、y、a、b 是整数)。
ppp0 Link encap:Point-to-Point Protocol
inet addr:x.y.172.234 P-t-P:a.b.145.65 Mask:255.255.255.255
如果以下理解有误,请纠正我我试图理解其背后的理论。xy172.234 是机器的公共 Internet 地址。因此,所有离开机器的数据包都将其作为 SRC IP。
我的阅读告诉我 ab145.65 是默认网关地址。因此,所有数据包都将无条件发送出去以通过该地址路由(环回除外)。
但是只有一种设备。是否分配了多个地址?如果是这样,怎么做?我是否需要阅读 PPPoE 协议才能理解这一点?
如果我使用 eth0 端口将交换机连接到这台机器,并希望使用 IPTables 将这台机器用作防火墙,那么对于内部 LAN 上的机器,默认网关地址是什么?在 Eth0 上分配的 IP 地址?然后来自 Eth0 的数据包被 NAT,如果不是防火墙,则发送到哪个地址?ab.. 地址还是 xy.. 地址?这里有点让人困惑。
任何澄清将不胜感激。
谢谢
如果您想将此机器用作通过 eth0 连接到交换机的计算机的网关,则需要设置 (s)NAT。
一个接口可以附加多个地址,这不是问题。
ifconfig中看到的 IP 地址不必是公共 Internet 地址 - 您的提供商可以为您提供来自私有池的 IP(如 10.xxx)并使用 NAT。
点对点是一种封装协议,旨在“包装” TCP/IP/IPX/Appletalk,无论您在做什么。就其本身而言,您的 ifconfig 条目几乎不会告诉您有关逻辑拓扑的任何信息。它确实告诉您有关物理拓扑的信息——您有两个“外部”IP,它们只相互通信,但没有实际捕获该接口上的流量,您无法真正假设通过它传输的内容。换句话说,它不仅仅是 TCP/IP,而且可能不应该被这样对待。