虛擬機器中設定 CentOS 靜態 IP

2021-09-27 11:53:14 字數 3476 閱讀 8958

作為開發人員在工作和學習中通過虛擬機器使用 linux 的情況肯定會非常多,但是 linux 自帶的終端使用體驗較差,所以絕大多數使用者都會在宿主機上使用第三方 ssh工具(例如 xshell)進行連線,然而在虛擬機器中如果使用的是動態 ip 則會出現這次連線可以但下次連不上的情況,因為 ip 動態獲取的嘛,是會變的。所以這篇文章的目的也就在於解決此問題。

在設定靜態 ip 之前,我們需要確定當前系統動態獲取到的一些配置資訊,以便我們後續使用。

作者新裝的一台虛擬機器,執行的是最小化安裝,所以什麼工具也沒有,使用 ip 來檢視,執行結果如下:

[root@192 ~]

# ip addr

1: lo: mtu 65536 qdisc noqueue state unknown group default qlen 1000

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: ens33:

mtu 1500 qdisc pfifo_fast state up group default qlen 1000

link/ether 00:0c:29:90:03:54 brd ff:ff:ff:ff:ff:ff

inet 192.168.234.130/24 brd 192.168.234.255 scope global noprefixroute dynamic ens33

valid_lft 1650sec preferred_lft 1650sec

inet6 fe80::a120:30fb:6867:daed/64 scope link noprefixroute

valid_lft forever preferred_lft forever

分析以上結果,我們可以看到網絡卡名稱為ens33,ip 位址為192.168.234.130,根據 ip 位址後的/24可以得知為 c 類位址,子網掩碼為255.255.255.0(可參考 ip位址後邊加個/8(16,24,32)是什麼意思?)

centos 使用的 dns 配置放置在/etc/resolv.conf檔案中,可以通過檢視此檔案內容獲取當前 dns 位址。

[root@192 ~]

# cat /etc/resolv.conf

# generated by networkmanager

search localdomain

nameserver 192.168.234.2

根據檔案內容可以知道 dns 伺服器位址為192.168.234.2閘道器位址同樣可以使用ip命令進行檢視

[root@192 ~]

# ip route show

default via 192.168.234.2 dev ens33 proto dhcp metric 100

192.168.234.0/24 dev ens33 proto kernel scope link src 192.168.234.133 metric 100

根據執行結果我們可以看到使用的閘道器位址為192.168.234.2根據之前的結果,我們可以彙總得到現有的網路配置資訊:

相比於檢視來說,設定部分相對會簡單很多,修改乙個檔案就可以了,檔案路徑/etc/sysconfig/network-scripts,之前我們檢視到虛擬機器的網絡卡名為ens33,在這個目錄下有個檔案為ifcfg-ens33,這個就是網絡卡對應的配置檔案。

檔案內包含當前網絡卡的網路配置,預設的是通過 dhcp 來動態獲取 ip 位址,我們需要修改為靜態 ip。

# 預設內容

bootproto=

"dhcp"

# 修改後的內容

bootproto=

"static"

# 檢查以下內容,必須為 「yes」

onboot=

"yes"

在檔案中新增以下內容,其中位址除 ip 位址為手動指定外,其他的均為之前動態獲取的內容

ipaddr=

"192.168.234.71"

netmask=

"255.255.255.0"

gateway=

"192.168.234.2"

dns1=

"192.168.234.2"

修改後重新啟動網路服務

[root@192 ~]

# systemctl restart network

之後重新檢視位址(如果使用三方 ssh 工具則需要重新連線),可以看到 ip 位址已經變更為我們指定的位址,以後連線就不會出現獲取的位址和之前不一樣的情況了

[root@192 ~]

# ip addr

1: lo: mtu 65536 qdisc noqueue state unknown group default qlen 1000

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: ens33:

mtu 1500 qdisc pfifo_fast state up group default qlen 1000

link/ether 00:0c:29:90:03:54 brd ff:ff:ff:ff:ff:ff

inet 192.168.234.71/24 brd 192.168.234.255 scope global noprefixroute ens33

valid_lft forever preferred_lft forever

inet6 fe80::a120:30fb:6867:daed/64 scope link noprefixroute

valid_lft forever preferred_lft forever

centos虛擬機器NAT靜態IP設定

宿主機為centos6.3 64位,三颱虛擬機器為為centos6.3 64位。虛擬機器的網路連線方式為預設的nat方式。虛擬機器預設為dhcp方式動態獲取ip。為了在三颱虛擬機器上搭建hadoop,需要將這三颱虛擬機構建成可以相互訪問的區域網,所以將三颱虛擬機器都設定成靜態ip。具體設定方法如下 ...

linux 虛擬機器 CentOs 設定靜態ip

一般在使用vmware workstation pro linux 系統 預設可能都是自動分配的ip位址,如果改為靜態ip位址 改怎麼設定呢。本次方法為nat模式 非橋接 首先先檢視執行虛擬機器環境當前的主機ip配置 鏈結linux 系統執行 設定為靜態ip bootproto static 要配置...

虛擬機器cent os增加網絡卡設定靜態IP

剛建立好站點使用後發現如果讓虛擬機器系統自動獲取ip的話有可能下一次連線不同的外網會導致ip變化,從而導致建立的各個站點不能被解析,然後就會出現訪問不了的情況,解決這個問題的方法很簡單 給虛擬機器增加乙個網絡卡,將其ip設為靜態且只和主機在乙個網段即可。建立虛擬機器需要設立本機靜態ip,便於本地試驗...