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

单网卡下的问题:

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

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

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

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

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

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

查看路由:

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

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

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

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

以上~

centos7 多网卡修改默认路由的更多相关文章

  1. Centos7.6 双网卡,修改默认路由

    centos修改默认路由 需求:服务器有两个网卡,一个是内网网卡,一个是外网网卡,但是默认的路由是内网: route -n 列出所有路由: 删除默认的路由: route del default gw ...

  2. centos7网口添加IP,修改默认路由永久地址生效

    1永久增加ip地址和路由 网卡永久添加ip地址 注释:ens192为管理地址网卡,请根据实际情况进行修改,网关以192.168.160.1为例 复制一份网卡配置文件命名为ifcfg-ens192:1 ...

  3. Centos双网卡配置默认路由

    Centos6.5 双网卡,我们只需要一个默认路由,如果两个都有或都没有会有一系列的问题 [root@centos]# vi /etc/sysconfig/network修改以下内容NETWORKIN ...

  4. C# Area区域配置,修改默认路由

    1.右键项目新建文件夹 Areas 2.先把项目分类包好,建两个文件夹,放Controller和View,Model也可以放在这里 因为项目启动默认打开的是Home/Index ,我把它放在了Webs ...

  5. shell实现centos7双网卡修改网卡名eth0,eth1,并设置网络

    #!/bin/bash interface1=`ls /sys/class/net|grep en|awk 'NR==1{print}'` interface2=`ls /sys/class/net| ...

  6. Centos7修改默认网卡名(改为eth0)以及网卡启动报错RTNETLINK answers: File exists处理

    安装好centos7版本的系统后,发现默认的网卡名字有点怪,为了便于管理,可以手动修改.下面对centos7版本下网卡重命名操作做一记录:1)编辑网卡信息[root@linux-node2~]# cd ...

  7. CentOS7修改默认启动级别

    如上个随笔所言,Linux分为7个启动级别: 0 - 系统停机状态 1 - 单用户工作状态 2 - 多用户状态(没有NFS) 3 - 多用户状态(有NFS) 4 - 系统未使用,留给用户 5 - 图形 ...

  8. CentOS7系统下GitLab的安装、汉化、修改默认端口、开启发送邮箱

    一.centos7.4 下安装及汉化 =============================================== 2017/11/12_第6次修改                  ...

  9. Centos7多内核情况下修改默认启动内核方法

    1.1  进入grub.cfg配置文件存放目录/boot/grub2/并备份grub.cfg配置文件 [root@linux-node1 ~]# cd /boot/grub2/ [root@linux ...

随机推荐

  1. selinux下修改sshd端口号

    21 如果已开selinux,修改sshd配置文件  # vim /etc/ssh/sshd_config中的端口号后 重启SSH服务  # systemctl restart sshd.servic ...

  2. Node.js资料

    http://developer.51cto.com/art/201109/290443.htmhttp://www.nodebeginner.org/index-zh-cn.html node 各种 ...

  3. Nodejs计时器定时执行函数

    一.最low的定时器: 每次执行完间隔5s,然后继续执行 (function schedule() { setTimeout(do_it, 5000, schedule); }()); functio ...

  4. 7.vs的基本设置

    1.运行代码的两种方式 (1) 按F5 (2)点击快速菜单栏上面的绿色三角形按钮. 2.生成解决方案 F6. 3.在代码上看见红色的波浪线,表示代码有语法错误. 4.一般我们在运行一个程序之前,我们先 ...

  5. Swift UI开发初探 (转)

    原文地址:http://www.tairan.com/archives/6600 关于Swift语法,可以参考<Apple Swift编程语言入门教程> 效果如下: 开发环境 Xcode6 ...

  6. JSON FILE NOT FOUND?

    (WIN7+IIS7) 搞一个小测试,一个小程序,用一个JSON文件来显示数据, 用HTML 访问是完全没有问题的,可是一放到IIS下,就出现无法访问, CONSOLE:提示  NOT FOUND 原 ...

  7. (七)JavaScript之[调试]与[前端表单验证]

    12].调试为什么要去调试?1.在编写JavaScript时,如果没有调试工具将是一件很痛苦的事情.2.没有调试工具是很难去编写JavaScript程序的.3.编写的代码可能包含语法错误.逻辑错误,如 ...

  8. Java Knowledge series 2

    JVM Analysis & Design The object-oriented paradigm is a new and different way of thingking about ...

  9. selenium中Alter等弹出对话框的处理

    昨天使用selenium做自动化测试,发现部分页面会弹出alert对话框,找了写资料,大概的意思就是要给弹出的对话框做出相应,不然,后续的处理会失败. _driver.SwitchTo().Alert ...

  10. linux基础命令-文件查看类命令cat/tac/more/less/tail/head

    cat 查看文本文件内容 -b :给每一行编号不包括空白行 -n:给所有行编号 [root@host01 tmp]# cat -An /root/anaconda-ks.cfg # Kickstart ...