Centos7靜態ip設置(親測有效)


本文引自:https://www.cnblogs.com/toov5/p/10340395.html,特此鳴謝

最近想測試消息中間件等各類web集群相關技術,這就需要解決linux主機之間互聯互通的若干問題,特此折騰

友情提示:在ubuntu19上用vmware15 搭建centos7 操作系統(gnome桌面)重啟后失效,但在開機狀態可以用 
#修改當前網絡連接對應的DNS服務器,這里的網絡連接可以用名稱或者UUID來標識
#nmcli con mod eno1 ipv4.dns "114.114.114.114 8.8.8.8"

#將dns配置生效
#nmcli con up eno1
讓你的網卡配置生效

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


CentOS7最小化安裝后是沒有 ifconfig 命令的, 所以說你是沒有辦法通過 ifconfig 查看網卡相關配置信息的, 不好意思說了一句廢話, 那么CentOS這個那么有情懷的社區linux發行版本怎么可以在通過最小化安裝后不能查看網卡配置信息, 這個必須有它就是 ip 命令

[root@localhost~]# ip addr

通過 ip 命令加參數 addr 則是查看當前網卡的配置信息, 從下圖中可以看出, 當前系統的 ens33 網卡並沒有 ipv4及 ipv6, 沒有 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 呢?這是因為 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` 

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 + : 輸入 :, 接着再輸入 wqw 是 保存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 位呢!是 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 來查看網卡配置信息了, 來接着往下看


到目前為止, 上面配置的網卡信息也只能是在內網里得瑟, 上不了網, 為什么這么說呢, 要不你試試看, 因為還有一個知識點要說, 先來試試看是不是像我說的那樣, 下面做一個測試就一目了然了

PING內網其它主機

[root@localhost ~]# ping 192.168.1.100

PING內網其它主機

這個 ping 的是我的Mac, 可以 ping 通, 沒有任何問題!

PING外網其它主機

[root@localhost ~]# ping baidu.com

PING外網其它主機

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

允許網卡訪問外網主機(修改dns)----這里eno1 要提換成你要設置的那塊網卡

 

#顯示當前網絡連接
#nmcli connection show
NAME UUID                                 TYPE           DEVICE
eno1 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eno1

#修改當前網絡連接對應的DNS服務器,這里的網絡連接可以用名稱或者UUID來標識
#nmcli con mod eno1 ipv4.dns "114.114.114.114 8.8.8.8"

#將dns配置生效
#nmcli con up eno1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM