作为开发人员在工作和学习中通过虚拟机使用 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的更多相关文章

  1. Linux 如何配置虚拟机下的Centos静态ip

    如何配置虚拟机下的Centos静态ip 1.        配置虚拟机的虚拟路由器 2.        配置物理主机的虚拟网卡(VMNET8) 3.        配置虚拟主机Centos的网卡 vi ...

  2. vmware中设置ubuntu静态ip

    概括一下过程中遇到的三个问题: 1.如何修改虚拟机为静态ip并且生效 2.设置完静态ip后,无法上网 3.设置完静态ip且能上网后,宿主机无法ping通虚拟机 问题1:参考https://www.ji ...

  3. vmware设置centos静态ip

    之前有过设置ubuntu静态ip的经验,这次安装设置centos感觉很顺利很简单.参考https://www.linuxidc.com/Linux/2017-10/147449.htm,照做就可以了. ...

  4. 【Linux】VMware虚拟机中如何配置静态IP

    此处详解如何在VMware虚拟机中配置静态IP. 上图是一个草图,大致说明下VMware网络情况.网段指某个IP范围,例如一栋小区楼和另一栋小区楼就不是一个网段 如果你在A小区,你女朋友在B小区,你想 ...

  5. VMware虚拟机中如何配置静态IP

    我们首先说一下VMware的几个虚拟设备 VMnet0:用于虚拟桥接网络下的虚拟交换机 VMnet1:用于虚拟Host-Only网络下的虚拟交换机 VMnet8:用于虚拟NAT网络下的虚拟交换机 VM ...

  6. 树莓派系统(Debain)中设置固定静态IP地址

    一.方法: 1.使用ssh登陆,使用以下命令设置静态ip. sudo nano /etc/dhcpcd.conf2.在dhcpcd.conf后添加以下内容(网上的方法): interface eth0 ...

  7. Azure经典门户创建VM,如何设置使用静态IP地址?

    使用 Azure 经典管理门户中创建的虚拟机,无法使用静态IP 地址,在管理界面没有该设置.在新的管理门户中虽然有使用静态IP的设置,但是选项是灰色,无法修改,提示错误:This virtual ma ...

  8. 虚拟机中的CentOS 7设置固定IP连接最理想的配置(转载)

    来源:虚拟机中的CentOS 7设置固定IP连接最理想的配置(https://my.oschina.net/panhongju/blog/826814) 转载说明:这是我看了很多篇虚拟机静态IP配置写 ...

  9. 虚拟机中的CentOS 7设置固定IP连接最理想的配置

    说明:在网上搜了好多文章都是大同小异,都没有完全解决我想要的固定IP后要达到的如下效果, 1.笔记本主机IP为设置自动获取,不管什么情况下,不受虚拟机影响,只要连接外网就可以正常上网: 2.只要笔记本 ...

随机推荐

  1. ValueError: Error when checking input: expected input_1 to have 2 dimensions, but got array with shape (100, 100, 100, 3)

    报错 Traceback (most recent call last): File "D:/PyCharm 5.0.3/WorkSpace/3.Keras/1.Sequential与Mod ...

  2. CodeForces 1083 E The Fair Nut and Rectangles 斜率优化DP

    The Fair Nut and Rectangles 题意:有n个矩形,然后你可以选择k个矩形,选择一个矩形需要支付代价 ai, 问 总面积- 总支付代价 最大能是多少, 保证没有矩形套矩形. 题解 ...

  3. Play on Words UVA - 10129

    题目: Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has ...

  4. mariadb 远程访问报:Host xxx is not allowed to connect to this MariaDb server

    刚开始试的是: 结果报错了,哎,这折腾的. 继续折腾,加个密码试试: 再用Navicat试试,果然成功了.

  5. windows2008r2安装笔记

    安装win7主题 控制面板 - 程序 - 打开或关闭windows功能 - 功能 - 添加功能: 在选择功能里勾选 桌面体验(会添加必要功能),安装就行了. 1.安装好后,个性化时,发现win7主题为 ...

  6. asp.net core 使用 NLog日志

    NLog是一个配置灵活的日志记录类库,拥有输出日志到文件.存储入库.发送到udp地址的高级功能 1 添加 nlog nuget包 Nlog和NLog.Web.AspNetCore 安装完成后   2 ...

  7. flume learning---Flume 集群搭建

    在flume搭建集群模式时,首先需要进入conf目录, 1.cp flume-env.sh.template flume-env.sh 2.cp flume-conf.properties.templ ...

  8. FreeSql (三十三)CodeFirst 类型映射

    前面有介绍过几篇 CodeFirst 内容文章,有 <(二)自动迁移实体>(https://www.cnblogs.com/FreeSql/p/11531301.html) <(三) ...

  9. Python中使用pip安装库时指定镜像源为豆瓣镜像源

    场景 在使用pip进行安装库时,使用默认的库会很慢,甚至有时会出现远程主机中断了一个现有连接. 怎样在使用pip install 时指定镜像源为豆瓣镜像源. 实现 pip install moviep ...

  10. airflow使用SimpleHttpOperator实现http调用任务

    使用SimpleHttpOperator作为处理器的时候,会发现默认访问的地址www.google.com端口为443 例如下面这样定义的任务 task = SimpleHttpOperator( t ...