CentOS7配置網卡爲靜態IP,若是你還學不會那真的沒有辦法了!

這篇博文,可能對初學linux的小夥伴或對網卡配置不太熟悉linux用戶有所幫助, 若是你是老司機呢, 能夠多多指正, 若是說這篇博文你看過以後學不會配置linux下的靜態IP, 那真是沒有好的辦法了, 你可能真的不太適合作技術!

CentOS7最小化安裝後是沒有 ifconfig 命令的, 因此說你是沒有辦法經過 ifconfig 查看網卡相關配置信息的, 很差意思說了一句廢話, 那麼CentOS這個那麼有情懷的社區linux發行版本怎麼能夠在經過最小化安裝後不能查看網卡配置信息, 這個必須有它就是 ip 命令
[root@localhost~]# ip addr
經過 ip 命令加參數 addr 則是查看當前網卡的配置信息, 從下圖中能夠看出, 當前系統的 ens33 網卡並無 ipv4ipv6, 沒有 ip地址 則只能說明一個問題, 當前linux系統是沒有辦法上網的, lo 這塊網卡每個系統中都會有, 這個稱之爲 迴環網卡

ip addr

當前系統只能經過 ping 命令 ping迴環網卡 也就是 127.0.0.1 這個 ip地址
[root@localhost ~]# ping 127.0.0.1

ping 127.0.0.1

CentOS7默認網卡配置信息

CentOS7默認網卡設備文件存放於
/etc/sysconfig/network-scripts/
目錄下, 有於CentOS的發行及系統升級或許可能會存在網卡設備名稱與以前版本不一致的狀況, 這也很容易理解, 網卡設備名稱在linux系統中它只是一個標誌, 它並不能說明什麼問題, 關鍵是這個設備文件的配置參數, 我當前CentOS7的網卡設備名稱是
ifcfg-ens33
若是你看到你的linux發行版本中的網卡設備名稱與個人不一致, 這太正常了, 不要問爲何, 改變嘛, 改變就是但願! (^-^), 這裏只是說的linux的發行版本CentOS, 我可沒說過是Ubuntu, 爲何說是CentOS呢?咱們都知道在企業應用中linux的發行版本用的最多的仍是 RedHat, 不過 RedHat 要收費了哈, 爲何呢?這是人家服務作的好嘛!再小一點的公司可能最多的用的是 CentOS, 爲何要用 CentOS 呢?這是由於 RedHatCentOS 給收購了, CentOS 如今叫社區版本, RedHat 在作服務方面, 是先將服務放到社區版本 CentOS 上, 經過社區反饋, 當技術足夠成熟時, 就會將新技術或者服務添加到 RedHat 中去, 因此用 CentOS 其實也就是間接的在使用 RadHat 啦!就是這個樣子了, 固然你能夠去百度一下去了解了解, 就不說讓你Google了,在天國真是上網都有些力不從心呢,你懂就好!哈哈...
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
經過 cat 查看CentOS7最小化安裝默認網卡設備配置信息, 以下:
TYPE=Ethernet                # 網卡類型:爲以太網
PROXY_METHOD=none            # 代理方式:關閉狀態
BROWSER_ONLY=no                # 只是瀏覽器:否
BOOTPROTO=dhcp                # 網卡的引導協議:DHCP[中文名稱: 動態主機配置協議]
DEFROUTE=yes                # 默認路由:是, 不明白的能夠百度關鍵詞 `默認路由` 
IPV4_FAILURE_FATAL=no        # 是不開啓IPV4致命錯誤檢測:否
IPV6INIT=yes                # IPV6是否自動初始化: 是[不會有任何影響, 如今還沒用到IPV6]
IPV6_AUTOCONF=yes            # IPV6是否自動配置:是[不會有任何影響, 如今還沒用到IPV6]
IPV6_DEFROUTE=yes            # IPV6是否能夠爲默認路由:是[不會有任何影響, 如今還沒用到IPV6]
IPV6_FAILURE_FATAL=no        # 是不開啓IPV6致命錯誤檢測:否
IPV6_ADDR_GEN_MODE=stable-privacy            # IPV6地址生成模型:stable-privacy [這隻一種生成IPV6的策略]
NAME=ens33                    # 網卡物理設備名稱
UUID=f47bde51-fa78-4f79-b68f-d5dd90cfc698    # 通用惟一識別碼, 每個網卡都會有, 不能重複, 否兩臺linux只有一臺網卡可用
DEVICE=ens33                    # 網卡設備名稱, 必須和 `NAME` 值同樣
ONBOOT=no                        # 是否開機啓動, 要想網卡開機就啓動或經過 `systemctl restart network`控制網卡,必須設置爲 `yes`

CentOS7配置網卡爲靜態IP

