這篇博文,可能對初學linux的小夥伴或對網卡配置不太熟悉linux用戶有所幫助, 若是你是老司機呢, 能夠多多指正, 若是說這篇博文你看過以後學不會配置linux下的靜態IP, 那真是沒有好的辦法了, 你可能真的不太適合作技術!
CentOS7最小化安裝後是沒有ifconfig
命令的, 因此說你是沒有辦法經過ifconfig
查看網卡相關配置信息的, 很差意思說了一句廢話, 那麼CentOS這個那麼有情懷的社區linux發行版本怎麼能夠在經過最小化安裝後不能查看網卡配置信息, 這個必須有它就是ip
命令
[root@localhost~]# ip addr
經過ip
命令加參數addr
則是查看當前網卡的配置信息, 從下圖中能夠看出, 當前系統的ens33
網卡並無ipv4
及ipv6
, 沒有ip地址
則只能說明一個問題, 當前linux系統是沒有辦法上網的,lo
這塊網卡每個系統中都會有, 這個稱之爲迴環網卡
當前系統只能經過ping
命令ping
通迴環網卡
也就是127.0.0.1
這個ip地址
[root@localhost ~]# ping 127.0.0.1
CentOS7默認網卡設備文件存放於
/etc/sysconfig/network-scripts/
目錄下, 有於CentOS的發行及系統升級或許可能會存在網卡設備名稱與以前版本不一致的狀況, 這也很容易理解, 網卡設備名稱在linux系統中它只是一個標誌, 它並不能說明什麼問題, 關鍵是這個設備文件的配置參數, 我當前CentOS7的網卡設備名稱是
ifcfg-ens33
若是你看到你的linux發行版本中的網卡設備名稱與個人不一致, 這太正常了, 不要問爲何, 改變嘛, 改變就是但願! (^-^), 這裏只是說的linux的發行版本CentOS, 我可沒說過是Ubuntu, 爲何說是CentOS呢?咱們都知道在企業應用中linux的發行版本用的最多的仍是RedHat
, 不過RedHat
要收費了哈, 爲何呢?這是人家服務作的好嘛!再小一點的公司可能最多的用的是CentOS
, 爲何要用CentOS
呢?這是由於RedHat
把CentOS
給收購了,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`
上面說了那麼多就是爲了下面配置網卡一哆嗦!如下操做是經過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
, 如今RadHat
、Ubuntu
、fedora
等主流的linux
發行版本都以全面支持systemctl
服務管理器, 這但是一個好事情!皆大歡喜
設置這3個參數你要知道你當前所處的網絡環境, 好比公司內網, 家庭局域網, 餐廳, 咖啡廳等, 知道它們的網段,子網及網關, 就好比說我在家裏上網有臺小路由器吧, 同時能夠有多臺設備上網iPhone,MAC,MI,ThinkPad等等, 如今誰家尚未路由器, 你可別說你開了一寬帶就直接往電腦上一插, 而後開熱點, 你可真會過, 我真沒見過你這樣式的,一個字
摳門
, 沒有路由器的小夥伴能夠閉嘴了哈, 開個玩笑而已, 你可真要當真了哈, 哈哈...
上圖是個人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
位呢!是0
或1
二進制組合來表示的, 那麼轉化爲10
進制, 它每段的取值就是0-255
所示每段最小是0
最大是255
, 這種表示方法在Windows上就是使用的10
進制, 在Mac
下若是存在最小0
或 最大255
它就會轉化爲16
進制, 若是說當前的子網掩碼是255.255.255.0
, 這是Windows下的10
進製表示, 那到了Mac
下Mac
系統的研發工程師以爲老闆發薪資了, 也不能閒着的時候沒事幹, 非得將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
來查看網卡配置信息了, 來接着往下看
到目前爲止, 上面配置的網卡信息也只能是在內網裏得瑟, 上不了網, 爲何這麼說呢, 要不你試試看, 由於還有一個知識點要說, 先來試試看是否是像我說的那樣, 下面作一個測試就一目瞭然了
[root@localhost ~]# ping 192.168.1.100
這個ping
的是個人Mac, 能夠ping
通, 沒有任何問題!
[root@localhost ~]# ping baidu.com
這個ping
的是位於西二旗的在百度
, 出現未知域名或服務
!shit!
爲何上不去網呢?這是由於當前CentOS
還解析不了輸入的baidu.com
這個字符串, 我知道它是百度的域名, 你也知道, 但它就是不知道這是百度域名, 它解析baidu.com
域名究竟是對應哪一IP地址, 那好了, 去Mac下ping
一下baidu.com
這個域名, 給它加到CentOS
系統的hosts
文件這事也就靠譜了
從結果上來看百度的IP地址就是
220.181.57.217
這個IP了, 沒錯就是它!
/etc/hosts
文件
打開
/etc/hosts
文件
[root@localhost ~]# vi /etc/hosts
如下呢!是初始化安裝CentOS7
後默認的hosts
文件具體內容
輸入如下IP與域名的對應記錄, 保存退出
220.181.57.217 baidu.com www.baidu.com
如今再去ping
百度的域名baidu.com
確定沒有問題!
[root@localhost ~]# ping baidu.com
那好, 你去ping
一下淘寶
的域名唄!好啊!
[root@localhost ~]# ping taobao.com
咦!dammit, 怎麼又不行了, 難道我要ping
通淘寶
的域名還要再去hosts
中添加對應的IP與域名的關係, 這還不是一個噩夢!要是沒有域名解析服務器
你說這個世界會是什麼樣子, 給你5分鐘的考慮時間, 哈哈, 經過這個過程呢, 就是想讓那些不是太明域名解析的小夥伴們理解逶了, 其實ping
命令使用到了ICMP
協議, 它是TCP/IP協議集中一個子協議,屬於TCP/IP參考模型網絡層協議, 你能夠去複習網絡這門課了, 說多了都是罪過!
添加DNS域名解析服務器地址, 就是讓CentOS7
在使用ping
命令時, 一看給的是一個字串符而非IP地址, 就經過域名解析服務器
查找對應的IP地址, 而後經過IP去ping
對應的主機這事也就妥妥的了, 簡單的說明這個問題它就是這樣, 要想知道它具體都幹什麼事情了, 你還得去研究一下網絡參考模型
以及協議
這些事!
那你可能會說了, 我去哪找域名解析服務器
地址呢?這個很簡單, 若是你是windows用戶你能夠經過在cmd
命令行下輸入:
C:\Windows\System32> ipconfig /all
若是你是Mac用戶則能夠經過, 界面的形式獲取DNS服務器地址, 由於在終端下是顯示不出來的, 若是你有辦法能夠在終端下顯示出來請不要吝嗇給我留言好了,謝謝!
系統偏好設置->網絡->高級->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
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
wget 安裝完成後你就能夠經過它下載你想下載的內容了, 好比你要下載一帳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
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
可能會獲得這麼一個結果:
那麼你可能使用經過
yum
軟件包管理工具進行安裝:
[root@localhost ~]# yum install -y ifconfig
很不幸你會獲得這麼一個結果:
沒有可用的
ifconfig
包, 那這個時候你就要經過:
yum whatprovides package_name
來查找包名了, 如如今要查找
ifconfig
這個命令, 具體包含在哪一個包裏就能夠這麼作:
[root@localhost ~]# yum whatprovides ifconfig
你可能會看到這樣的結果, 你以爲我在逗你玩呢?我可沒有那功夫哈! 緣由是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
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
如今的話你就能夠經過:
[root@localhost ~]# yum whatprovides ifconfig
找到是
net-tools
這個包啦!
[root@localhost ~]# yum install -y net-tools
ifconfig
查看網卡配置信息[root@localhost ~]# ifconfig
從上圖能夠看出:
你記住一點就行了, 若是是一臺路由, 那麼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