Centos7/RHEL 7 的ifconfig netstat route 和 traceroute都不見了,其實Centos6就已經有一些變革,只是 netstat 和 ifconfig 那時還保留著,所以沒發現
Centos7 和RHEL 7 最小安裝中竟然沒有我最常用的ifconfig和netstat?
# ifconfig
-bash: ifconfig: command not found
-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
$ 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