虚拟机有三种网络连接方式:

桥接:你的虚拟机在你所在的局域网内相当于一台独立的主机,可以和局域网内的机器互通,当然也可以访问外网。

NAT:你的虚拟机的TCP/IP配置信息是由VMent8网卡的DHCP自动配置的,无法自行修改,所以只能和你的宿主机相互玩耍(你的宿主机能上外网,它也就能)。缺点是局域网中的其他主机和你的虚拟机不能相互访问。

Host-Only:传说中的自娱自乐模式,虚拟机的TCP/IP配置信息室友VMent1网卡的DHCP自动配置的,你的虚拟机之间可以互相通信,虚拟机和你的宿主机也可以互相通信,但是访问不了你宿主机所在的局域网,也就是说访问不了外网。

一般来说我们都使用桥接模式来让虚拟机联网,但如果你只是想联网并且懒的手动配置IP的话,也可以选择NAT模式,躺着联网,方便快捷全自动式配置。

简单的说下桥接步骤:

我用的是VMware,其他虚拟机操作也大同小异

1. 菜单栏-->编辑-->虚拟网络编辑器

选择桥接模式,然后桥接到一张宿主机可以上网的网卡,或者直接选择自动也可以。

2. 第一大坑,虚拟机的网络适配器选择桥接模式,上面的设备状态-->启动时连接这个勾一定要打上

其实在高版本的VMware中这个是自动打上的。。。

3. 开机如果网卡没启动就启动下eth0网卡:ifconfig eth0 up

如果你的宿主机的网卡是dhcp模式的也就是如下图一样是自动获取ip的

你的虚拟机也会自动配置好TCP/IP,如果不是请手动配置。

进入主题,错误总结

1. 手动配置IP的时候忘记配默认网关会出现以下错误

[root@Server ~]# ping 8.8.8.8
connect: 网络不可达

输入route

如下图所示是配置了Default Gateway的

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.4.16.0       *               255.255.252.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         10.4.16.1       0.0.0.0         UG    0      0        0 eth0

这个是没有的

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.4.16.0       *               255.255.252.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0

添加默认网关

route add default gw 10.4.16.1 (这个要和宿主机的网关一样,宿主机打开cmd输入ipconfig,就可以看到每块网卡的信息)

不过这个方法不是永久的添加了默认网关,关机重启或者重启网络服务的时候就失效了

永久添加默认网关

方法一:在vim /etc/networks下添加GATEWAY=10.4.16.1 然后重启网络服务service network restart

方法二:在vim /etc/sysconfig/network-scripts/ifcfg-eth0(你选择的网卡)下添加GATEWAY=10.4.16.1 然后重启网络服务service network restart

不过ifcfg-eth0文件的优先级是高于networks文件的,一般在ifcfg-eth0下面配置IP的时候直接把默认网关也配了。

方法三:vim /etc/sysconfig/static-routes(如果没有static-route就新建一个)下面添加any net default gw 10.4.16.1

2. DNS没有配置会出现下面的错误

[root@Server ~]# ping baidu.com
ping: unknown host baidu.com

配置DNS

方法一:和上文一样也是在vim /etc/networks中添加,添加语句nameserver 8.8.8.8和nameserver 114.114.114.114这个是谷歌的和电信的dns如果你要添加宿主机的也可以,在宿主机的网络和Internet设置-->以太网-->点你的网络-->拉到最下面可以看到宿主机的DNS

方法二:在vim /etc/sysconfig/network-scripts/ifcfg-eth0中添加DNS1=8.8.8.8和DNS2=114.114.114.114

方法三:如果宿主机和虚拟机(ifcfg-eth0中的BOOTPROTO=dhcp)都是dhcp模式,会自动设置DNS,如果配置了默认网关好像也会自动获取。

查看DNS

[root@centos ~]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 8.8.8.8
nameserver 114.114.114.114

总的来说只要在vim /etc/sysconfig/network-scripts/ifcfg-eth0这个配置文件下配置了IP地址,子网掩码,默认网关以及DNS

就可以了。

