虚拟机中设置 CentOS 静态 IP
作为开发人员在工作和学习中通过虚拟机使用 Linux 的情况肯定会非常多,但是 Linux 自带的终端使用体验较差,所以绝大多数使用者都会在宿主机上使用第三方 SSH工具(例如 Xshell)进行连接,然而在虚拟机中如果使用的是动态 IP 则会出现这次连接可以但下次连不上的情况,因为 IP 动态获取的嘛,是会变的。所以这篇文章的目的也就在于解决此问题。
确定虚拟机使用的网络配置
在设置静态 IP 之前,我们需要确定当前系统动态获取到的一些配置信息,以便我们后续使用。
IP地址及网卡名称
作者新装的一台虚拟机,执行的是最小化安装,所以什么工具也没有,使用 ip 来查看,执行结果如下:
[root@192 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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)是什么意思?)

DNS 地址
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
汇总
根据之前的结果,我们可以汇总得到现有的网络配置信息:
- 网卡名:ens33
- IP 地址:192.168.234.130
- 子网掩码:255.255.255.0
- DNS:192.168.234.2
- 网关:192.168.234.2
修改 CentOS 系统设置
相比于查看来说,设置部分相对会简单很多,修改一个文件就可以了,文件路径 /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: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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 静态 IP的更多相关文章
- Linux 如何配置虚拟机下的Centos静态ip
如何配置虚拟机下的Centos静态ip 1. 配置虚拟机的虚拟路由器 2. 配置物理主机的虚拟网卡(VMNET8) 3. 配置虚拟主机Centos的网卡 vi ...
- vmware中设置ubuntu静态ip
概括一下过程中遇到的三个问题: 1.如何修改虚拟机为静态ip并且生效 2.设置完静态ip后,无法上网 3.设置完静态ip且能上网后,宿主机无法ping通虚拟机 问题1:参考https://www.ji ...
- vmware设置centos静态ip
之前有过设置ubuntu静态ip的经验,这次安装设置centos感觉很顺利很简单.参考https://www.linuxidc.com/Linux/2017-10/147449.htm,照做就可以了. ...
- 【Linux】VMware虚拟机中如何配置静态IP
此处详解如何在VMware虚拟机中配置静态IP. 上图是一个草图,大致说明下VMware网络情况.网段指某个IP范围,例如一栋小区楼和另一栋小区楼就不是一个网段 如果你在A小区,你女朋友在B小区,你想 ...
- VMware虚拟机中如何配置静态IP
我们首先说一下VMware的几个虚拟设备 VMnet0:用于虚拟桥接网络下的虚拟交换机 VMnet1:用于虚拟Host-Only网络下的虚拟交换机 VMnet8:用于虚拟NAT网络下的虚拟交换机 VM ...
- 树莓派系统(Debain)中设置固定静态IP地址
一.方法: 1.使用ssh登陆,使用以下命令设置静态ip. sudo nano /etc/dhcpcd.conf2.在dhcpcd.conf后添加以下内容(网上的方法): interface eth0 ...
- Azure经典门户创建VM,如何设置使用静态IP地址?
使用 Azure 经典管理门户中创建的虚拟机,无法使用静态IP 地址,在管理界面没有该设置.在新的管理门户中虽然有使用静态IP的设置,但是选项是灰色,无法修改,提示错误:This virtual ma ...
- 虚拟机中的CentOS 7设置固定IP连接最理想的配置(转载)
来源:虚拟机中的CentOS 7设置固定IP连接最理想的配置(https://my.oschina.net/panhongju/blog/826814) 转载说明:这是我看了很多篇虚拟机静态IP配置写 ...
- 虚拟机中的CentOS 7设置固定IP连接最理想的配置
说明:在网上搜了好多文章都是大同小异,都没有完全解决我想要的固定IP后要达到的如下效果, 1.笔记本主机IP为设置自动获取,不管什么情况下,不受虚拟机影响,只要连接外网就可以正常上网: 2.只要笔记本 ...
随机推荐
- Linux下手动安装MySQL5.7
1.下载tar包,这里使用wget从官网下载 https://dev.mysql.com/downloads/mysql/ 2.将mysql安装到/usr/local/mysql下 # 解压 tar ...
- python暴力算法快乐数
编写一个算法来判断一个数是不是"快乐数". 一个"快乐数"定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 ...
- chrome总是崩溃
1.在chrome浏览器打开chrome://plugins/ 2.找到不正常的插件,停用即可.比如有的插件安装了2个版本,停用低版本的即可.
- Codeforces 1058 D. Vasya and Triangle 分解因子
传送门:http://codeforces.com/contest/1058/problem/D 题意: 在一个n*m的格点中,问能否找到三个点,使得这三个点围成的三角形面积是矩形的1/k. 思路: ...
- 【Nginx】实现负载均衡的几种方式
要理解负载均衡,必须先搞清楚正向代理和反向代理. 注: 正向代理,代理的是用户. 反向代理,代理的是服务器 什么是负载均衡 当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能 ...
- webview与webApp页面交互传参
参考网址:https://blog.csdn.net/books1958/article/details/44747045 上一篇说了Android集成极光推送获取了RegistrationId推送标 ...
- 新书推荐《再也不踩坑的Kubernetes实战指南》
<再也不踩坑的Kubernetes实战指南>终于出版啦.目前可以在京东.天猫购买,京东自营和当当网预计一个星期左右上架. 本书贴合生产环境经验,解决在初次使用或者是构建集群中的痛点,帮 ...
- android 多行 RadioButton的使用
最近项目用到了多行RadioButton,随记录下. 先给出RadioButton的布局 <com.kuibu.jucai.widget.MyRadioGroup android:id=&quo ...
- 获取手机屏幕DisplayMetrics属性方法
转自:http://blog.csdn.net/zhangqijie001/article/details/5894872 其他参考:http://blog.sina.com.cn/s/blog_7d ...
- git之rebase、merge和cherry pick的区别(面试常问)
git flow图例镇楼 merge 这个简单,初学者常用.比如主分支是Dev,最新版本是01.然后小明基于此,搞了个feature 分支A,业务:打酱油.然后在上面多次提交,完成功能迭代开发,如A1 ...