安裝系統后第一個需要做的就是配置網絡。(以下取自鳥哥的 linux 私房菜 -- 服務器架設篇目錄 第四章、連上 Internet)
修改的參數 | 配置文件與重要啟動腳本 | 觀察結果的指令 |
ip相關參數 | /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/init.d/network restart | ifconfig (IP/Netmask) route -n (gateway) |
DNS | /etc/resolv.conf | dig www.google.com |
主機名 | /etc/sysconfig/network /etc/hosts | hostname (主機名) ping $(hostname) reboot |
1、IP/Netmask/Gateway 的設定、啟動與觀察
設定網絡參數得要修改 /etc/sysconfig/network-scripts/ifcfg-eth0,請記得,這個 ifcfg-eth0 與檔案內的 DEVICE 名稱設定需相同,并且,在這個檔案內的所有設定,基本上就是 bash 的變量設定規則啦 (注意大小寫)!
[root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE="eth0" <==網絡卡代號,必須要 ifcfg-eth0 相對應HWADDR="08:00:27:71:85:BD" <==就是網絡卡地址,若只有一張網卡,可省略此項目NM_CONTROLLED="no" <==不要受到其他軟件的網絡管理!ONBOOT="yes" <==是否默認啟動此接口的意思BOOTPROTO=none <==取得IP的方式,其實關鍵詞只有dhcp,手動可輸入noneIPADDR=192.168.1.100 <==就是 IP 啊NETMASK=255.255.255.0 <==就是子網掩碼GATEWAY=192.168.1.254 <==就是預設路由# 重點是上面這幾個設定項目,底下的則可以省略的啰!NETWORK=192.168.1.0 <==就是該網段的第一個 IP,可省略BROADCAST=192.168.1.255 <==就是廣播地址啰,可省略MTU=1500 <==就是最大傳輸單元的設定值,若不更改則可省略
上面的資料很好理解吧!請注意每個變量(左邊的英文)都應該要大寫! 否則我們的 script 會誤判!事實上鳥哥的設定值只有最上面的 8 個而已,其他的 NETWORK, BROADCAST, MTU 鳥哥都沒有設定喔! 至于參數的說明方面,IPADDR, NETMASK, NETWORK, BROADCAST 鳥哥在這里就不再多說,要談的是幾個重要的設定值:
[root@www ~]# /etc/init.d/network restartShutting down interface eth0: [ OK ] <== 先關閉界面Shutting down loopback interface: [ OK ]Bringing up loopback interface: [ OK ] <== 再開啟界面Bringing up interface eth0: [ OK ]# 針對這部主機的所有網絡接口 (包含 lo) 與通訊閘進行重新啟動,所以網絡會停頓再開#實際上也可以用service來重啟: [root@www ~] # service network restart
這樣就處理完畢啰,那接下來當然就是觀察看看啰!
# 檢查一:當然是要先察看 IP 參數對否,重點是 IP 與 Netmask 啦![root@www ~]# ifconfig eth0eth0 Link encap:Ethernet HWaddr 08:00:27:71:85:BD inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe71:85bd/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:655 errors:0 dropped:0 overruns:0 frame:0 TX packets:468 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:61350 (59.9 KiB) TX bytes:68722 (67.1 KiB)# 有出現上頭那個 IP 的數據才是正確的啟動;特別注意 inet addr 與 Mask 項目# 這里如果沒有成功,得回去看看配置文件有沒有錯誤,然后再重新 network restart !# 檢查二:檢查一下你的路由設定是否正確
[root@www ~]# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth00.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0# 重點就是上面的特殊字體!前面的 0.0.0.0 代表預設路由的設定值!# 檢查三:測試看看與路由器之間是否能夠聯機成功呢![root@www ~]# ping -c 3 192.168.1.254PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.64 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=2.08 ms64 bytes from 192.168.1.254: icmp_seq=2 ttl=64 time=0.309 ms64 bytes from 192.168.1.254: icmp_seq=3 ttl=64 time=0.216 ms--- 192.168.1.254 ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2004msrtt min/avg/max/mdev = 0.216/0.871/2.088/0.861 ms# 注意啊!有出現 ttl 才是正確的響應!如果出現『 Destination Host Unreachable 』# 表示沒有成功的聯機到你的 GATEWAY 那表示出問題啦!趕緊檢查有無設定錯誤。
要注意,第三個檢查如果失敗,可能要看你的路由器是否已經關閉?或者是你的 switch/hub 是否有問題,或者是你的網絡線是否錯誤,還是說你的或路由器的防火墻設定錯誤了?要記得去解決喔! 這三個檢查做完而且都成功之后,那么你的 TCP/IP 參數設定已經完畢了!這表示你可以使用 IP 上網啦! 只是還不能夠使用主機名上網就是了。接下來就是要設定 DNS 啰!
2、DNS 服務器的 IP 設定與觀察
這個 /etc/resolv.conf 很重要啦!他會影響到你是否可以查詢到主機名與 IP 的對應喔!通常如下的設定就 OK 了!
[root@www ~]# vim /etc/resolv.confnameserver 168.95.1.1 #這個應改為你自己的DNS,下同nameserver 139.175.10.20
我們以中華電信與 SeedNet 在南部的 DNS 服務器之 IP 作為設定的方式!請注意一下,如果你不知道你的最接近的 DNS 服務器的 IP ,那么直接輸入 nameserver 168.95.1.1 這個中華電信的 DNS 主機即可!不過如果你公司內部有設定防止 DNS 的要求封包的防火墻規則時,那么你就得要請教貴公司的網管單位告知你的 DNS IP 設定啦!然后趕緊測試看看:
# 檢查四:看看 DNS 是否順利運作了呢?很重要的測試喔![root@www ~]# dig www.google.com....(前面省略)....;; QUESTION SECTION:;www.google.com. IN A;; ANSWER SECTION:www.google.com. 428539 IN CNAME www.l.google.com.www.l.google.com. 122 IN A 74.125.71.106....(中間省略)....;; Query time: 30 msec;; SERVER: 168.95.1.1#53(168.95.1.1) <==這里的項目也很重要!;; WHEN: Mon Jul 18 01:26:50 2011;; MSG SIZE rcvd: 284
上面的輸出有兩個重點,一個是問題查詢的是 www.google.com 的 A (Address) 參數,并且從回答 (Answer) 里面得到我們所需的 IP 參數。最后面一段的 Server 項目非常重要!你得要看是否與你的設定相同的那部 DNS 服務器 IP 才行! 以上面輸出為例,鳥哥使用中華電信的 DNS 服務器,所以就出現 168.95.1.1 的 IP 地址啰。
3、主機名的修改、啟動與觀察
修改主機名就得要改 /etc/sysconfig/network 以及 /etc/hosts 這兩個檔案,這兩個檔案的內容又簡單的要命喔!
[root@www ~]# vim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=www.centos.vbird[root@www ~]# vim /etc/hosts192.168.1.100 www.centos.vbird# 特別注意,這個檔案的原本內容不要刪除!只要新增額外的數據即可!
修改完畢之后要順利啟動的話,得要重新啟動才可以。為什么需要重新啟動呢?因為系統已經有非常多的服務啟動了, 這些服務如果需要主機名,都是到這個檔案去讀取的。而我們知道配置文件更新過后,服務都得要重新啟動才行。 因此,已經啟動而且有讀到這個檔案的服務,就得要重新啟動啊!真麻煩~因此,最簡單的方法,就是重新啟動。 但重開機之前還需要進行一項工作,否則,你的系統開機會花掉很多時間喔!
[root@www ~]# hostnamelocalhost.localdomain# 還是默認值,尚未更新成功!我們還得要進行底下的動作!# 檢查五:看看你的主機名有沒有對應的 IP 呢?沒有的話,開機流程會很慢![root@www ~]# ping -c 2 www.centos.vbirdPING www.centos.vbird (192.168.1.100) 56(84) bytes of data.64 bytes from www.centos.vbird (192.168.1.100): icmp_seq=1 ttl=64 time=0.015 ms64 bytes from www.centos.vbird (192.168.1.100): icmp_seq=2 ttl=64 time=0.028 ms--- www.centos.vbird ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1000msrtt min/avg/max/mdev = 0.015/0.021/0.028/0.008 ms# 因為我們有設定 /etc/hosts 規定 www.centos.vbird 的 IP ,# 所以才找的到主機主機名對應的正確 IP!這時才能夠 reboot 喔!重要重要!
上面的信息中,檢查的內容總共有五個步驟,這五個步驟每一步都要成功后才能夠繼續往下處理喔! 至于最重要的一點,當你修改過 /etc/sysconfig/network 里面的 HOSTNAME 后, 務必要重新啟動 (reboot)。但是重新啟動之前,請務必『 ping 主機名』且得到 time 的響應才行!
配置了網絡的linux機器就可以使用ssh來管理了,可以回到你的辦公室泡上一杯茶,打開你的計算機來管理了。
|
新聞熱點
疑難解答