DEVICE=eth0(设备名)
HWADDR=00:0C:29:B9:99:5E(网卡硬件地址(MAC地址))
TYPE=Ethernet(网络类型)
UUID=d8904cd6-2bd4-435c-ac09-edd5d93232cf(通用唯一识别码)
ONBOOT=yes(是否开机启动)
NM_CONTROLLED=yes(network manager的参数,实时生效不需要重启)
BOOTPROTO=static(用指定的方式来获取地址,有static,dhcp,和none三种)
IPADDR=10.4.16.50(IP地址,要和宿主机在同一网段,一般自定义最后一个数字就好了)
GATEWAY=10.4.16.1(默认网关,和宿主机一样)
NETMASK=255.255.255.0(子网掩码,和宿主机一样)

BROADCAST=10.4.18.255(广播地址)

DNS1=8.8.8.8(第一个dns服务器)

DNS2=114.114.114.114(第二个dns服务器)

简单的配置只要配了红色字体就可以了。。。

修改完记得重启网络服务:service network restart

3. 防火墙影响

关闭linux防火墙:service iptables stop

禁止防火墙开机启动:chkconfig iptables off

检查防火墙状态:service iptables status

然后把宿主机的防火墙也关了,我的就是只有关闭宿主机的防火墙虚拟机才能ping通宿主机

有关校园网的问题

我在学校宿主机的ip是10.4.18.20而网关是10.4.16.1子网掩码是255.255.252.0

我把虚拟机的ip设置成10.4.18.n,会出现可以ping的通8.8.8.8,ping外网的时候网址的ip也可以解析出来,但就是不出现包的

信息必须Ctrl+c才能结束

我的解决方式是把10.4.18.n改成了10.4.16.n才能ping通

但是问题又出现了,这个n也有要求比如10.4.16.22就可以ping外网,而10.4.16.20就不行和10.4.18.n情况一样。。。

我猜是虚拟机发出的包少了什么配置数据,所以被校园网的防火墙给劫了,导致返回不了数据,因为我用虚拟机ping宿主机,当宿主机的防火墙没有关的时候也是这样,一直没有数据返回。

于是我就让宿主机脸上wifi结果一切畅通,丝滑流畅。。。校园网真的是坑。。。

为了论证我的猜想,我在虚拟机上安装了traceroute

traceroute baidu.com 路由追踪了下,看看是那个网关被拦截了,结果如下

traceroute to baidu.com (123.125.115.110), 30 hops max, 60 byte packets1  * * *2  10.1.0.117 (10.1.0.117)  1.871 ms  1.853 ms  3.254 ms3  10.1.1.22 (10.1.1.22)  32.760 ms  33.625 ms  33.590 ms4  * * *5  * * *6  * * *7  * * *8  * * *9  * * *
10  * * *
11  * * *
12  * * *
13  * *^C

最后说个注意点:因为校园网是用NAT方式的,所以如果虚拟机用的是桥接方式那么设置IP地址的时候不能和校园网上已存在的IP地址一样,避免冲突。

另外附上traceroute的使用方法,用来检测网络在哪一跳上出问题还是不错的

https://jingyan.baidu.com/article/6d704a132dbf6e28da51ca6a.html

不过这里面traceroute的安装方式是Ubuntu的

也可以用yum安装:yum install -y traceroute

如果更加专业一点可以选择Wireshark这款抓包工具,功能更强大

