linux的路上_linux实战笔记二:网络设置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wfl_137724/article/details/80490879

写在前面,在介绍linux软件安装的时候有必要介绍下网络设置,当然vm中装linxu的时候可以选择开启网络,但是默认的网络(ip是10.0.2.x)貌似对于开发练习不太好用,这个只能访问网络,对于宿主机或者局域网内其他机器访问虚拟机可就不怎么友好了,比如说我在一台pc上装了gitlab现在局域网内另一台机器上访问,默认网络是做不到的。

网络设置:

网络设置其实是virtualbox(以下简称vb)和vm linux(以下简称vm)操作系统共同设置的。

先介绍下新版vb中有哪些网络类型及大致功能和应用场景,最后结合vm介绍下自己pc上的网络配置。

  • vb网络类型、功能及适用场景:
  1. 网络地址转换:顾明思议,就是将网络请求ip(宿主机)转到另一个ip(vm),可以实现宿主机及局域网内其他机器访问vm,但是得用ip或者在宿主机的hosts文件中配置dns(ip和域名的映射关系),然后通过域名访问也可以。对于企业网络宿主机ip是固定的这样最好,保证了宿主机和vm的双向访问,也有一定的灵活性(可以用域名也可以用ip),但是对于pc尤其用的是动态ip的就不适用了,每次开电脑后都要去改hosts文件和到vb中设置网络地址转换(就是有用到ip的地方都需要改一下)。
  2. net网络:跟网络地址转换功能有点类似,区别在于,net网络提供的是一个DHCP服务的网关,是在vb全局设置中设定,然后多个vm实例可以共享的。网络地址转换也是在全局中设定的。而网络地址转换只是针对单个vm的。这个介绍我自己的时候会有截图。比如说要装多个vm测试集群负载均衡什么的,这个就很有用了。
  3. 桥接网络:利用宿主机网卡,直接生成一个外网地址。可以实现vm访问外网,但是不容易做权限控制,直接生成一个不受主机控制的ip,从安全角度来说是不合理的,企业里可能根本就不能用(因为你的ip能上网都是开权限的,现在生成个新的ip没开权限这么上网,对吧),所以强烈不推荐
  4. 内部网络:vb自带了一个intnet,顾明思议就是只有内部网络才能相互访问,多个vm可以互相访问,可以上网,但是外网是访问不了的。
  5. 仅主机(host-only)网络:安装vb时,默认会装一个host-only适配器,当然这个也可以安装后自己添加。

顾名思义,这个网络(每个vm实例的都不一样)只能和宿主机通信(双向),但是和局域网内其他主机无法通信。可以用在动态ip的场景下,将host-only的ip设置为静态ip,每次重新打开pc的时候用这个静态的ip就可以访问vm不需要改ip和网络地址转换。有点遗憾就是局域网多机访问问题解决不了,网络地址转换的功能也用不了,多vm之间也不能互相访问。实现动态网络下操作方便(不需要每次开机都改ip,就能实现宿主机和vm之间的双向访问),及vm实例间可以互访问的方法就是我接下来要介绍的自己的网络搭建,双网卡模式。要去上班了,抽空补上,有感兴趣的可以先脑洞大开想一下。


  • 个人网络配置

