我是豬頭 <ddl.bbs@dragon.seed.net.tw> wrote:
> 請問有辨法同時2部電腦用cable modem上網嗎?!謝謝~~
這是很早以前我在一個私人站 post 的文章, 懶得去管修辭, 您參考就好
------
其實方法很簡單, 家裡有部覺得丟掉可惜, 不丟又不知道拿來幹嘛的 486, 就可以
做到了
首先準備一個小 hub, 我是用 D-Link 的 5 port hubby, 很可愛的那種
另外準備兩張 D-Link DE220PCT, 這張卡真是他媽的好用, 沒用過這麼好用的卡,
第一個是便宜, 第二個是裝到哪, 用到哪...
第一步先把 486 架上 FreeBSD 3.1-19990503-STABLE, 千萬不要用 3.2, 我試的結果
,3.2 怎麼用怎麼掛, shit... -___- 凸
架好以後, 假設兩張網路卡都設定好了, 應該會有 ed0 and ed1
這時去 freebsd.csie.nctu.edu.tw 的 packages 裡面抓回 isc-dhcp-2.b1.pl27
pkg_add 一下就可以了
然後 dhclient ed0, 這時候 ed0 會去跟東森要 ipaddress
要到以後, 再用 natd -n ed0, 指定 ed0 做 Network Address Translation
對於內部的 ip, 隨便你高興怎麼用, 我是用 172.16.xxx.xxx
因此 rc.conf 裡面是設定成
lo0 ed0 ed1 三張卡
不要去對 ed0 做 ifconfig,因為 dhcp client 會自己去幫你設定
另外對 ed1 config
ifconfig_ed1="inet 172.16.0.1 netmask 0xffff0000"
default router 也不要去設定, 交給 dhcp client 去做就好了
gateway="YES"
或者用 sysctl 去把 ip.forwarding 設成 1
另外 kernel 要把 ipfirewall compile in
option IPFIREWALL
option IPDIVERT
option IPFIREWALL_DEFAULT_TO_ACCEPT
pseudo bpfilter 4
重新 make kernel, 裝好之後
/bin/sh MAKEDEV bpf0 bpf1 bpf2 bpf3
重新開機,先用 dhclient ed0 設定 address
再用 natd -n ed0 設定 NAT
接著 ipfw flush
ipfw divert allow all from any to any via ed0
ipfw pass all from any to any
接著就祝各位東森用戶家庭網路用的愉快啦 :->
---
*** 以下是我修正過以後的架設程序 ***
---
1. 安裝兩張網路卡
2. 安裝 FreeBSD 3.1-19990503-STABLE
3. 假設網路卡為 ed0 and ed1
edit rc.conf, 將 ed1 設定成 172.16.0.1 netmask 0xffff0000
設定 ipfirewall_enable="YES"
設定 gateway="YES"
4. 重新 compile kernel
option IPFIREWALL
option IPFIREWALL_VERBOSE
option IPFIREWALL_DEFAULT_TO_ACCEPT
option IPDIVERT
pseudo bpfilter 4
5. cd /dev; /bin/sh MAKEDEV bpf0 bpf1 bpf2 bpf3
6. 安裝 isc-dhcp2.b1.p27
7. 重新開機
8. dhclient ed0
9. natd -n ed0 (一定要先把 ed0 的 ip address 要到, 才可以執行 natd)
10. ipfw -f flush
11. ipfw add divert natd all from any to any via ed0
12. ipfw add pass all from any to any
13. 享受個人的家庭網路吧 :->
------
祝你幸運了 :->
--
Every generation has a legend... 一個愛, 一種探索
Every journey has a first step... 一個真相, 一種仇恨
Every saga has a beginning... 一個叛軍, 一個導師
一個英雄, 一種命運
Star Wars
Episode I - The Phantom Menace