參考https://www.jb51.net/os/RedHat/520187.html
查看網絡狀態:
lsof -Pnl +M -i4 顯示ipv4服務及監聽端情況
netstat -anp 所有監聽端口及對應的進程
netstat -tlnp 功能同上
(1)network service的控制網絡接口配置信息改動后,網絡服務必須從新啟動,來激活網絡新配置的使得配置生效,這部分操作和從新啟動系統時時一樣的作用。
控制是/etc/init.d/network這個文件,可以用這個文件后面加上下面的參數來操作網絡服務。例如:
[root@linux ~]#/etc/init.d/networkrestart
同樣也可以用service這個命令來操作網絡服務例如:
#service network restart
start ←啟動
stop ←停止
restart ←再啟動
reload ←和再啟動一樣(..)
status ←狀態表示
(2)network管理命令網絡管理還有一些常用的命令:
ifconfig, netstat, hostname, ping, traceroute
ifconfig
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 Scope:Link
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 encap:Local 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的情報。
[root@bogon vipx]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 13079 /run/systemd/shutd
主要的選項:
-a 顯示所有socket,包括正在監聽的。
-c 每隔1秒就重新顯示一遍,直到用戶中斷它。
-i 顯示所有網絡接口的信息,格式同“ipconfig -e”。
-n 以網絡IP地址代替名稱,顯示出網絡連接情形。
-r 顯示核心路由表,格式同“route -e”。
-t 顯示TCP協議的連接情況。
-u 顯示UDP協議的連接情況。
-v 顯示正在進行的工作。
以上的選項可以結合使用,例如我們想知道正在開放的TCP端口,可以用下面的形勢執行察看:
[root@bogon vipx]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
Hostname
表示hostname和設置hostname用的,在不跟隨任何選項被執行的情形下,將表示現在的hostname,例如下面的輸出:
[root@bogon vipx]# hostname
bogon
如果是root的登陸情形下,可以更改hostname,例如我們把現在的hostname改稱centos的情形如下:
@bogon vipx]# hostname
centos
[root@bogon vipx]#
ping
這條命令是通過向目標地址發送ICMP信息包的方式,來確定目標主機是否在工作或網絡聯通與否。參數是目標主機的IP地址,
例如我們要知道自己的主機的網絡配置是否正常,可通過ping自己主機來判斷,情形如下:
[root@bogon vipx]# ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.096 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.071 ms
64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.061 ms
64 bytes from localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.073 ms
64 bytes from localhost (127.0.0.1): icmp_seq=6 ttl=64 time=0.073 ms
64 bytes from localhost (127.0.0.1): icmp_seq=7 ttl=64 time=0.031 ms
64 bytes from localhost (127.0.0.1): icmp_seq=8 ttl=64 time=0.041 ms
64 bytes from localhost (127.0.0.1): icmp_seq=9 ttl=64 time=0.046 ms
^C
--- localhost ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 8001ms
rtt min/avg/max/mdev = 0.031/0.063/0.096/0.019 ms
// 注意這個地方有一個0%表示網絡正常,當此處的X%的X是0以外的數字就表明網絡有問題,或者當ping 命令被執行后,將會顯示time out之類的字樣。
Ping命令的主要選項如下:
-c 數目在發送指定數目的包后停止。
-d 設定SO_DEBUG的選項。
-f 大量且快速地送網絡封包給一台機器,看它的回應。
-I 秒數設定間隔幾秒送一個網絡封包給一台機器,預設值是一秒送一次。
-l 次數在指定次數內,以最快的方式送封包數據到指定機器(只有超級用戶可以使用此選項)。
-q 不顯示任何傳送封包的信息,只顯示最后的結果。
-r 不經由網關而直接送封包到一台機器,通常是查看本機的網絡接口是否有問題。
-s 字節數指定發送的數據字節數,預設值是56,加上8字節的ICMP頭,一共是64ICMP數據字節。
更多信息和更多的命令可以在使用的過程中一點點學習,遇到問題的時候可以通過
#man命令
的形式來查看命令的用法