Xosa 撰寫於文章 <83ukdb$eno$1@news.tw.aunet.net>...
...... [略]
>
>底下是我的 ipchains和 route table,不知道對不對?
>
>[root@dns /root]# ipchains -L
>Chain input (policy ACCEPT):
>Chain forward (policy ACCEPT):
>Chain output (policy ACCEPT):
>[root@dns /root]#


嗯﹐由此看來 ipchains 已經打開了。那麼讓我們集中在 routing 上面吧。
>
>
>[root@dns /root]# route
>Kernel IP routing table
>Destination     Gateway         Genmask         Flags Metric Ref    Use
>Iface
>100.100.2.65    *               255.255.255.255 UH    0      0        0
eth1
>100.100.3.65    *               255.255.255.255 UH    0      0        0
eth2
>100.100.1.7     *               255.255.255.255 UH    0      0        0
eth0
>100.100.3.64    100.100.3.65    255.255.255.192 UG    0      0        0
eth2
>100.100.3.64    *               255.255.255.192 U     0      0        0
eth2
>100.100.2.64    100.100.2.65    255.255.255.192 UG    0      0        0
eth1
>100.100.2.64    *               255.255.255.192 U     0      0        0
eth1
>100.100.1.0     100.100.1.7     255.255.255.192 UG    0      0        0
eth0
>100.100.1.0     *               255.255.255.192 U     0      0        0
eth0
>127.0.0.0       *               255.0.0.0       U     0      0        0 lo
>default         cisco-router.le 0.0.0.0         UG    0      0        0
eth0

看來此表沒有什麼錯誤﹐但下面這幾行實在不必了﹕

>100.100.3.64    100.100.3.65    255.255.255.192 UG    0      0        0
eth2
>100.100.2.64    100.100.2.65    255.255.255.192 UG    0      0        0
eth1
>100.100.1.0     100.100.1.7     255.255.255.192 UG    0      0        0
eth0

既然所屬網卡已經分別屬於各網路之中﹐使用著同一 Net ID ﹐沒有路由的必要。
雖然您這個帶三張網卡的 Linux 已經設定好了﹐但要成功的達成各主機的路由﹐在各
網路中所有主機也要有正確的 route table 才行 (或 DHCP 的路由資訊要設定正確)。



參考您以前的文章﹐其中提到﹕

> 我將他們都設成 ne2000 ,
> > eth0=0x280  5    ip : 100.100.1.1   netmask=255.255.255.0
> > eth1=0x300  9    ip : 100.100.2.1   netmask=255.255.255.0
> > eth2=0x320  10  ip : 100.100.3.1   netmask=255.255.255.0

在設定上述使用 24 bit mask 的﹐怎麼在您的 route table 中卻變成 26 bit 了呢﹖
我想您現在的設定是 26 bit吧﹖而且我相信
﹕100.100.2.65、100.100.3.65、100.100.1.7 分別為 eth1、eth2、eth0 這幾個界面
的 IP﹐它們所連接的網路分別為﹕B、C、A 。

那麼﹐根據您以前的資料﹐我修改下面的設定為﹕

> > 有三個 class C
> >
> >     internet
> >          |
> >          |
> > Cisco Router                         Linux Box
> >          |                                          __
> > 100.100.1.0/26 <-> 100.100.1.7 |__| 100.100.2.65<-> 100.100.2.0/26
> >             網路 A                    100.100.3.65
網路B
> >                                                      |
> >                                                      |
> >                                           100.100.3.0/26
> >                                                 網路C
> >

現在假設在各網路上面其它主機都只有一張網路卡﹐那麼﹕

在網路A (100.100.1.0/26) 的主機應該有類似這樣的 route table﹕
.......
100.100.2.64    100.100.1.7    255.255.255.192    U     0      0        0
eth0
100.100.3.64    100.100.1.7    255.255.255.192    U     0      0        0
eth0
default             cisco-router.le     0.0.0.0                 UG    0
0        0 eth0
.......

在網路B (100.100.2.64/26) 的主機應該有類似這樣的 route table﹕
.......
100.100.1.0      100.100.2.65    255.255.255.192    U     0      0        0
eth0
100.100.3.64    100.100.2.65    255.255.255.192    U     0      0        0
eth0
default              100.100.2.65     0.0.0.0                 UG    0      0
0 eth0
.......

在網路C (100.100.3.64/26) 的主機應該有類似這樣的 route table﹕
.......
100.100.1.0      100.100.3.65    255.255.255.192    U     0      0        0
eth0
100.100.2.64    100.100.3.65    255.255.255.192    U     0      0        0
eth0
default              100.100.3.65     0.0.0.0                 UG    0      0
0 eth0
.......

* 視乎您的實際設定﹐上面的設定或許會有所不同。

然而﹐小弟有一個疑問﹕參考目前所分配的 IP ﹐使用 24 bit mask 已經可以將三個
網路分開了。有什麼特殊原因要使用 26 bit mask 麼﹖如果在各網路中還存在著其它
的子網﹐有一點可以肯定的是﹕您的 route table 將會變得更複雜。