?? adsl組網說明.txt
字號:
首 頁 新聞 | 行情 | 評測 | 調研 | 數碼 | DIY | 學院 | 專題 | 報價查詢 產品論壇 排行榜 報價 | 論壇 | 二手 | 下載 | 博客 | 商城 | Vista | 網址 | 分類
方案庫 | 電子政務 | 技術新知 | 案例分析 | IT故事 | 企業信息化 | 頻 道 最 新 文 章 | RSS聚合資訊
中小企業解決方案 | 教育網絡解決方案 | 家庭網絡解決方案 | 網吧網絡解決方案 | 其他解決方案
導航:ZOL首頁 > 解決方案 > 方案庫 > 家庭網絡解決方案 近日更新
Linux ADSL家庭組網實現詳解
中關村在線 【轉載】 作者:lvyz 2005年01月21日 18:10
家里的臺式機,裝有windows 2000 professional一直做server,本本使用linux做client,后來覺得本本上運行linux太慢,而且也不能在上面隨隨便便做實驗,所以想要把臺式機也裝上linux,這樣一來自然就涉及到了linux下adsl上網和組網的問題,經過幾天的實驗,總算是成功,因此把整個過程寫下來,一來備案,而來希望能對網友們有點幫助。
[size=24:5ef37b98d0]1.概述[/size:5ef37b98d0]
機器配置:
主板芯片: Intel i815e 芯片組
CPU: Intel Tulatin celeron 1.3G
RAM: PC-133 SDRAM 256MB*2
顯卡: TNT2 model 64 32MB
網卡: D-link DFX-530TX-Rev.c (自購,兩機聯機用)
Tenda FAST Ethernet 100Base-TX (裝ADSL時電信配的)
ADSL: 不知名,電信配
做server的臺式機和做client的本本都安裝上了Fedora Core 1和Windows 2000 Professional。
[size=24:5ef37b98d0]
2.準備工作[/size:5ef37b98d0]
主要是獲得DNS,IP,MAC,軟件和一些基本的準備工作。
[size=18:5ef37b98d0]2.1網絡準備[/size:5ef37b98d0]
最好先在server中windows下配置好局域網,使得client中linux能夠通過windows server訪問internet,同時也確定網卡和ADSL modem,省得做無用功;之所以要在client中使用linux來聯結,一來可以為一會兒在linux下配置網卡熟悉一下,二來windows網卡配置很容易,linux下通了,把IP,GATEWAY等抄到windows下無需特別設置一般也通了。
設置很簡單在windows中將聯結client機器的網卡設置好靜態ip,子網掩碼即可。然后在linux客戶端中設置好網卡的靜態ip和子網掩碼,網關設為server中的靜態ip,dns為server中的靜態ip和你的isp提供的dns即可。
我的設置如下:
[code:1:5ef37b98d0]server:ip=210.31.34.2
netmask=255.255.240.0
client: ip=210.31.34.3
netmask=255.255.240.0
gateway=210.31.34.2
dns=210.31.34.2,isp's dns[/code:1:5ef37b98d0]
然后在server上聯上網,測試一下linux下是否能夠瀏覽網絡,一般來說上面的設置正確client就可以訪問internet了,但是也有可能部分防火墻會導致client無法訪問網絡,可以關掉防火墻試試,如果確定是防火墻的問題,請自行查閱防火墻的相關資料。
client能夠訪問internet之后,就可以把當前sever的IP設置記錄下來,以備linux下使用,在windows console(開始->運行->cmd)中運行如下命令:
[code:1:5ef37b98d0]ipconfig /all >c:\ nic.txt[/code:1:5ef37b98d0]
將產生的nic.txt文件拷貝到linux能夠訪問的分區中,以便將來在linux中查看。這一步的目的實際上是要記錄下,server上兩塊網卡的IP和MAC,在linux下可能需要它們來確定哪塊網卡是聯結ADSL modem哪塊網卡是聯結client的(linux下網卡的名字和windows下可不一樣,除非你對網卡硬件十分熟悉,否則千萬不要略過這一步),當然還可以用這個方法查出你的ISP的DNS,前提是他提供的是靜態DNS。
現在server中windows下的工作已經做完了,請將它重啟到linux,client不用動他。
[size=18:5ef37b98d0]2.2需要的軟件[/size:5ef37b98d0]
* C 開發工具 (automake, autoconf, gcc, glibc...),Fedora Core 1下最簡單的方法就是在軟件管理包里面把開發欄下的開發工具全選上.
* 內核源碼,一般來說都會安裝的,如果沒有,請將Fedora Core 1的第三張盤放進光驅,用root執行如下命令:
[code:1:5ef37b98d0]rpm -ivh /mnt/cdrom/Fedora/RPMS/kernel-source-2.4.22-1.2115.nptl.i386.rpm[/code:1:5ef37b98d0]
* pppoe客戶端,可以在http://www.roaringpenguin.com/penguin/open_source_rp-pppoe.php網頁下載到最新版.(如果你想說你不懂英語,那么在這里下載:http://www.roaringpenguin.com/penguin/pppoe/rp-pppoe-3.5.tar.gz)
* 最新版的PPPD(ftp://cs.anu.edu.au/pub/software/ppp / ) ,一般來說應該是安裝了的,如果沒有,建議從上面下載,是tarball,需要自己編譯安裝。
[size=24:5ef37b98d0]3 網卡配置[/size:5ef37b98d0]
先配置好局域網,然后再配置adsl使用的網卡。
[size=18:5ef37b98d0]3.1準備工作[/size:5ef37b98d0]
首先得確定你的兩塊網卡在linux下的設備名,哪塊是eth0,哪塊是eth1,這時就要用到先前在windows下導出的nic.txt文件了,執行如下命令:
[code:1:5ef37b98d0]ifconfig[/code:1:5ef37b98d0]
這時候會顯示你的機器上的網絡信息,比如:
[code:1:5ef37b98d0]eth0 Link encap:Ethernet HWaddr 00:40:05:40:C5:57
inet addr:210.31.34.2 Bcast:210.31.47.255 Mask:255.255.240.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:3075 errors:0 dropped:0 overruns:0 frame:0
TX packets:3759 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1244598 (1.1 Mb) TX bytes:1009199 (985.5 Kb)
Interrupt:12 Base address:0xc000[/code:1:5ef37b98d0]
其中的HWaddr 00:40:05:40:C5:57就是設備eth0的MAC,將它和nic.txt中的MAC對比,就可以確定eth0,eth1分別接的是哪個網絡。如果你的網卡沒有設置為啟動時激活,那么你可能需要運行如下命令:
[code:1:5ef37b98d0]ifup eth0
ifup eth1[/code:1:5ef37b98d0]
來啟動網卡,這個命令似乎是Redhat才有的,其他的發行版不知道怎么啟動,還望各位告知。
通過對比發現,我的eth0接的是局域網,eth1接的ADSL modem。
[size=18:5ef37b98d0]3.2局域網配置 [/size:5ef37b98d0]
現在配置eth0,執行如下命令
[code:1:5ef37b98d0]vi /etc/sysconfig/network-scripts/ifcfg-eth0[/code:1:5ef37b98d0]
修改其BOOTPROTO為static,ONBOOT為yes;并配置好IPADDR,NETMASK,NETWORK,這些配置按照windows中的配置即可,也就是說把nic.txt中的相關數據抄過來就可以了。
我的ifcfg-eth0如下:
[code:1:5ef37b98d0]# VIA Technologies|VT6105 [Rhine-III]
DEVICE=eth0
BOOTPROTO=static
BROADCAST=210.31.47.255
HWADDR=00:40:05:40:C5:57
IPADDR=210.31.34.2
NETMASK=255.255.240.0
NETWORK=210.31.32.0
ONBOOT=yes
TYPE=Ethernet[/code:1:5ef37b98d0]
請根據自己的情況做相應修改。
[size=18:5ef37b98d0]3.3 eth1的配置[/size:5ef37b98d0]
現在我們來配置eth1,根據rp-pppoe的說明檔,eth1不能設置為啟動時激活,不能給它分配IP。因此修改如下:
[code:1:5ef37b98d0]vi /etc/sysconfig/network-scripts/ifcfg-eth1[/code:1:5ef37b98d0]
修改其中的BOOTPROTO為dhcp,ONBOOT=no
我的ifcfg-eth1如下:
[code:1:5ef37b98d0]# Linksys|Network Everywhere Fast Ethernet 10/100 model NC100
DEVICE=eth1
BOOTPROTO=dhcp
HWADDR=00:00:E8:11:26:C5
ONBOOT=no
TYPE=Ethernet
DHCP_HOSTNAME=Cloud.Crop[/code:1:5ef37b98d0]
你可以根據自己的情況做相應的修改。
[size=18:5ef37b98d0]3.4局域網連通測試[/size:5ef37b98d0]
接下來,我們先測試一下局域網是否通了,在server和client上以root運行如下命令:
[code:1:5ef37b98d0]service network restart[/code:1:5ef37b98d0]
之后,雙機就應該可以互相ping通了,如果不行,請再仔細檢查一下上面的設置,網絡不通的原因很多,但是如果你已經按我說的在server windows,client linux的情況下組網成功,那么至少硬件沒問題,軟件原因導致的網絡不通就不在本文討論范圍之內了。
[size=24:5ef37b98d0]4.開始安裝[/size:5ef37b98d0]
首先要確定你的adsl modem可用,這就是為什么要先在windows下撥號上網,再進入linux的原因,要是你的設備原本就不能正常工作,你在linux下怎么弄,也上不了網的。
整個安裝過程大概分為下面幾步
1、配置內核
2、編譯rp-pppoe客戶端和pppd
3、配置pppd
[size=18:5ef37b98d0]4.1配置內核[/size:5ef37b98d0]
要想使用linux下的pppoe撥號服務,我們需要內核里有PPP支持。如果你已經在內核中配置了PPP,請跳過這一段,如果你不確定,可以使用如下命令查看
[code:1:5ef37b98d0]grep CONFIG_PPP /usr/src/linux/.config[/code:1:5ef37b98d0]
如果在反饋的信息中有
CONFIG_PPP=y 或者 CONFIG_PPP=m
那么你的內核是支持PPP。否則的,你可能要編譯一下內核了。
實際上,如果你使用的是比較新的發行版比如Redhat linux 9以上,那么內核應該是編譯了PPP支持的。
NOTE:我覺得應該有更好的方法來檢查是否有PPP支持,因為某些版本的linux可能不帶.config文件,如果lsmod又看不見編譯進內核的,不知道各位有什么好的方法?
[size=18:5ef37b98d0]4.2編譯rp-pppoe客戶端和pppd[/size:5ef37b98d0]
先安裝pppd
[code:1:5ef37b98d0]tar -zxf ppp-2.4.1-15.tar.gz
cd ppp-2.4.1-15
./configure && make && make install[/code:1:5ef37b98d0]
NOTE:可能你的機器上已經安裝了pppd,你可以用rpm -qa | grep ppp來查看是否有ppp-2.xxx-xx的信息。如果有就不用再安裝了。
現在安裝rp-pppoe客戶端
[code:1:5ef37b98d0]tar -zxf rp-pppoe-3.5.tar.gz
cd rp-pppoe-3.5
./configure && make && make install[/code:1:5ef37b98d0]
NOTE:rp-pppoe客戶端提供了快速安裝的功能,./go這個是字符界面的,./go-gui這個是gui界面的,非常容易使用,不多說。
[size=18:5ef37b98d0]4.3配置rp-pppoe客戶端[/size:5ef37b98d0]
配置方法分為手動和自動,強烈推薦使用自動配置的方式,即以root運行adsl-setup,如果無法連接再手動檢查各個配置文件。
[code:1:5ef37b98d0]adsl-setup[/code:1:5ef37b98d0]
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -