欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

centos7 多网卡修改默认路由

程序员文章站 2022-05-27 22:12:37
最近在virtualbox里搭了一个centos7的虚拟机,但是网络这一块总是有问题。 单网卡下的问题: 1.当我配置连接方式为NAT网络地址转换的时候,虚拟机可以访问外网。但是在网络地址转换的情况下虚拟机是没有外部可以访问的IP,在虚拟机上运行的应用如果想在外部访问,需要再配置端口转发。 2.当我 ......

最近在virtualbox里搭了一个centos7的虚拟机,但是网络这一块总是有问题。

单网卡下的问题:

1.当我配置连接方式为nat网络地址转换的时候,虚拟机可以访问外网。但是在网络地址转换的情况下虚拟机是没有外部可以访问的ip,在虚拟机上运行的应用如果想在外部访问,需要再配置端口转发。

2.当我配置连接方式为桥接方式的时候,我可以手工为虚拟机指定一个ip,使虚拟机跟本机在同一个网段,外部机器也可以通过该ip访问虚拟机。但是由于网络策略的问题,桥接连接方式下虚拟机又无法正常访问外网。

在以上两种情况下,只能给虚拟机配置双网卡了,nat网卡用来给虚拟机提供外部网络访问能力,桥接网卡使外部网络可以通过固定ip访问到虚拟机。配置了双网卡之后虚拟机的ip信息展示如下:

centos7 多网卡修改默认路由

 其中enp0s3是网络地址转换连接方式的网卡,enp0s8是桥接连接方式的网卡。

这里顺便贴一下enp0s8静态ip的配置(其中netmask,gateway直接参照本机相关信息,ip地址随便配置一个没有被使用的ip):

centos7 多网卡修改默认路由

 

在配置完双网卡之后,外部可以通过给虚拟机指定的ip来访问虚拟机,但是发现虚拟机还是无法访问外网。在查阅资料之后了解到可能是路由问题,虚拟机访问外网的时候可能还是走的桥接网络的网卡。

查看路由:

centos7 多网卡修改默认路由

default就是默认路由,这里看到有两个default,而且排在最前面的默认路由走的是enp0s8这个网卡。意思就是对外网的访问会通过enp0s8这个网卡出去,而这个网卡并不能上外网。找到原因我们直接删掉enp0s8这个默认路由就好了。

centos7 多网卡修改默认路由

删掉这个路由之后访问百度:

centos7 多网卡修改默认路由

在外部网络通过桥接网卡ip地址访问虚拟机也正常。

现在还有一个问题是虚拟机重启之后路由又会变回去。所以需要将 ip route del default via 10.4.56.1 这个命令加到 ~/.bashrc中,每次重启之后会自动运行这个命令,删掉不需要的路由。

以上~