上面說了那麼多就是爲了下面配置網卡一哆嗦!如下操做是經過 vi 編輯器所作修改, 老司機會說了, 你怎麼不用 vim, 這個比 vi 更個性, 你呀也別叨叨了, 你是沒看到怎麼的, 咱這但是最小化安裝方式, 啥也沒有, 嗯不對, 是最基礎的有, 想玩花樣, 那可得安裝, 要安裝那不得先連網, 如今不就是架橋鋪路的嗎?都到這個地步了, 你可別跟我說你不會用 vi, 別鬧哈洗洗睡吧!
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
使用 vi 文本編輯器打開網卡設備文件, vi linux 下的神器, 很少說誰用誰知道, 沒用過的別叨叨哈, 進入插入模式, 這個知道吧, 就是你的小手指按 i, 修改具體配置項爲如下內容:
BOOTPROTO=static
設置網卡引導協議爲 靜態
ONBOOT=yes
設置網卡啓動方式爲 開機啓動 而且能夠經過系統服務管理器 systemctl 控制網卡
IPADDR=192.168.1.111
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
上面是最主要的3個配置項[IP/子網掩碼/網關], 配置完成這些參數先保存退出, 按 esc 進入到 命令模式, 按住 shift + : 輸入 :, 接着再輸入 wq, w保存, q 就是告退嘍, 你可能會說, 你輸入的 :wq 多麻煩呢, 直接來一個 :x 命令多好啊, 其實吧說實話我歷來就不用這個指令, 爲何呢? 緣由很很簡單, 那就是這個指令它不夠見名知意, 要記住它你得跟 wq 聯想到一塊吧,這在無形中就會增長你學習的成本, 咱們要學習的東西不少, 你要這麼學你得累死, 這是我的看法, w 就是 write, 那麼 q 就是 quit, 這些單詞你都學過吧, 學過就不用額外記其它的嘍, so...
[root@localhost ~]# systemctl restart network
重啓網卡, 說明一點, 在 CentOS7 下已全面使用 systemctl 做爲服務管理器, 它用來替代 service 和 chkconfig, 如今 RadHatUbuntufedora 等主流的 linux 發行版本都以全面支持 systemctl 服務管理器, 這但是一個好事情!皆大歡喜

獲取設置具體IP/子網掩碼/網關地址說明

設置這3個參數你要知道你當前所處的網絡環境, 好比公司內網, 家庭局域網, 餐廳, 咖啡廳等, 知道它們的網段,子網及網關, 就好比說我在家裏上網有臺小路由器吧, 同時能夠有多臺設備上網iPhone,MAC,MI,ThinkPad等等, 如今誰家尚未路由器, 你可別說你開了一寬帶就直接往電腦上一插, 而後開熱點, 你可真會過, 我真沒見過你這樣式的,一個字 摳門, 沒有路由器的小夥伴能夠閉嘴了哈, 開個玩笑而已, 你可真要當真了哈, 哈哈...

MAC 網卡配置信息

上圖是個人Mac無線網卡的配置信息, 這個配置信息, 你不用操心太多, 這是Mac經過DHCP協議從無線路由器上獲取到的, 你可能會說我用的是Windows, 怎麼和你的顯示不太同樣, 不太同樣是吧, 這也一點問題都沒有, 沒毛病, 要否則Mac也成了Windows操做系統了, 這Mac可真是買虧了, 說一下上面紅線圈住的具體含義
inet 192.168.1.100
就是局域網IP地址啦!Mac是 192.168.1.100 那麼上面的 CentOS 就不能是這個地址了, 記住了哈, IP是惟一的, 就像你的身份證ID同樣, 每一個人只有一個, 你跑到國外也不會有人跟你同樣, 要否則那還得了, 別人犯事了, 來抓你了, 你能願意? 呵呵....我不信!
netmask 0xffffff00
這個是子網掩碼, 它是用 16進製表示的, 這可能與咱們經常使用的Windows有些不同, 而且還略顯怪異, 咱們都知道, IP地址是用 32 位表示的, 分爲 4 段, 每段 8 位, 這 8 位呢!是 01 二進制組合來表示的, 那麼轉化爲 10 進制, 它每段的取值就是 0-255 所示每段最小是 0 最大是 255, 這種表示方法在Windows上就是使用的 10 進制, 在 Mac 下若是存在最小 0 或 最大 255 它就會轉化爲 16 進制, 若是說當前的子網掩碼是 255.255.255.0, 這是Windows下的 10 進製表示, 那到了 MacMac 系統的研發工程師以爲老闆發薪資了, 也不能閒着的時候沒事幹, 非得將 10 進制轉換成 16 進制就成了咱們如今看到的這個樣子了 0xffffff00, 你就可勁轉吧, 咱們又不是轉不回來, 小樣, 哈哈, 博主是猴子請來的...
broadcast 192.168.1.255
這個呢是 廣播地址, 主要的網絡設備有 路由器防火牆, 具備三層交換功能的網絡交換機及以 經過軟件開啓了路由功能的主機, 這個地址呢!可能會與IP不是一個網段, 這個要看局域網網絡設備多少, 公司內部通常是不會跟IP地址網段同樣, 仍是那句話, 具體狀況具體分析, 你可別較真哈, 像我在家裏上網確定就是一臺無線路由器就搞定的事情, 那麼這個 廣播地址, 確定是跟IP地址在一個網段, 最大 10 進制值表示這個 廣播地址 也就是 192.168.1.255, 網卡中設置的是網關地址, 那麼這個IP網段的第一個就是網關地址, 也就是 192.168.1.1 這個地址

