使用 CentOS 7 Minimal ISO
(最小安裝盤)安裝的CentOS默認是沒有配置網絡的,可使用 ping
試一下,結果確定是不能執行的,ping 指定ip不通是沒有網絡,ping域名不通是由於沒有DNS沒法解析域名,以下圖所示:vim
使用
ip address
也能夠看到,是沒有網卡和網絡IP的,以下圖:服務器
在 CentOS 6 中, 網絡設置及靜態IP配置在 /etc/sysconfig/network-scripts/ifcfg-eth0
文件中配置,CentOS 7 網卡命令規則變化,命名規則根據系統固件和硬件來命名爲 ifcfg-en*
類型,只有新的命名規則找不到的狀況下才使用相似 eth0
這樣的樣式(系統之因此作出這樣的改變確定是有利於兼容硬件,感興趣的能夠本身深刻了解,這裏不作展開,個人電腦網卡是 /etc/sysconfig/network-scripts/ifcfg-enp0s3
) ,使用 vi
打開這個文件(最小安裝默認只有 vi
而沒有 vim
),修改以下內容:網絡
BOOTPROTO=dhcp #保持默認的dhcp,dhcp會在聯網以後自動獲取到IP,dhcp獲取的ip地址可能會由於網絡重連發生變化 ONBOOT=yes #開啓自動啓用網絡鏈接 DNS1=8.8.8.8 #第一個dns服務器,可設置多個,不指定也能夠 # 8.8.8.8 是Google提供的一個免費DNS服務器ip
:wq
保存退出以後,service network restart
重啓網絡,再次 ping baidu.com
,可以ping通就表示網絡已經啓用了;.net
這裏補充一點知識擴展:rest
- 通常生產環境服務器一般是在
/etc/resolv.conf
文件下配置nameserver
或search
來指定DNS,在fcfg-enp0s3
中配置的DNS,重啓網絡服務後,DNS一、DNS2 配置會自動同步到/etc/resolv.conf
的nameserver
- 若是
fcfg-enp0s3
中不指定DNS,且BOOTPROTO=dhcp
的時候,重啓網絡會自動生成距離網絡最近的DNSsearch
和nameserver
到/etc/resolv.conf
文件下,實現DNS解析,因此fcfg-enp0s3
中的DNS不指定也是能夠的。我在公司網絡環境下配置,自動將我公司內網的DNS寫入/etc/resolv.conf
文件,以下圖所示(擦除了銘感信息):
CentOS 7 網絡配置還有一個有趣的現象,咱們都習慣使用 ifconfig
命令查看本身的網絡信息和IP地址,可是在 CentOS 7 是沒法執行的,以下圖所示:code
緣由是 CentOS 7 使用 ip
命令代替了 ifconfig
命令, ifconfig
是 net-tools 中已被廢棄使用的一個命令,多年前就已經沒有維護了,新的 iproute2 提供了比 net-tools 更強大的命令,CentOS 7 預裝的是 iproute2 ,ip
命令屬於iproute2,功能天然也比 ifconfig
會更強大,若是習慣了用 ifconfig
命令的能夠手動安裝一下net-tools: yum install -y net-tools
server
ip
命令經常使用的命令:blog
ip link show
顯示網絡接口狀態信息ip address
查看網絡接口IP地址相關,發現網絡接口enp0s3沒有分配IP地址
dhcp 網絡模式會在聯網以後自動獲取到IP地址,dhcp 獲取的ip地址可能會由於網絡重連發生變化,實際網絡中,咱們但願本身的IP地址是惟一的,以便於經過IP進行通信訪問,採用配置靜態IP方式是最好的一種方式,靜態IP配置方式:dns
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
打開編輯,修改以下內容:接口
BOOTPROTO=static #默認dhcp,改成static,表示啓用靜態IP地址 ONBOOT=yes #開啓自動啓用網絡鏈接 IPADDR=192.168.1.73 #靜態IP地址,若是使用虛擬機橋接模式,靜態IP必定要和主機在同一個網段,且IP惟一未被使用 GATEWAY=192.168.1.1 #網關,需和公網主機配置的網關一致 NETMASK=255.255.255.0 #子網掩碼,需和公網主機配置的網關一致 DNS1=8.8.8.8 #第一個dns服務器,BOOTPROTO=static 的時候不會自動生成DNS解析,最好在這裏也一併配置上
:wq
保存退出以後,service network restart
或 /etc/init.d/network restart
重啓網絡以後就生效了