本帖最后由 AmixIce 于 2009-8-3 17:32 编辑
内核应该会通过路由表找到要使用的接口.
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
60.168.80.1 * 255.255.255.255 UH 0 0 0 ppp0
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
default * 0.0.0.0 U 0 0 0 ppp0
比如你要链接到 192.168.0.23 , 他能判断到
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
这个接口可以到达, 那么它就用这个接口发出去.
比如你要链接到 122.0.23.1 , 找不到能到达的接口, 会使用default的接口发出去.
如果没有defualt这一项理由表, ping的时候会报错, 说目标地址不能达到.
但是加上有2个网卡都能到达某个地址, 比如eth0 eth1 接在同一个LAN, 而且要到达一个LAN内的地址, 就不知道怎么处理.
以上个人理解.
|