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