Centos7 的ifconfig和netstat

URL Link //n.sfs.tw/10450

2016-12-19 00:13:47 By 張○○
Centos7/RHEL 7 的ifconfig netstat route 和 traceroute都不見了,其實Centos6就已經有一些變革,只是 netstat 和 ifconfig 那時還保留著,所以沒發現

Centos7 和RHEL 7 最小安裝中竟然沒有我最常用的ifconfig和netstat?

# ifconfig   
-bash: ifconfig: command not found

很好,原來centos/rhel準備把這兩個指令作廢,那怎麼辦?一是安裝,二是改用別的指令。

安裝

yum 有提供一個尋找程式所屬套件的方法

# yum provides ifconfig
# yum whatprovides ifconfig
# #安裝 infconfig
# yum install net-tools
# #安裝 traceroute
# yum install  traceroute

這樣裝完就有 ifconfig、netstat和route以及 traceroute 和 traceroute6

改用別的指令

其實ifconfig在 7版中全部有新指令代替,所以可能要學習新的方法。

1. ifconfig 改用 ip addr

$ #這個和ifconfig 顯示的一樣
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:ba:0b:07 brd ff:ff:ff:ff:ff:ff
    inet 163.17.xx.xx/25 brd 163.17.40.127 scope global ens192
       valid_lft forever preferred_lft forever
    inet6 2001:288:5400:0:250:56ff:feba:b07/64 scope global dynamic
       valid_lft 2591718sec preferred_lft 2591718sec
    inet6 fe80::250:56ff:feba:b07/64 scope link
       valid_lft forever preferred_lft forever
$ #查看介面傳輸狀態 -s 是詳細顯示
$ ip -s link
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    4400       45       0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    4400       45       0       0       0       0
2: ens192: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:50:56:ba:0b:07 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    207938930  2541628  0       1809366 0       495
    TX: bytes  packets  errors  dropped carrier collsns
    788417     8512     0       0       0       0
$ #查看介面傳輸狀態 -s 是詳細顯示
$ ip  link
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens192: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:50:56:ba:0b:07 brd ff:ff:ff:ff:ff:ff

2. netstat 改用 ss

netstat 是很重要的連線觀察工具,使用新的指令ss來取代,功能也是差不多。

$ #TCP listen
$ ss -lt
$ #UDP listen
$ ss -ul
$ #TCP 連線
$ ss -t

3. traceroute/traceroute6 改成 tracepath

$ tracepath 168.95.1.1
 1:  163.17.XX.XX                                          0.187ms pmtu 1500
 1:  163.17.40.126                                         0.263ms
 2:  163.17.38.250                                         0.555ms
 3:  br-NCHU-APTG.TANet.edu.tw                            19.799ms
 4:  no reply
 5:  tchn-3302.hinet.net                                   1.395ms asymm  6
 6:  tchn-3011.hinet.net                                  15.089ms
 7:  202-39-179-185.HINET-IP.hinet.net                     1.533ms
 8:  202-39-179-173.HINET-IP.hinet.net                     4.435ms reached
     Resume: pmtu 1500 hops 8 back 248

4. route 改為 ip -route

$ #route table 看起來有點不習慣
$ ip route
$ #route6 IPv6的route table
$ ip -6 rou 

5. arp 改為 ip nei查看附件的arp 和 IPv6的neighbor,這個把v6 v4整合的還不錯。

# ip neighbor

6. 介面開關

$ ifconfig eth1 up
$ ifconfig eth1 down
改為
$ ip l set eth1 up 
$ ip l set eth1 down

結論

還是建議學習新的使用方法,舊的遲早會過時 (outdated, deprecated)

參考資料

[1] ‘Ifconfig’ Command Not Found In CentOS 7 Minimal Installation – A Quick Tip To Fix It

[2] http://d.hatena.ne.jp/enakai00/20140712/1405139841


原文 2014-11-06 16:43:11