作者:C.W. Huang | 歡迎非商業轉載,商業用途請先知會
/proc/net/dev 出現 eth0、eth1)。若未偵測到,在 /etc/lilo.conf 加入:append="ether=irq,io-port,eth0 ether=irq,io-port,eth1"重跑
lilo;或用 loadlin 時加入相同參數。外部網路 (140.122.52.0/24)
|
+-------+ eth0 (140.122.52.254) +-------+ eth1 (140.122.52.235) +-------+
| Router| --------------------------------- | Linux | --------------------------------- | Subnet|
+-------+ +-------+ +-------+
| 140.122.52.232/29
+-------+
| Sun | 140.122.52.234
+-------+
用 netconfig 或手動設定 eth0 為 140.122.52.254,連接上層路由器。
預估子網 5-6 台機器,從原網段切割 8 個 IP(140.122.52.232/29,netmask 255.255.255.248,broadcast 140.122.52.239)。設定 eth1:
ifconfig eth1 140.122.52.235 netmask 255.255.255.248 broadcast 140.122.52.239 route add -net 140.122.52.232 netmask 255.255.255.248 gw 140.122.52.235 eth1
測試:從子網 telnet 到 Linux 內網 IP,成功即完成一半。
常見迷思以為雙網卡需不同 IP,實則可設為相同(此例皆為 140.122.52.235/254 視情況)。但此時直接對外 telnet 會失敗,因缺少 ARP 代理。
在 Linux 上為外部機器(如 DOS 140.122.52.236)建立公開 ARP 記錄:
arp -s 140.122.52.236 08:00:77:14:00:00 pub
08:00:77:14:00:00 為 eth0 的 MAC 位址(ifconfig eth0 查詢)。此後子網機器可直接 telnet 到外部,外部也能連入子網。traceroute 會顯示 Linux 路由器在路徑中。
對每台子網主機重複 arp -s,或尋找一次性路由整個子網的方法(歡迎補充)。將上述指令放入 /etc/rc.d/rc.inet1 實現開機自動配置。
.gz 壓縮檔,勿自行解壓(核心自解壓需 gzip header)。