草庐IT

虚拟机Linux CentOS 桥接模式和NAT模式配置静态IP的完美方案

晓晓先生 2023-10-09 原文

配置静态IP实际上就是设置虚拟机的网络配置和linux的3个配置文件


桥接模式

1、首先设置这台linux的网络适配器为桥接模式:


image.png

网络适配器
2、查看主机网络配置
Ctrl + R 打开运行,输入cmd回车,然后输入ipconfig回车:


image.png

IP信息
记住IPv4地址和默认网关

3、虚拟机打开第一个配置文件:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

最后的eth0是网卡名字不是固定的。打开后按照如下修改:

DEVICE=eth0
BOOTPROTO=static #静态IP的关键
HWADDR=00:0C:29:17:01:FC
ONBOOT=yes 启动时加载
TYPE=Ethernet
IPADDR=192.168.1.220  #自己设置静态IP,不冲突就可以
NETMASK=255.255.255.0
GATEWAY=192.168.1.1 #在主机配置中看到的默认网关
BROADCAST=192.168.1.255
DNS1=192.168.1.1 #设置和网关一样的值
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NM_CONTROLLED=yes

4、修改第二个配置文件:

[root@localhost ~]# vim /etc/sysconfig/network

按照如下内容进行修改:

NETWORKING=yes
NETWORKING_IPV6=no #关掉IPv6
HOSTNAME=localhost.localdomain
GATEWAY=192.168.1.1 #默认网关地址

5、修改第三个配置文件:

[root@localhost ~]# vim /etc/resolv.conf

按以下内容修改:

search localdomain
nameserver 8.8.8.8 #DNS域名解析地址(首选)
nameserver 192.168.1.1 #(备用)可以写成其它比如114.114.114.114

6、修改完毕之后重启网络服务:

[root@localhost ~]# service network restart

NAT模式

1、同样,先设置虚拟机的网络适配器为NAT模式:

image.png

网络适配器

2、修改VMware的“虚拟网络编辑器”:

点编辑 --> 虚拟网络编辑器:

image.png

编辑

打开之后首先点击NAT模式,然后去掉下面DHCP的勾,然后点击NAT设置:

image.png

虚拟网络适配器

NAT默认设置了110网段,这个可以修改,修改的话要统一修改不要落下。没有特殊需求就不要修改了。
打开NAT设置面板之后,记住下面红框中这个IP:

image.png

NAT设置

3、设置完成后,启动虚拟机,修改第一个配置文件,这次要按照NAT设置中的IP进行配置:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

按如下改动:

DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:17:01:FC
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.110.128 #网段限制在110所以IP地址变了
NETMASK=255.255.255.0
GATEWAY=192.168.110.2 #按照NAT设置中的网关地址设置
BROADCAST=192.168.110.255
DNS1=192.168.110.2
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NM_CONTROLLED=yes

4、修改第二个配置文件:

[root@localhost ~]# vim /etc/sysconfig/network

按如下改动:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
GATEWAY=192.168.110.2

5、修改第三个配置文件:

[root@localhost ~]# vim /etc/resolv.conf

按如下改动:

search localdomain
nameserver 8.8.8.8
nameserver 192.168.110.2

6、修改完毕之后重启网络服务:

[root@localhost ~]# service network restart

有关虚拟机Linux CentOS 桥接模式和NAT模式配置静态IP的完美方案的更多相关文章

  1. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  2. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  3. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

    在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

  4. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  5. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  6. ruby - 是否有用于序列化和反序列化各种格式的对象层次结构的模式? - 2

    给定一个复杂的对象层次结构,幸运的是它不包含循环引用,我如何实现支持各种格式的序列化?我不是来讨论实际实现的。相反,我正在寻找可能会派上用场的设计模式提示。更准确地说:我正在使用Ruby,我想解析XML和JSON数据以构建复杂的对象层次结构。此外,应该可以将该层次结构序列化为JSON、XML和可能的HTML。我可以为此使用Builder模式吗?在任何提到的情况下,我都有某种结构化数据-无论是在内存中还是文本中-我想用它来构建其他东西。我认为将序列化逻辑与实际业务逻辑分开会很好,这样我以后就可以轻松支持多种XML格式。 最佳答案 我最

  7. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  8. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  9. ruby-on-rails - environment.rb 中设置的常量在开发模式中消失 - 2

    了解Rails缓存如何工作的人可以真正帮助我。这是嵌套在Rails::Initializer.runblock中的代码:config.after_initializedoSomeClass.const_set'SOME_CONST','SOME_VAL'end现在,如果我运行script/server并发出请求,一切都很好。然而,在我的Rails应用程序的第二个请求中,一切都因单元化常量错误而变得糟糕。在生产模式下,我可以成功发出第二个请求,这意味着常量仍然存在。我已通过将以上内容更改为以下内容来解决问题:config.after_initializedorequire'some_cl

  10. Ruby 守护进程和 JRuby - 备选方案 - 2

    我有一个应用程序正在从Ruby迁移到JRuby(由于需要通过Java提供更好的Web服务安全支持)。我使用的gem之一是daemons创建后台作业。问题在于它使用fork+exec来创建后台进程,但这对JRuby来说是禁忌。那么-是否有用于创建后台作业的替代gem/wrapper?我目前的想法是只从shell脚本调用rake并让rake任务永远运行......提前致谢,克里斯。更新我们目前正在使用几个与Java线程相关的包装器,即https://github.com/jmettraux/rufus-scheduler和https://github.com/philostler/acts

随机推荐