![Internet USB 加密狗的 ifconfig 输出](https://linux22.com/image/628851/Internet%20USB%20%E5%8A%A0%E5%AF%86%E7%8B%97%E7%9A%84%20ifconfig%20%E8%BE%93%E5%87%BA.png)
这个问题以前在网上有人问过,但答案根本不能令人信服,甚至不准确。我得到了 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.... 地址?这里有点令人困惑。
如能提供任何澄清,我们将不胜感激。
谢谢
答案1
如果您想将此机器用作通过 eth0 连接到交换机的计算机的网关,则需要设置 (s)NAT。
一个接口可以附加多个地址,这不是问题。
看到的 IP 地址是否配置不必是公共互联网地址 - 您的提供商可以从私有池(如 10.xxx)为您提供 IP,并且也使用 NAT。
答案2
点对点是一种封装协议旨在“包装” TCP/IP/IPX/Appletalk,无论您正在进行什么。您的 ifconfig 条目本身几乎没有告诉您有关逻辑拓扑的任何信息。它确实告诉了您有关物理拓扑的信息 - 您有两个“外部”IP,它们只相互通信,但如果没有实际捕获该接口上的流量,您就无法真正假设通过该接口传输的内容。换句话说,它不仅仅是 TCP/IP,可能不应该这样对待。