Linux系統(tǒng)基礎(chǔ)網(wǎng)絡(luò)配置精華篇 。對于linux高手看似簡單的網(wǎng)絡(luò)配置問題,也許要說出所以然來也并不輕松,因此仍然有太多的初學(xué)者徘徊在門外就不奇怪了。
目錄:
1)配置修改主機(jī)名hostname
2)網(wǎng)卡配置文件說明:
3)配置修改ip地址
4)配置修改網(wǎng)關(guān)gateway
5) 配置修改DNS
6)查看ip、網(wǎng)關(guān)或路由、DNS配置
a.[查看ip配置方法]
b.[查看網(wǎng)關(guān)和路由方法]
c.[查看dns配置方法]
7)如果win32和linux服務(wù)器無法連接網(wǎng)絡(luò),分別描述排查方法
##########################
####1)配置修改主機(jī)名:
##########################
臨時方法:
hostname oldboy
退出當(dāng)前shell重新登陸即可生效。此法只能臨時修改生效,重起系統(tǒng)后失效。
提示:很多人使用hostname 主機(jī)名來修改,其實(shí)這個只是做為暫時的,重啟后將恢復(fù)到配置前的主機(jī)名.
永久方法:
法一:
步驟1:
vi /etc/sysconfig/network
將里面的HOSTNAME=XX改成HOSTNAME=oldboy,然后保存。
提示:這里改完后,執(zhí)行/etc/init.d/network restart或 source /etc/sysconfig/network等做法都不生效
如果要單一的修改這個文件可能就需要重起服務(wù)器了。
題外話:這里應(yīng)該是有一個直接生效的方法的系統(tǒng)自帶的當(dāng)前及永久生效方法的,就是就是加載下hostname調(diào)用下配置文件的命令執(zhí)行下就好,
把這個問題留給大家了!
步驟2:
然后通過命令行繼續(xù)修改:hostname oldboy ,完成后退出重新登陸即生效
提示:這樣就能保證臨時生效,重起系統(tǒng)系統(tǒng)也生效了。
法二:
即時永久都生效的另外改法:執(zhí)行setup-網(wǎng)絡(luò)配置– Edit DNS configuration–>
DNS configuration
x x
x Hostname oldboy_______ x ===========>修改這里
x Primary DNS 202.106.0.20___ x
x Secondary DNS 211.147.6.3____ x
x Tertiary DNS _______________ x
x Search _______________ x
提示:在這里改完保存后會及時生效,重起也生效,從這就可以看出來,系統(tǒng)還是有直接臨時永久都生效的方法。
特別說明:使用以上的方法都可能導(dǎo)致/etc/hosts中的127.0.0.1對應(yīng)的主機(jī)名未修改,此時,應(yīng)該手動修改:如:
[root@oldboy ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 oldboy localhost.localdomain localhost ===========>修改這里的oldboy
::1 localhost6.localdomain6 localhost6
10.0.0.190www.etiantian.org
提示:如果/etc/hosts不改,以后會遇到一些問題,如sendmail啟動緩慢,ldap服務(wù)解析緩慢,sudo切用戶緩慢等等都是主機(jī)名和/etc/hosts中的解析不對應(yīng)導(dǎo)致的。
拓展:有關(guān)重起系統(tǒng)設(shè)置主機(jī)名的腳本:
[root@oldboy ~]# grep -i hostname /etc/rc.d/rc.sysinit
HOSTNAME=`/bin/hostname`
if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
HOSTNAME=localhost
# Set the hostname.
update_boot_stage RChostname
action $"Setting hostname ${HOSTNAME}: " hostname ${HOSTNAME} ===========>這里就是系統(tǒng)重起后執(zhí)行rc.sysinit后修改機(jī)器名的地方。
# Use the network address to set the hostname of the client. This
if [ "$HOSTNAME" = "localhost" -o "$HOSTNAME" = "localhost.localdomain" ]; then
hostname ${HOSTNAME}
mount -t nfs $CLIENTSTATE/$HOSTNAME $STATE_MOUNT -o rw,nolock
# Reset the hostname.
action $"Resetting hostname ${HOSTNAME}: " hostname ${HOSTNAME}
[root@oldboy ~]# grep -i hostname /etc/rc.d/init.d/network ===========>這里沒有和主機(jī)名相關(guān)的信息。
################################
####2)網(wǎng)卡配置文件說明:
################################
[root@oldboy ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 ==》這里是eth0網(wǎng)卡設(shè)備的默認(rèn)配置文件
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0 ================》這里是網(wǎng)卡名稱第一塊網(wǎng)卡為eth0,第二塊為eth1…
BOOTPROTO=static============》static為固定IP地址,非動態(tài)DHCP獲取
BROADCAST=10.0.0.255 =======》這里是廣播地址,一般為網(wǎng)絡(luò)地址的最后一個地址。
HWADDR=00:0C:29:0E:5F:63 ===》這里mac地址,不同的機(jī)器不能重復(fù),尤其是在刻隆虛擬機(jī)或復(fù)制網(wǎng)卡配置時要注意。
IPADDR=10.0.0.161 ==========》這里是IP地址
NETMASK=255.255.255.0=======》子網(wǎng)掩碼/24
NETWORK=10.0.0.0 =========》網(wǎng)段設(shè)置
ONBOOT=yes =================》開機(jī)網(wǎng)卡自啟動
GATEWAY=10.0.0.254==========》網(wǎng)關(guān)的配置,也可以命令行通過route添加刪除。
TYPE=Ethernet===============》類型
提示:第一塊網(wǎng)卡為ifcfg-eth0,第二塊為ifcfg-eth1…
################################
####3)配置修改ip地址:
################################
配置服務(wù)器IP及DNS等網(wǎng)絡(luò)配置的方法:
1)setup-網(wǎng)絡(luò)配置,然后修改。
2)直接編輯或手寫上面配置文件。
/etc/sysconfig/network-scripts/ifcfg-eth0 ===============》網(wǎng)卡配置
/etc/resolv.conf===============》DNS client的配置
提示:以上兩個方法一般需要重起或者重新加載/etc/init.d/network restart 或/etc/init.d/network reload才能生效。
##########################
####4)配置修改網(wǎng)關(guān)gw:
##########################
法一:修改/etc/sysconfig/network
[root@oldboy network-scripts]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=oldboy
GATEWAY=10.0.0.254 ====》這個就是網(wǎng)關(guān)的配置
提示;需要執(zhí)行/etc/init.d/network reload 即可生效。
法二:修改/etc/sysconfig/network-scripts/ifcfg-eth0
[root@oldboy network-scripts]# cat ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
BROADCAST=10.0.0.255
HWADDR=00:0C:29:0E:5F:63
IPADDR=10.0.0.161
NETMASK=255.255.255.0
NETWORK=10.0.0.0
ONBOOT=yes
GATEWAY=10.0.0.254====》這個就是增加網(wǎng)關(guān)的配置,默認(rèn)沒有
提示;需要執(zhí)行/etc/init.d/network restart 或reload 即可生效。
特別注意:
1)/etc/sysconfig/network-scripts/ifcfg-eth0中的網(wǎng)關(guān)配置優(yōu)先于/etc/init.d/network
2)注意配置的大小寫,gATEWAY=10.0.0.254這樣的小寫格式就不對。
法三:通過命令修改默認(rèn)網(wǎng)關(guān):
[root@oldboy network-scripts]# route del default gw 10.0.0.254 ==》首先刪除之
[root@oldboy network-scripts]# route -n ==》查看命令
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
[root@oldboy network-scripts]# route add default gw 10.0.0.254 ==》添加默認(rèn)網(wǎng)關(guān)
[root@oldboy network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 eth0
注意:此修改為臨時修改,重新加載或啟動網(wǎng)卡后就會失效,解決方法就是盡量在配置文件里配置,
實(shí)在有需求就把route add default gw 10.0.0.254放到rc.local自啟動文件里或/etc/init.d/network網(wǎng)卡
restart/reload段腳本配置里實(shí)現(xiàn)開機(jī)自啟動或重起網(wǎng)卡也生效,這也有點(diǎn)太復(fù)雜了,咱就別這樣做了,好不
##########################
####5)修改主機(jī)DNS配置
##########################
法一:setup–網(wǎng)絡(luò)配置圖形操作
法二:修改/etc/resolv.conf==》這里主機(jī)DNS配置文件的路徑
[root@oldboy network-scripts]# cat /etc/resolv.conf
nameserver 202.106.0.20
nameserver 8.8.8.8
nameserver 211.147.6.3
提示:每個配置一行這個resolv.conf修改后直接生效,注意,不是nameservers,
另,這個配置文件也是有知識的,同學(xué)們可以man resolv.conf查看。
##########################
###6)查看ip、網(wǎng)關(guān)或路由、DNS配置:
##########################
[a.查看ip配置方法]
[root@oldboy ~]# ifconfig ==》直接命令名表示顯示所有網(wǎng)卡IP
eth0 Link encap:Ethernet HWaddr 00:0C:29:1D:28:D5
inet addr:10.0.0.190 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe1d:28d5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4154 errors:0 dropped:0 overruns:0 frame:0
TX packets:3107 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:367589 (358.9 KiB) TX bytes:481210 (469.9 KiB)
Interrupt:185 Base address:0x1400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:36 errors:0 dropped:0 overruns:0 frame:0
TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3744 (3.6 KiB) TX bytes:3744 (3.6 KiB)
[root@oldboy ~]# ifconfig eth0 ==》顯示指定網(wǎng)卡IP
eth0 Link encap:Ethernet HWaddr 00:0C:29:1D:28:D5
inet addr:10.0.0.190 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe1d:28d5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4170 errors:0 dropped:0 overruns:0 frame:0
TX packets:3130 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:368687 (360.0 KiB) TX bytes:484496 (473.1 KiB)
Interrupt:185 Base address:0x1400
[b.查看網(wǎng)關(guān)和路由方法]
[root@oldboy network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 eth0
[root@oldboy ~]# netstat -rn ==》此法可以不記,記route -n即可。
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
查看linux命令幫助的命令man or info or命令 –help:
例:查看route用法
man route 和 info route 或route –help
route功能強(qiáng)大,同學(xué)們要熟練掌握,上面僅是一個簡單的用法。
[c.查看DNS配置方法]
[root@oldboy ~]# cat /etc/resolv.conf ==》這是常見的檢查方法
nameserver 202.106.0.20
[root@oldboy ~]# ping g.cn ==》這是常見的檢查方法,返回ip地址了說明通的。
PING g.cn (74.125.71.160) 56(84) bytes of data.
64 bytes from hx-in-f160.1e100.net (74.125.71.160): icmp_seq=1 ttl=49 time=51.7 ms
[root@oldboy ~]# hostwww.etiantian.org==》這是常見的檢查方法,返回ip地址了說明dns通的。
www.etiantian.orghas address 211.100.98.99
— g.cn ping statistics —
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 51.710/51.710/51.710/0.000 ms
[root@oldboy ~]# digwww.etiantian.org
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>>www.etiantian.org
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45736
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.etiantian.org. IN A
;; ANSWER SECTION:
www.etiantian.org. 600 IN A 211.100.98.99
;; Query time: 90 msec
;; SERVER: 202.106.0.20#53(202.106.0.20)
;; WHEN: Mon Feb 20 11:50:57 2012
;; MSG SIZE rcvd: 51
[root@oldboy ~]# nslookup
>www.etiantian.org
Server: 202.106.0.20
Address: 202.106.0.20#53
Non-authoritative answer:
Name:www.etiantian.org
Address: 211.100.98.99
7)如果win32和linux服務(wù)器無法連接網(wǎng)絡(luò),分別描述排查方法
此題留給大家了。大家可以評論或單獨(dú)和我交流。
提示:基本檢查思路:
a.物理鏈路是否通暢
b.本機(jī)IP,路由,DNS的設(shè)置情況是否達(dá)標(biāo)。
c.測試到網(wǎng)關(guān)或路由器的通暢情況。
d.測試ping公網(wǎng)ip的通常情況(平時要記幾個外部IP)
e.測試DNS的通暢,可以ping etiantian.org看是否出對應(yīng)IP。
根據(jù)每級的結(jié)果來排查,如果是系統(tǒng)管理員,以上問題都檢查了后,還可以在網(wǎng)關(guān)路由服務(wù)器上向上向下測試。
逐級排查。