今天在一台PC上安裝了CentOS 7,當時選擇了最小安裝模式,安裝完成後馬上用ifconfig查看原生ip地址(區域網路已經有DHCP),發現報錯,提示ifconfig命令沒找到。
[root@centos1 ~]# ifconfig-bash: ifconfig: command not found
首先,習慣性的輸入echo $PATH(查看當前PATH環境變數,跟DOS的path命令一樣的功能,注意Linux系統中的命令是區分大小寫),顯示結果如下:
[root@centos1 ~]# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
從上面顯示結果看,放置系統管理程式的路徑/usr/sbin已存在,就是放外部命令的路徑。直接用ls查看/usr/sbin/目錄,也沒看到ifconfig,怎麼回事?
[root@centos1 ~]# ls /usr/sbin/
我還是不死心,再用find命令也沒找到ifconfig?
[root@centos1 ~]# find / -name "ifconfig"
此時心裡有底了,應該是用某個命令代替了ifconfig了。上百度一查,果不其然,已經用ip命令代替ifconfig命令了。下面列出ip命令常用參數。
ip [選項] 操作對象{link|addr|route...}
# ip link show # 顯示網路介面資訊
# ip link set eth0 upi # 開啟網卡
# ip link set eth0 down # 關閉網卡
# ip link set eth0 promisc on # 開啟網卡的混合模式
# ip link set eth0 promisc offi # 關閉網卡的混個模式
# ip link set eth0 txqueuelen 1200 # 設定網卡隊列長度
# ip link set eth0 mtu 1400 # 設定網卡傳輸單元最大值
# ip addr show # 顯示網卡IP資訊
# ip addr add 192.168.0.1/24 dev eth0 # 設定eth0網卡IP地址192.168.0.1
# ip addr del 192.168.0.1/24 dev eth0 # 刪除eth0網卡IP地址
# ip route list # 查看路由資訊
# ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 設定192.168.4.0網段的網關為192.168.0.254,資料走eth0介面
# ip route add default via 192.168.0.254 dev eth0 # 設定預設閘道為192.168.0.254
# ip route del 192.168.4.0/24 # 刪除192.168.4.0網段的網關
# ip route del default # 刪除預設路由
輸入ip addr命令後,發現enp2s0網卡(這個enp2s0是我這裡的網卡)沒有ip地址。
[root@centos1 ~]# ip addr
既然沒有ip地址,那直接去/etc/sysconfig/network-scripts目錄中看一下的網卡ip資訊的設定檔名吧。
[root@centos1 ~]# ls /etc/sysconfig/network-scripts/ifcfg-enp2s0 ifdown-eth ifdown-post ifdown-Team ifup-aliases ifup-ipv6 ifup-post ifup-Team init.ipv6-globalifcfg-lo ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-isdn ifup-ppp ifup-TeamPort network-functionsifdown ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-plip ifup-routes ifup-tunnel network-functions-ipv6ifdown-bnep ifdown-isdn ifdown-sit ifup ifup-ippp ifup-plusb ifup-sit ifup-wireless
從結果看,之前儲存網卡ip資訊的設定檔名也由以前的ifcfg-eth0變成了ifcfg-enp2s0,好吧,既然你給他命這麼個名,那我就先用著。先cat一下ifcfg-enp2s0
[root@centos1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0HWADDR=00:E0:69:01:6A:96TYPE=EthernetBOOTPROTO=dhcpDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noNAME=enp2s0UUID=5b0a7d76-1602-4e19-aee6-29f57618ca01ONBOOT=no
從上面的配置中有看到雖然BOOTPROTO=dhcp,但是ONBOOT=no,這裡用vi將ONBOOT=no改成ONBOOT=yes,然後重啟CentOS。
[root@centos1 ~]# shutdown -r
重啟完成後輸入帳號和密碼進入命令提示操作符繼續用ip addr查看網卡資訊。結果如下:
[root@centos1 ~]# ip add1: 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 forever2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:e0:69:01:6a:96 brd ff:ff:ff:ff:ff:ff inet 172.8.1.200/24 brd 172.8.1.255 scope global enp2s0 valid_lft forever preferred_lft forever inet6 fe80::2e0:69ff:fe01:6a96/64 scope link valid_lft forever preferred_lft forever
從上面結果看到,通過DHCP分配到的ip地址是172.8.1.200,雖然是測試機,但為了便於今後的遠端連線,我們還是給這台機配置一個固定ip吧。
用vi開啟ifcfg-enp2s0,輸入以下參數,再用#將BOOTPROTO=dhcp注釋。
IPADDR0=172.8.1.211
PREFIX0=24
GATEWAY0=172.8.1.1
DNS1=172.8.1.1
完整參數如下,好了,網路配通了。明天繼續其它功能測試。
[root@centos1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0HWADDR=00:E0:69:01:6A:96TYPE=Ethernet#BOOTPROTO=dhcpDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noNAME=enp2s0UUID=5b0a7d76-1602-4e19-aee6-29f57618ca01ONBOOT=yesIPADDR0=172.8.1.211PREFIX0=24GATEWAY0=172.8.1.1DNS1=172.8.1.1
當聯上互連網後,我們可以用yum install net-tools安裝net-tools組件,將ifconfig命令找回來。有了互連網一切都好辦了。
[root@centos1 ~]#yum install net-tools
=======================================
linux下啟動和關閉網卡命令
linux命令1: ifup、ifdown:
即時地手動修改一些網路介面參數,可以利用ifconfig來實現,如果是要直接以設定檔,亦即是在 /etc/sysconfig/network-scripts裡面的ifcfg-ethx等檔案的設定參數來啟動的話,那就得要通過ifdown或ifup來實現了。
[root@linux ~]# ifup {interface}[root@linux ~]# ifdown {interface}[root@linux ~]# ifup eth0
ifup與ifdown真是太簡單了。這兩個程式其實是script而已,它會直接到 /etc/ sysconfig/network-scripts目錄下搜尋對應的設定檔,例如ifup eth0,它會找出ifcfg-eth0這個檔案的內容,然後加以設定。關於ifcfg-eth0的設定請參考前一章連上Internet的說明。
不過,由於這兩個程式主要是搜尋設定檔案(ifcfg-ethx)來進行啟動與關閉的,所以在使用前請確定ifcfg-ethx是否真的存在於正確的目錄內,否則會啟動失敗。另外,如果以ifconfig eth0來設定或者是修改了網路介面後,就無法再以ifdown eth0的方式來關閉了。因為ifdown會分析比較目前的網路參數與ifcfg-eth0是否相符,不符的話,就會放棄這次操作。因此,使用ifconfig修改完畢後,應該要以ifconfig eth0 down才能夠關閉該介面。
如何讓LINUX網卡開機自動啟動
啟用網卡的命令是:ifconfig eth0 up你既然知道了命令,自己做一個指令碼,放在啟動項目就可以了。
通過編輯網卡設定檔修改網卡設定檔儲存在/etc/sysconfig/network-scripts目錄下面。
第一塊網卡的檔案是ifcfg-eth0
第二塊網卡的檔案是ifcfg-eth1
以此類推,如果如果你有一塊,那麼你就輸入一下命令
[root@linux ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
開啟之後,將ONBOOT=no,改為ONBOOT=yes,(如果沒有,手動添加ONBOOT=yes),:wq儲存退出,重啟服務。
echo "ONBOOT=yes" >> /etc/sysconfig/network-script/ifcfg-eth0
在/etc/sysconfig/network-scripts中添加ONBOOT=yes設定網路開機自動啟動
linux命令2: /etc/init.d/network restart 和 service network restart
[root@CentOS2 ~]# /etc/init.d/network restart
正在關閉介面 eth1: [確定]
關閉環回介面: [確定]
彈出環回介面: [確定]
彈出介面 eth1: Determining if ip address 10.0.0.168 is already in use for device eth1...
[確定]
[root@CentOS2 ~]# service network restart
正在關閉介面 eth1: [確定]
關閉環回介面: [確定]
彈出環回介面: [確定]
彈出介面 eth1: Determining if ip address 10.0.0.168 is already in use for device eth1...
[確定]
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。