|
設定 CentOS 的網路功能,在本文設定中網路功能是以設定固定 IP 位址來進行說明。可以透過二種方式設定固定 IP 位址,一為使用指令 「system-config-network」 來進行互動設定,另外一種方式則為手動將固定 IP 位址、網路遮罩等相關資訊寫入 「ifcfg-eth0」 網卡設定檔中,而預設閘道及主機名稱則是寫入 「network」 設定檔中,最後則是將 DNS 名稱解析資訊寫入 「resolve.conf」 設定檔中。下列操作步驟先以 system-config-network 指令進行互動設定,之後再解釋如何手動將網路資訊寫入設定檔的方式: - 執行 system-config-network 指令使系統進入互動設定視窗中。
- 選擇【Devices configuration】 後此時會顯示安裝於此主機的網路卡清單,本例為選擇唯一的一張網路卡【eth0 (eth0) – VMware VMXNET3 Ethernet Controller】。
- 將「Use DHCP」勾選項目取消並且將固定 IP 位址、網路遮罩、預設閘道等資訊填入後按下【OK】。
- 此時畫面回到剛才選擇網卡的視窗(以便您要設定多片網路卡設定),接著按下【Save】回到原始互動設定視窗中。
- 接著選擇【DNS configuration】來進入設定 DNS 視窗,請填入主機名稱、DNS 伺服器 IP 位址等資訊後按下【OK】。
- 最後則是按下【Save&Quit】確定儲存剛才的設定後離開互動設定視窗。
3 P& y3 a, _7 _! ]4 D6 Y( e: v
# m7 q a' s0 s w* j5 F8 g6 T$ H0 X4 `- J0 w; G, Z; Z! C) Z3 }- \
透過上述互動設定將網路資訊設定完成後,作業系統會將相關網路設定值寫入相對應的設定檔中,例如固定 IP 位址、網路遮罩、預設閘道資訊寫入至 「/etc/sysconfig/network-scripts/ifcfg-eth0」 網卡設定檔中,而主機名稱則寫入 「/etc/sysconfig/network」 設定檔內,而 DNS 名稱解析的網路資訊則是寫入 「/etc/resolv.conf」 設定檔內。筆者建議若您的主機安裝多片網路卡時,請將預設閘道資訊寫入至 /etc/sysconfig/network 設定檔內為比較洽當的設定。 所以我們可以在互動設定完畢後,查看相關網路設定檔內容時可以看到相關網路資訊均已寫入。因此您可以依個人喜好來決定要如何設定網路資訊至 CentOS 作業系統中,看您是要使用指令 system-config-network 以互動方式來設定網路資訊,或者將相關網路設定值寫入相關設定檔內也是可行的方法。就筆者個人習慣來說,會使用互動設定來設定相關資訊,並且於設定完成後查看相關設定檔內容,確定無誤即可(可以省去記憶相關設定檔內容中參數名稱)。 - #cat /etc/sysconfig/network-scripts/ifcfg-eth0 //查看網路卡設定檔內容) J* a* z( W1 b' x# G q$ y; [
- DEVICE=eth09 c( v7 Y4 n" a2 P1 i2 L* q
- BOOTPROTO=static7 a/ C- G7 m& I
- ONBOOT=yes
- k( X" i2 R% w. w0 I5 k1 v O/ f/ s7 f - HWADDR=00:50:56:9d:00:05
4 y) h- u" E: s* [ j4 C - NETMASK=255.255.255.0! l4 I, |0 [$ d. a" }. ]
- IPADDR=192.168.1.10
' C/ X1 u( v8 J* o5 B7 x - TYPE=Ethernet5 Z$ A; c/ ~) ^. ?7 k5 {
- #cat /etc/sysconfig/network //查看主機名稱設定檔內容
$ D0 ?8 p* `- v7 r8 o$ p - NETWORKING=yes5 G [) I' X1 m+ z4 z6 k
- HOSTNAME=Centos6.weithenn.org1 Y8 y5 [% `! a7 m( @( L$ A
- GATEWAY=192.168.1.254& H s9 [) k7 D
- #cat /etc/resolv.conf //查看名稱解析設定檔內容, ]) y; m+ [3 g) t/ t; l5 s+ y
- search weithenn.org
( S. @3 Z3 N, R2 l9 i - nameserver 8.8.8.8- i: }/ u$ ~$ C0 v* c
- nameserver 168.95.192.1
2 C y9 ?7 a0 z6 ?' y& u; B+ z - nameserver 168.95.1.1
複製代碼
2 ~2 s5 h5 e- N" [; {當上述設定完成後可能會發現 CentOS 主機仍然無法連上網際網路。雖然透過互動設定已經設定好相關網路資訊,但作業系統目前仍未套用變更相關設定(例如套用預設閘道設定值)。因為「service network restart」指令只會將 ifcfg-eth* 設定檔內容中 「ONBOOT=yes」 就會都停止再帶起來(有時候剛安裝完OS,並不會啟動eth*,可以用ifconfig觀察,那是因為ifcfg-eth*內ONBOOT=no(不知為何?),需改成yes,再service network restart重啟網路),並不會手動將 Default Gateway 加上,建議您可以執行指令 reboot 重新啟動主機來自動套用剛才設定的相關網路資訊,或者手動新增路由記錄也可以。 當您將 CentOS 主機重新啟動完成之後,您可以使用 ping 指令來判斷主機是否能順利連上網際網路及進行名稱解析的動作,或者藉此判斷此台主機的網路通訊是卡在哪個環節上以便除錯。 - #ping 127.0.0.1 //檢查 Loopback IP Address
, e3 K" e( ] `( k; I9 h$ n - #ping 192.168.1.10 //檢查設定的固定 IP Address
# T, C7 V& m0 Z& A: Y2 I$ o0 n+ g- b/ Z - #ping 192.168.1.254 //檢查主機與預設閘道之間的通訊
6 Q: |0 Y* `: A% \' V9 T$ B0 c4 ^ - #ping 8.8.8.8 //檢查主機能否連結 DNS 伺服器0 i3 Z0 `( _; Z$ r: Q8 ?) q7 g
- #ping tw.yahoo.com //檢查主機能否進行名稱解析
複製代碼 / I& X8 a& a5 Q8 h8 [
[設定靜態路由], P6 T6 f$ h0 S: v
如何設定靜態路由? 我們可以使用指令「netstat -nr」來查看本機路由表 (Routing Table),接著使用 「route add/del」來新增及刪除路由記錄,「-net」為接要去的網段,「gw」則是要去該網段時幫您轉送封包的閘道 IP 位址 (也就是 Next-Hop 點)。
' {) m. {$ d1 o- #netstat -nr
" j7 ]7 j! O4 M - Kernel IP routing table9 G6 q7 w+ D; r H: c m
- Destination Gateway Genmask Flags MSS Window irtt Iface% x. G0 |3 {( i! c% k4 A
- 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth05 p7 {! P8 b+ E
- 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 Z* R. x+ v$ r- L0 a
- #route add -net default gw 192.168.1.254: o) V4 b8 }7 R9 z: ^# |3 o
- #route add -net 192.168.0.0/24 gw 192.168.1.254# x- `' E5 \% [1 H" {; i* E
- #netstat -nr% w8 H; o1 s8 C
- Kernel IP routing table6 @0 v1 C. N% q9 B1 X7 K# v
- Destination Gateway Genmask Flags MSS Window irtt Iface) Q0 O4 q; G& Y K d
- 192.168.0.0 192.168.1.254 255.255.255.0 UG 0 0 0 eth0
/ J4 |) A+ h9 r4 P - 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0. a, w) f7 B2 O3 Z6 _+ @
- 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0" ~+ {+ p+ y3 B' { Y5 e R% Z/ A( \
- 0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
複製代碼 7 B& t; L$ D1 \) @3 K! t
是使用官方建議使用的「ip route add」指令來進行靜態路由的建立工作/ u# h1 n9 ^0 V& C* y' T- m. t
- #ip route add 192.168.0.0/24 via 192.168.1.254 dev eth0
1 i) r% D: R3 c! g% _, a2 J - #ip route del 192.168.0.0/24
複製代碼
& S# k- S4 C7 v8 M2 i r0 z! t# {4 Y
|