CentOS 7 網絡配置詳解

今天在一臺PC上安裝了CentOS 7,當時選擇了最小安裝模式,安裝完成後立刻用ifconfig查看本機的ip地址(局域網已經有DHCP),發現報錯,提示ifconfig命令沒找到。
linux

[root@centos1 ~]# ifconfig
-bash: ifconfig: command not found


首先,習慣性的輸入echo $PATH(查看當前PATH環境變量,跟DOS的path命令同樣的功能,注意Linux系統中的命令是區分大小寫的),顯示結果以下:
windows

[root@centos1 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin


從上面顯示結果看,放置系統管理程序的路徑/usr/sbin已存在,就是放外部命令的路徑。直接用ls查看/usr/sbin/目錄,也沒看到ifconfig,怎麼回事?

centos

[root@centos1 ~]# ls /usr/sbin/


我仍是不死心,再用findwhich命令也沒找到ifconfig
bash

[root@centos1 ~]# find / -name "ifconfig"網絡

沒有顯示
架構

[root@centos1 ~]# which ifconfigless

/usr/bin/which: no ifconfig in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
編輯器


此時內心有底了,應該是用某個命令代替了ifconfig了。上百度一查,果不其然,已經用ip命令代替ifconfig命令了。下面列出ip命令經常使用參數。ide

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-global
ifcfg-lo      ifdown-ippp  ifdown-ppp     ifdown-TeamPort  ifup-bnep     ifup-isdn   ifup-ppp     ifup-TeamPort  network-functions
ifdown        ifdown-ipv6  ifdown-routes  ifdown-tunnel    ifup-eth      ifup-plip   ifup-routes  ifup-tunnel    network-functions-ipv6
ifdown-bnep   ifdown-isdn  ifdown-sit     ifup             ifup-ippp     ifup-plusb  ifup-sit     ifup-wireless


從結果看,以前保存網卡ip信息的配置文件名也由之前的ifcfg-eth0變成了ifcfg-enp2s0,若是你的仍是ifcfg-eth0,那就修改這個名稱的配置文件就行了,我這裏已經變成了ifcfg-enp2s0,好吧,既然系統給他命了這麼個名,那就直接修改這個配置文件就好了。先cat一下ifcfg-enp2s0

[root@centos1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp2s0
HWADDR=00:E0:69:01:6A:96
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp2s0
UUID=5b0a7d76-1602-4e19-aee6-29f57618ca01
ONBOOT=no


從上面的配置中有看到雖然BOOTPROTO=dhcp,可是ONBOOT=no,這裏用viONBOOT=no改爲ONBOOT=yes,而後用shutdown -r重啓CentOS(固然也能夠用ifdown和ifup,network命令重啓網卡,後面有介紹,我這裏是習慣性的用shutdown -r重啓,vi是linux下的文本編輯器,相似於windows下的notepad.exe[記事本軟件],不會用的朋友請自行百度vi)。

[root@centos1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp2s0

HWADDR=00:E0:69:01:6A:96
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp2s0
UUID=5b0a7d76-1602-4e19-aee6-29f57618ca01
ONBOOT=yes

重啓系統:

[root@centos1 ~]# shutdown -r


重啓完成後輸入賬號和密碼進入命令提示操做符繼續用ip addr查看網卡信息。結果以下:

[root@centos1 ~]# ip add
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: 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打開vi /etc/sysconfig/network-scripts/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-enp2s0
HWADDR=00:E0:69:01:6A:96
TYPE=Ethernet
#BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp2s0
UUID=5b0a7d76-1602-4e19-aee6-29f57618ca01
ONBOOT=yes
IPADDR0=172.8.1.211
PREFIX0=24
GATEWAY0=172.8.1.1
DNS1=172.8.1.1


當聯上互聯網後,咱們能夠用yum install net-tools安裝net-tools組件,將ifconfig命令找回來。有了互聯網一切都好辦了。net-tools工具包安裝好之後netstat命令也有了。

[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命令2: /etc/init.d/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...

                                          [肯定]


linux命令3: service network restart

[root@CentOS2 ~]# service network restart

正在關閉接口 eth1:                         [肯定]

關閉環回接口:                                 [肯定]

彈出環回接口:                                 [肯定]

彈出界面 eth1: Determining if ip address 10.0.0.168 is already in use for device eth1...

                                          [肯定]


如何讓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設置網絡開機自動啓動

                                            --------------------完--------------------------

CentOS若是是最小安裝,不少命令沒有,例如tree


[root@wp1 ~]# tree

-bash: tree: 未找到命令

[root@wp1 ~]# which tree

/usr/bin/which: no tree in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

[root@wp1 ~]# yum -y install tree

已加載插件:fastestmirror

Determining fastest mirrors

 * base: mirrors.cn99.com

 * extras: mirrors.cn99.com

 * updates: mirrors.cn99.com

base                                                                                               | 3.6 kB  00:00:00     

extras                                                                                             | 2.9 kB  00:00:00     

updates                                                                                          | 2.9 kB  00:00:00     

(1/4): base/7/x86_64/group_gz                                                        | 165 kB  00:00:00     

(2/4): extras/7/x86_64/primary_db                                                   | 153 kB  00:00:00     

(3/4): updates/7/x86_64/primary_db                                                | 5.1 MB  00:00:00     

(4/4): base/7/x86_64/primary_db                                                     | 6.0 MB  00:00:01     

正在解決依賴關係

--> 正在檢查事務

---> 軟件包 tree.x86_64.0.1.6.0-10.el7 將被 安裝

--> 解決依賴關係完成


依賴關係解決


===========================================================

 Package               架構                    版本                            源                     大小

===========================================================

正在安裝:

 tree                  x86_64                  1.6.0-10.el7                    base                   46 k


事務概要

===========================================================

安裝  1 軟件包


總下載量:46 k

安裝大小:87 k

Downloading packages:

警告:/var/cache/yum/x86_64/7/base/packages/tree-1.6.0-10.el7.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID f4a80eb5: NOKEY

tree-1.6.0-10.el7.x86_64.rpm 的公鑰還沒有安裝

tree-1.6.0-10.el7.x86_64.rpm                                                        |  46 kB  00:00:00     

從 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 檢索密鑰

導入 GPG key 0xF4A80EB5:

 用戶ID     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"

 指紋       : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5

 軟件包     : centos-release-7-7.1908.0.el7.centos.x86_64 (@anaconda)

 來自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  正在安裝    : tree-1.6.0-10.el7.x86_64                                                               1/1 

  驗證中      : tree-1.6.0-10.el7.x86_64                                                               1/1 


已安裝:

  tree.x86_64 0:1.6.0-10.el7                                                                               


完畢!

[root@wp1 ~]# tree

.

├── 2019-12-12-16honeys.txt

├── aaa.txt

├── anaconda-ks.cfg

└── bbb.txt


0 directories, 4 files

[root@wp1 ~]# 

相關文章
相關標籤/搜索