3.網路基本命令
(1)network service的制禦網路介面配置資訊改動後,網路服務必須從新啟動,來啟用網路新配置的使得配置生效,這部分操作和從新啟動系統時時一樣的作用。制禦(控制)是/etc/init.d/network這個檔案,可以用這個檔案後面加上下面的參數來操作網路服務。例如:
[root@linux ~]#/etc/init.d/networkrestart
同樣也可以用service這個命令來操作網路服務例如:
[root@linux ~]#service network restart
start ←啟動
stop ←停止
restart ←再啟動
reload ←和再啟動一樣(..)
status ←狀態表示
如果伺服器軟體採用rpm的方式安裝,以上的內容大多數都對應。
(2)network管理命令網路管理還有一些常用的命令,下面介紹幾個常用的命令。
ifconfig
netstat
hostname
ping
traceroute
ifconfig
這個命令可以用於,網路介面的啟動/停止,更改設定和表示網路狀態,在不添加任何參數的情況下,這個ifconfig可以表示網路介面的狀態。例如:
[root@linux ~]# ifconfig
eth0 Link encap:Ethernet HWaddr00:xx:xx:xx:04:45
inet addr:192.168.1.81 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe61:445/64 Scopeink
UPBROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RXpackets:472 errors:0 dropped:0 overruns:0 frame:0
TXpackets:445 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RXbytes:35804 (34.9 KiB) TX bytes:53012(51.7 KiB)
Interrupt:185 Base address:0x1080
lo Link encapocal Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UPLOOPBACK RUNNING MTU:16436 Metric:1
RXpackets:8 errors:0 dropped:0 overruns:0 frame:0
TXpackets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RXbytes:560 (560.0 b) TX bytes:560 (560.0b)
[root@linux ~]#
看看ifconfig的輸出內容
1. Link encap ←
2. HWaddr ←MAC地址
3.inet addr ←IP地址(IPV4)
4. Bcast ←廣播位址
5. Mask ←衍碼
6. inet6 addr ←IP地址(IPV6)
7. UP ←啟動中
8. BROADCAST ←廣播位址有效
9. RUNNING ←動作
10. MTU ←網路介面的MTU(MaximumTransfer Unit:Ethernet最大傳送frame值)
11. Metric ←
12. RX packets ←受信包數
13. TX packets ←送信包數
14. collisions ←
15. interrupt ←IRQ號碼
16. Baseaddress ←I/O地址
通過這個命令還可以up(開啟)和down(關閉)某個網路介面(網卡),例如我們關閉eth0可以用下面的命令:
[root@linux ~]#ifconfigeth0 down
相反的開啟如下:
[root@linux ~]#ifconfigeth0 up
通過這個命令還可以設定網路介面(網卡),例如我們將eth0的IP設定成192.168.1.11,子網衍碼設定成255.255.255.0如下:
[root@linux ~]#ifconfigetho inet 192.168.1.11 netmask 255.255.255.0
假如有多個網路介面的情況下,ethX的X部分用網路介面碼(數字,例如eth0,eth1,eth2代替)。
netstat
這條命令是顯示網路各種情況的命令,在不跟隨任何參數被執行的情形下,將表示Active Internet connections和ActiveUNIX domain sockets的情報。
看看下面的輸出資訊:
這裡是192.168.1.56正在通過ssh串連192.168.1.81的情形
[root@linux ~]#netstat
Active Internetconnections (w/o servers)
Proto Recv-Q Send-QLocal Address ForeignAddress State
tcp 0 0 ::ffff:192.168.1.81:ssh ::ffff:192.168.1.56:4757 ESTABLISHED
Active UNIX domainsockets (w/o servers)
Proto RefCntFlags Type State I-Node Path
unix 11 [ ] DGRAM 5202 /dev/log
unix 2 [ ] DGRAM 5997 @/var/run/hal/hotplug_socket
unix 2 [ ] DGRAM 2536 @udevd
unix 2 [ ] DGRAM 7474
unix 3 [ ] STREAM CONNECTED 5995 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 5994
unix 3 [ ] STREAM CONNECTED 5974
unix 3 [ ] STREAM CONNECTED 5973
unix 2 [ ] DGRAM 5933
unix 2 [ ] DGRAM 5923
unix 2 [ ] DGRAM 5876
unix 2 [ ] DGRAM 5819
unix 2 [ ] DGRAM 5805
unix 2 [ ] DGRAM 5786
unix 2 [ ] DGRAM 5723
unix 3 [ ] STREAM CONNECTED 5388
unix 3 [ ] STREAM CONNECTED 5387
unix 2 [ ] DGRAM 5280
unix 2 [ ] DGRAM 5210
[root@linux ~]#
主要的選項:
-a 顯示所有socket,包括正在監聽的。
-c 每隔1秒就重新顯示一遍,直到使用者中斷它。
-i 顯示所有網路介面的資訊,格式同“ipconfig -e”。
-n 以網路IP地址代替名稱,顯示出網路連接情形。
-r 顯示核心路由表,格式同“route -e”。
-t 顯示TCP協議的串連情況。
-u 顯示UDP協議的串連情況。
-v 顯示進行中的工作。
以上的選項可以結合使用,例如我們想知道正在開放的TCP連接埠,可以用下面的形勢執行察看:
[root@linux ~]#netstat -at
Active Internetconnections (servers and established)
Proto Recv-Q Send-QLocal Address ForeignAddress State
tcp 0 0 *:617 *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:ipp *:* LISTEN
tcp 0 0 linux.xiaoqi.ddo.jp:smtp *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 132 ::ffff:192.168.1.81:ssh ::ffff:192.168.1.56:4757 ESTABLISHED
[root@linux ~]#
其他使用方法可以自己嘗試…..
Hostname
這個命令是表示hostname和設定hostname用的,在不跟隨任何選項被執行的情形下,將表示現在的hostname,例如下面的輸出:
[root@linux ~]#hostname
linux.xiaoqi.ddo.jp
[root@linux ~]#
如果是root的登陸情形下,可以更改hostname,例如我們把現在的hostname改稱centos的情形如下:
[root@linux ~]#hostname centos
[root@linux ~]#hostname
centos
[root@linux ~]#
ping
這條命令是通過向目標地址發送ICMP資訊包的方式,來確定目標主機是否在工作或網路聯通與否。參數是目標主機的IP地址,例如我們要知道自己的主機的網路設定是否正常,可通過ping自己主機來判斷,情形如下:
[root@linux ~]# pinglocalhost // 這個地方的localhost可以用127.0.0.1來代替,或目標地址IP地址或網域名稱,通常還用這條命令來訪問DNS伺服器來取得目標主機的IP地址或網域名稱等用法
PING linux.xiaoqi.ddo.jp (127.0.0.1) 56(84) bytes ofdata.
64 bytes fromlinux.xiaoqi.ddo.jp (127.0.0.1): icmp_seq=0 ttl=64 time=0.999 ms
64 bytes fromlinux.xiaoqi.ddo.jp (127.0.0.1): icmp_seq=1 ttl=64 time=0.630 ms
---linux.xiaoqi.ddo.jp ping statistics ---
2 packetstransmitted, 2 received, 0% packet loss, time 1001ms // 注意這個地方有一個0%表示網路正常,當此處的X%的X是0以外的數字就表明網路有問題,或者當ping 命令被執行後,將會顯示time out之類的字樣。
rtt min/avg/max/mdev= 0.630/0.814/0.999/0.186 ms, pipe 2
[root@linux ~]#
Ping命令的主要選項如下:
-c 數目在發送指定數目的包後停止。
-d 設定SO_DEBUG的選項。
-f 大量且快速地送網路封包給一台機器,看它的回應。
-I 秒數設定間隔幾秒送一個網路封包給一台機器,預設值是一秒送一次。
-l 次數在指定次數內,以最快的方式送封包資料到指定機器(只有超級使用者可以使用此選項)。
-q 不顯示任何傳送封包的資訊,只顯示最後的結果。
-r 不經由網關而直接送封包到一台機器,通常是查看原生網路介面是否有問題。
-s 位元組數指定發送的資料位元組數,預設值是56,加上8位元組的ICMP頭,一共是64ICMP資料位元組。
更多資訊和更多的命令可以在使用的過程中一點點學習,遇到問題的時候可以通過
#man命令
的形式來查看命令的用法