环境:win7、vb、centos7、动态ip,虚拟机安装centos7参考 linux的路上_linux系统环境搭建

  1. 全局设置一个nat网络。以被各个vm实例使用,步骤如下图,不再做文字赘述,注意下面的端口转发可以做端口映射。如果是固定ip的话,这个非常好用。因为没有介绍具体软件安装及端口暴露,就先不介绍了
  2. 选择需要配置网络的虚拟机(已装操作系统,且必须处于关闭状态),选择设置,网络。默认情况下只启用了一个网卡,最多可以启用四个网卡。设置网卡1为host-only,注意在高级里的mac地址,这个地址能唯一区分网卡/网络。在操作系统配置多个网络时会很重要,然后选择网卡2,启用并设置网络为nat网络,这时候可选网络会显示上一步配置的nat网络,选择它就对了。最后点击OK。双网卡配置完成
  3. 运行虚拟机,为了一路畅通。我是用root账号登录的,如果有用非root账号,装系统时选择了作为管理员的账号,那么遇到权限不够的可以用sudo commond [option],如果装系统时没有把普通账号作为管理员的,那么需要先把账号加到wheel群组在用sudo。权限管理已经超出本文介绍范围,就不过多介绍了。这是可以输入ip addr查看网络ip地址,如下图,可以看到,有三个ip,本地、host-only、nat网络,其中host-only设置的是静态的ip,因为我这是配置好的,如果没配置的,第一次查看,不是这样的,第二项的ip是默认不能用的
  4. 配置操作系统网络,默认有一个网络是正常的,所以我们只需要配置另一个就行了,我查了下我的是enp0s8是不需要配置的。当然并不是所有的都一样的,但是如果要配置和需要配置的那个也是一样的配置的。输入find /etc -name *enp0s3*,然后用vim打开配置文件因为我这只有一个需要配置,两个网卡不冲突,所以HWADDR就没有配置。如果网卡有冲突的话加上HWDDR配置就行了,值就是配置网卡时的mac值,如果没有对应的配置文件,拷一份重命名,然后记得修改UUID,这是linux中文件的唯一标识。具体的配置含义我是看单词意会的,就不误人子弟了,提供一个命令配置的链接,以前没玩过,以后自己也打算玩玩 Centos7系统配置上的变化(二)网络管理基础
  5. 补充,摩尔大师说过,凡事有可能出错的就一定会出错。该做的一定要做,不能偷懒,上面说到了双网卡,就需要两个配置文件,至于如何配置稍后贴图,先看不配置会出什么错。找不到对象。是不是很尴尬。接下来看如何配置,先复制一个网卡配置文件,至于命名就参考命令ip addr的执行结果,上面有提到,因为默认网卡是net网络,我是以前添加静态网卡的时候备份了自带的配置文件,又因为enp0s8是net网络,为了少改东西我就直接考这个文件了,没别的意思。net网络配置如下图(其实网络地址转换也是这样配置的),这里要注意的是uuid和HWADDR,前者要唯一,后者每两个字符间要加“:”再看看host-only配置这个可以配成静态也可以配成动态,动态配置就和net网络差不多了,我们看一下静态配置,如下图可以发现就是改了下启动协议,然后ip地址固定加上子网掩码。其他的都差不多。至此除了配置文件里各个属性的含义没有解释外,基本都说明白了。说点自己的感悟吧,其实很多问题都是可以通过实践加日志解决的,尤其是启动服务,因为以后我们会装很多软件,有的软件配置文件很长,如果我们改动了很多默认配置,难免会手误或者其它种种原因导致配置有问题,可能有的问题一眼就能看出来,可能有的找半天也不知道问题出在那。这时候想科学的解决问题主要就两种,调试源程序和通过日志快速定位问题。前者明显代价太高而且可行性也不是很高。看日志是一种比较好的解决问题思路,如何高效的利用日志和如何高效的从日志中找到问题很重要。浅薄的说下自己的遇到问题的解决思路。对于系统自带软件,如网络。如果进行系统级别的操作如systemctl,如果出现异常,第一反应就是查看系统日志,journalctl -ex。如果是自己装的软件如postgresql、rabbitmq进行系统级别的操作出现异常,第一反应也是看系统日志,journalctl -ex,如果是应用级别的错误第一反应是看/var/log/XXX下对应软件的日志。对于成熟的软件,这应该能解决大部分问题处理。
  • 反思
        这个配置也是自己几个月前的配置了,好久没看了,有点生疏,昨天加今天花了两个早晨才整理出来。感觉后面还有点草草结尾,后续会更新,花时间做出来的东西,及做的过程的心得还是得及时记录。


猜你喜欢

转载自blog.csdn.net/wfl_137724/article/details/80490879