linux裝系統設IP,這應該是系統管理員的基本功,可是不同的網絡結構有不同的ip設法,您知道嗎?
1.一塊網卡的情況
這個沒啥好說的,估計地球人都知道:address,netmask,gateway然後netwok restart,搞定.
2.兩塊網卡的情況
1).一個網關的情況
這種情況也簡單,一個網卡設一個ip,其中一個網卡不設置gateway就ok了.這樣上網的時候走帶網關的那邊,這台機器還能和不帶網關的那個網絡通訊.這種情況在利用linux當路由器或者代理網關的時候比較常見.
2).兩個網關的情況
這種情況相對復雜,復雜到兩塊網卡都不設置默認網關:)這種情況發生在,這台linux連接的兩個網段都不是一個網段!就是通過連接的兩個網段還可以訪問其它的不同的網段.這種情況下,無論把gateway設到哪邊,都會影響到另一個網段所連接的網段不能正常使用.這就是我今天最想表述的問題.在這種情況,如果你想連接多個網段,首先要在正確的網卡上設置正確的ip,剩下的工作就交給route來做了.利用route命令把能上網或者想通過那邊上網的網關設置成默認網關,這樣就解決了一個網段了.另一個段和它所連接的所有網段,就要一條一個的加路由了.示例
默認網關:
route add default gw 224.224.224.224 eth0
加路由:
route add -net 192.168.115.0/24 gw 192.168.1.254 eth1
沒有學習過路由知識的同學可能不大理解加路由為啥去115段的連接,要走1.254.這是因為,加路由的時候,指定下一跳,只指定和本機連接的那個網關:)
3).三個網卡的情況
和兩個卡類似.如果你的需求是,一個網段通過兩個不同的網絡上網,中間又夾著這麼一個linux的話.個人覺得除了用iptables根據不同的ip地址劃分不同的上網網絡,似乎沒有其它的解決辦法:)
發散思維一下:知其然還要知其所以然嘛.為啥兩個網卡一個網關的時候,只設置一個網卡有網關呢?因為linux會自動幫你設置路由!它會把你設置的網關設置成默認路由.這時候如果你設置兩個網關.linux幫你隨機選的默認路由可能是不能上網的那個或者說不是你想要的那個喲~再拓展一下,其實linux就是一個完整的路由器!只是它很低調默認取消的路由功能罷了.如果你正在學習路由方面的相關知識,沒有那麼多路由器,來做一些高級實驗,像ospf,pgp等,不妨多裝幾個linux你會有意外的驚喜.寫到這裡在覺得linux很黃很暴力的同時,突然想展示它更多的內容.但是不想跑題,就留給下一篇吧:實戰linux路由,我的一次客戶現場經歷!