Linux 桥接ping不通外网(特别是校园网) 解决方式及错误总结相关推荐

  1. Linux出现ping不通外网、xshell解决方案

    ① 首先ifconfig查看虚拟机ip地址,如192.168.124.0 ② 确定 vi /etc/sysconfig/network-scripts/ifcfg-ens33 文件内的ip地址是否一致 ...

  2. Linux中ping不通外网

    在linux中ping www.baidu.com 无法ping通,可能原因是DNS没配置好 方法一: 修改vi /etc/resolv.conf 增加如下内容: nameserver 114.114 ...

  3. linux操作系统ping不通外网域名问题

    今天早上发现linux访问不了网页,然后试着ping了一下发现能够ping通网关和本地ip地址,ping外网域名失败,但能够ping通外网ip地址.结合网络资料发现是dns发生了变化,系统无法识别域名 ...

  4. Linux中ping不通外网解决方案

    最近在B站学习尚硅谷大数据组件hadoop,跟着流程走发现ping www.baidu.com失败, 尝试弹幕中所给的诸多办法皆无效,最后自己查找资料解决了,办法如下所给: 修改 vi /etc/re ...

  5. 虚拟机桥接模式下ping不通外网(baidu.com)

    项目场景: 提示:这里简述项目相关背景: 1.安装虚拟机(不再赘述) ==>安装好虚拟机--选桥接模式--编辑--虚拟机网络编辑器,选择桥接模式,连接到本地电脑所用网络: 给虚拟机(Window ...

  6. centos ping不通百度 ping不通外网

    ping不通百度 ping不通外网  这个问题会导致yum源安装软件失败 原因是 /etc/sysconfig/network-scripts/ifcfg-ens33 文件没有配置好 注意检查配置项 ...

  7. 虚拟机使用ifconfig命令不显示IP,ping不通外网

    1.问题 (1)不显示IP (2)ping不通外网 2.原因 没有激活网卡,需要激活网卡才能连接网络,从而访问外网 3.解决办法 (1)输入以下命令编辑网卡配置文件 vi /etc/sysconf i ...

  8. 解决centos ping不通外网

    先确认三件事: 一.ip 二.网关 三.dns 一就不说了,设置好本地ip和掩码就行了,二网关   添加默认网关,命令:route add defaule gw 192.168.1.1 这是 你用ro ...

  9. 如何安装linux虚拟机 配置IP地址以及网卡信息(ens33)以及ping不通外网的解决办法(绝对好使) 图文详细信息

    第一步 打开WORKSTATION 创建虚拟机 如果出现不让创建的情况,请右键以管理员身份运行 点击下一步以后这里描述了虚拟机硬件的限制,我们不用管,直接默认下一步 这里我们选择 光盘位置 后点击下一 ...

最新文章

  1. 2_flutter_TextField(文本框),TabBar(选项卡),bottomNavigationBar(底部导航栏)
  2. java 成员类_Java类的五大成员之一——内部类
  3. 搞懂function(*args,**kwargs)
  4. Idea缺少Version Control 底部菜单
  5. Z表数据EXCEL导入
  6. 小米10之后摩托罗拉Edge+也要用一亿像素相机,还有3.5耳机孔
  7. 找单词(母函数问题)
  8. [stm32] 利用uc-gui封装画图和画线函数移植51上的模拟动画
  9. layer + ajax 弹出框
  10. python super().__init__()
  11. cr2格式缩略图不显示_cr2缩略图补丁 佳能相机RAW文件CR2原片格式缩略图显示补丁- 游侠下载站...
  12. PHP从入门到接到外包合同,再到放弃
  13. matlab length什么意思,matlab中的length什么意思?如何应用?
  14. 在服务系统部署MFC程序,出现DLL缺失情况的问题解决方式
  15. 禁用wordpress新编辑器,使用经典编辑器的方法
  16. 基于遥感影像的变化检测数据集
  17. 播放器地址抓取 php,从优酷土豆视频地址中获取swf播放器分享地址 - PHP示例代码...
  18. DICTATOR第三周栈与队列作业
  19. 腾讯地图中轻松定义多边形
  20. 开启硬件辅助虚拟化——Intel虚拟化之旅

热门文章

  1. 吞噬星空鸿蒙殿主,论《吞噬星空》是鸿蒙三部曲的最后一部!
  2. Windows下Apache连接Tomcat(64位)
  3. 剑13 TEST2 听力复盘
  4. Hoeffding不等式
  5. Nucleus PLUS简介
  6. 奔腾g2030主机安装黑群晖DSM6.1.7
  7. GND RXD TXD的说明
  8. 重来一次高考,你还选择当程序员吗?
  9. V4L2视频采集与H264编码1—V4L2采集JPEG数据
  10. 你想象不到的工业智能协议网关还可以这样用