配置以上網卡信息後當前網卡狀態

[root@localhost ~]# ip addr

當前網卡狀態

能夠看到 ens33 這塊網卡, IP/網關, 還有ipv6這個現階段還暫時用不到, 甭操心! 可是你會發現你看不到 子網掩碼 設置具體值, 這個安裝上 net-tools 工具包, 就能夠經過 ifconfig 來查看網卡配置信息了, 來接着往下看

到目前爲止, 上面配置的網卡信息也只能是在內網裏得瑟, 上不了網, 爲何這麼說呢, 要不你試試看, 由於還有一個知識點要說, 先來試試看是否是像我說的那樣, 下面作一個測試就一目瞭然了

PING內網其它主機

[root@localhost ~]# ping 192.168.1.100

PING內網其它主機

這個 ping 的是個人Mac, 能夠 ping 通, 沒有任何問題!

PING外網其它主機

[root@localhost ~]# ping baidu.com

PING外網其它主機

這個 ping 的是位於西二旗的在 百度, 出現 未知域名或服務!shit!

容許網卡訪問外網主機

爲何上不去網呢?這是由於當前 CentOS 還解析不了輸入的 baidu.com 這個字符串, 我知道它是百度的域名, 你也知道, 但它就是不知道這是百度域名, 它解析 baidu.com 域名究竟是對應哪一IP地址, 那好了, 去Mac下 ping 一下 baidu.com 這個域名, 給它加到 CentOS 系統的 hosts 文件這事也就靠譜了

Mac下ping百度

從結果上來看百度的IP地址就是 220.181.57.217 這個IP了, 沒錯就是它!

編輯 /etc/hosts 文件

打開 /etc/hosts 文件
[root@localhost ~]# vi /etc/hosts
如下呢!是初始化安裝 CentOS7 後默認的 hosts 文件具體內容

hosts-defalut-content

輸入如下IP與域名的對應記錄, 保存退出
220.181.57.217        baidu.com www.baidu.com

修改hosts文件

如今再去 ping 百度的域名 baidu.com 確定沒有問題!
[root@localhost ~]# ping baidu.com

那好, 你去 ping 一下 淘寶 的域名唄!好啊!
[root@localhost ~]# ping taobao.com

PING淘寶

咦!dammit, 怎麼又不行了, 難道我要 ping淘寶 的域名還要再去 hosts 中添加對應的IP與域名的關係, 這還不是一個噩夢!要是沒有 域名解析服務器 你說這個世界會是什麼樣子, 給你5分鐘的考慮時間, 哈哈, 經過這個過程呢, 就是想讓那些不是太明域名解析的小夥伴們理解逶了, 其實 ping 命令使用到了 ICMP 協議, 它是TCP/IP協議集中一個子協議,屬於TCP/IP參考模型網絡層協議, 你能夠去複習網絡這門課了, 說多了都是罪過!

配置網卡設備文件添加DNS域名解析服務器地址

添加DNS域名解析服務器地址, 就是讓 CentOS7 在使用 ping 命令時, 一看給的是一個字串符而非IP地址, 就經過 域名解析服務器 查找對應的IP地址, 而後經過IP去 ping 對應的主機這事也就妥妥的了, 簡單的說明這個問題它就是這樣, 要想知道它具體都幹什麼事情了, 你還得去研究一下 網絡參考模型 以及 協議 這些事!

Windows獲取DNS服務器地址

那你可能會說了, 我去哪找 域名解析服務器 地址呢?這個很簡單, 若是你是windows用戶你能夠經過在 cmd 命令行下輸入:
C:\Windows\System32> ipconfig /all

DNS

Mac用戶獲取DNS服務器地址

若是你是Mac用戶則能夠經過, 界面的形式獲取DNS服務器地址, 由於在終端下是顯示不出來的, 若是你有辦法能夠在終端下顯示出來請不要吝嗇給我留言好了,謝謝!
系統偏好設置->網絡->高級->DNS

