$ dhclient ethN
當然,也可以考慮採用靜態配置的方式,
ip_address是本地主機的
IP地址,
gw_ip_address是接取網路的網關的
IP地址。
$ ifconfig eth0 ip_address on$ route add deafult gw gw_ip_address
如果上面不工作,記得透過
ifconfig/mii-tool/ethtool等工具檢查網卡是否有被驅動起來,然後透過
lspci/dmesg等等檢查網卡類型(或透過主機板手冊和獨立網卡自備的手冊查看),接著安裝或編譯相關驅動,最後把驅動通過
insmod/modprobe等工具載入到核心中。
網橋工作在
OSI模型的第二層,也就是資料鏈結層,它只需要知道目標主機的
MAC地址就可以工作。 Linux 核心在
2.2開始就已經支援了這個功能,具體怎麼配置看看後續參考資料吧。如果要把Linux 主機設定成一個網橋,至少需要兩個網路卡。
網橋的功能相當於一條網線,用戶無須關心裡面有什麼東西,把它的兩個網口連接到兩個主機上就可以讓這兩個主機支援相互通訊。不過它比網路線更厲害,如果配上防火牆,就可以隔離連接在它兩端的網段(注意這裡是網絡,因為它不識別
IP),另外,如果這個網橋有多個網口,那麼可以實現一個功能複雜的交換機,而如果有效組合多個網橋,則有可能實現一個複雜的可實現流量控制和負載平衡的防火牆系統。
路由工作在
OSI模型的第三層,即網路層,透過
router可以設定Linux 的路由,當然,Linux 下也有很多工具支援動態路由的。相關的資料在網路中鋪天蓋地,由於時間關係,這裡不做介紹。
需要什麼網路服務呢?
給區域網路弄個
DHCP伺服器,那就弄個
dhcpd,看看參考資料;
如果想弄個郵件發送伺服器,那就安裝個
sendmail或者
exim4;
如果再想弄個郵件列表伺服器呢,那就裝個
mailman;
如果想弄個接收郵件的伺服器呢,那就安裝個
pop3伺服器;
如果想弄個
web站點,那就弄個
apache或者
nginx伺服器;
如果想弄上防火牆服務,那麼透過
iptables工具配置
netfilter就可以
What's more?如果你能想到,Linux上基本上都有相應的實作。
如果出現網路問題,不要驚慌,逐步檢查網路的各個層次:實體連結、連結層、網路層直到應用層,熟悉使用各種如下的工具,包括
ethereal/tcpdump,
hping,
nmap,
netstat,
netpipe,
netperf,
vnstat,
ntop等。
關於這些工具的詳細用法和網路問題診斷和維護的相關知識,請看後續相關資料。
如果想做網頁程式設計開發,例如:
要實現一個客戶端
/伺服器架構的應用,可以採用Linux 下的
socket編程了;
如果想寫一個資料包抓獲和協議分析的程序,可以採用
libpap等函數庫;
如果想實現某個協議呢,那就可以參考相關的
RFC文檔,並透過
socket程式設計來實現。
這個可以參考相關的
Linux socket程式設計等資料。
原本介紹網路相關的一些基本內容,但因時間關係,沒有詳述,更多細節請參考相關資料。
到這裡,整個《Shell程式設計範例》算是很粗略地完成了,不過「範例」卻缺少實例,特別是這一節。因此,如果時間允許,會逐步補充一些實例。
電腦網路—自上而下的分析方法
Linux 網路體系結構(清華大學出版社出版)
Linux 系統故障診斷與排除第13章網路問題(人民郵電出版社)
在Linux 下用ADSL 撥號上網
Linux 下無線網路相關資料收集
Linux橋接器的實作分析與使用
DHCP mini howto
最佳的75 個安全工具
網路管理員必須掌握的知識
Linux 上偵測rootkit 的兩種工具: Rootkit Hunter 和Chkrootkit
資料包擷取與ip 協定的簡單分析(基於pcap 庫)
RFC
HTTP 協定的C 語言程式實作實例