mac下查看DNS服務器地址

修改網卡設備配置文件

添加DNS服務器地址到網卡設備配置文件, 添加結果以下所示
DNS1=127.207.160.106
DNS2=219.239.26.42
保存退出, 重啓網卡設備
[root@localhost ~]# systemctl restart network
如今你再去 ping 淘寶的域名 taobao.com 就是OK!
[root@localhost ~]# ping taobao.com

PING淘寶域名

最終網卡設備配置詳情表

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=f47bde51-fa78-4f79-b68f-d5dd90cfc698
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.111
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=127.207.160.106
DNS2=219.239.26.42

安裝輔助工具包

安裝 wget 下載工具

[root@locahost ~] yum install -y wget
  • -y 參數是遇到詢問時一侓贊成
wget 安裝完成後你就能夠經過它下載你想下載的內容了, 好比你要下載一帳MM圖片, 就能夠這麼作:
  • 找到想要下載的MM圖片資源

獲取資源地址

  • 下載資源下本地
[root@locahost ~]# wget -O duanfamm.jpg -c 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1510489141277&di=10bdf080b2d210fa55b5874f84dab96a&imgtype=0&src=http%3A%2F%2Fp3.wmpic.me%2Farticle%2F2016%2F06%2F29%2F1467184706_GzGPwLch.jpg'

下載資源下本地

在上圖的 terminal 中能夠看到圖片下載成功並重命名, 關於更多 wget 用法的詳情請參考: wget使用詳情

參數說明:html

  • -O 下載到指定目錄
  • -c 斷點續傳

安裝 net-tools 工具包

net-tools 工具包, 包含如下命令:arp, hostname, ifconfig, ipmaddr, iptunnel, mii-tool, nameif, netstat, plipconfig, rarp, route und slattach. 關於 net-tools 更多的詳情信息請參考: net-tools詳情

固然了話又話說回來,若是你也不知道使用的工具命令在哪一個包下, 能夠經過下面的方式去得到包名, 經過包名去安裝, 就可使用你想要使用的工具命令了, 就比如說你如今要使用 ipconfig 這個命令
[root@localhost ~]# ifconfig
可能會獲得這麼一個結果:

command not found

那麼你可能使用經過 yum 軟件包管理工具進行安裝:
[root@localhost ~]# yum install -y ifconfig
很不幸你會獲得這麼一個結果:

沒有可用的 ifconfig 包, 那這個時候你就要經過:
yum whatprovides package_name
來查找包名了, 如如今要查找 ifconfig 這個命令, 具體包含在哪一個包裏就能夠這麼作:
[root@localhost ~]# yum whatprovides ifconfig

No matches found

你可能會看到這樣的結果, 你以爲我在逗你玩呢?我可沒有那功夫哈! 緣由是CentOS在 yum 源在國內使用很是不穩定, 建議更新爲國內的 yum 源, 好比 阿里 或是 網易

更新 yum

更新 CentOS7 默認 yum 源, 須要如下幾個步驟:
  • 備份當前系統默認 yum 源配置文件
[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
  • 查看當前 CentOS7 版本號
[root@localhost ~]# cat /etc/centos-release

cat /etc/centos-release

[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 清除全部yum源緩存文件
[root@localhost ~]# yum clean all
  • 生成yum源緩存
[root@localhost ~]# yum makecache
如今的話你就能夠經過:
[root@localhost ~]# yum whatprovides ifconfig
找到是 net-tools 這個包啦!
[root@localhost ~]# yum install -y net-tools

使用 ifconfig 查看網卡配置信息

[root@localhost ~]# ifconfig

ifconfig查看網卡配置信息

從上圖能夠看出:
  • ip: 192.168.1.111
  • 子網掩碼: 255.255.255.0
  • 廣播地址:192.168.1.255
  • 網關地址:192.168.1.1 [這個沒有顯示出來]
你記住一點就行了, 若是是一臺路由, 那麼 192.168.1.2 ~ 192.168.1.254 是可用的, 剩下的呢, 192.168.1.1 就是網關地址, 192.168.1.255 就是廣播地址, 在網卡配置時, 廣播地址是你不用配置的, 你要配置的是網關地址/IP/子網掩碼, 就醬!

以上就是 CentOS7配置網卡爲靜態IP 的詳細過程, 謝謝您的支持!

但願本文對你的工做和學習有所幫助linux

若是以爲還不錯而且也長知識了, 怎麼感謝我呢? 媽呀! 點贊啊!vim

Good Luck! from warnerwu at 2017.11.11 AM, email address is warnerwu@126.comwindows

相關文章
相關標籤/搜索