本文记录在虚拟机中使用linux连接网络
都知道可使用ping 域名或ip 来测试是否连通对方网络
百度或淘宝等,其网络肯定是没问题(因为随时都能访问)
所以,如果你能ping通百度或淘宝, 则反过来能说明自己网络也没问题
本人自己弄了很久, 一直没有ping通外网(百度)
因为是业余研究, 在网上也找了大半天, 各种方法都试过了, 不能成功
最后成功了, 总结:不能ping能外网的主要原因是 网卡配置 不完全正确
1.首先选择网络连接方式:
这里选桥连模式:桥连模式, 即将虚拟机独立出来, 与原宿主机成 "并列状态"
桥连模式下就相当于, 原宿主机是机器1,虚拟机是机器2
确定使用这种网络连接,很重要,不用多发时间去切换其它模式
2.打开网卡配置文件
我这里面是RHEL7系统,网卡名称为 ifcfg-eno16777736(可使用ifconfig查看网卡名称)
cd进入 /etc/sysconfig/network-scripts 目录, 在其下面的ifcfg-eno16777736文件,就是网卡文件
编辑ifcfg-eno16777736如下:
。BOOTPROTO的值改为static
。ONBOOT的值改为yes
。然后在文件末尾添加IPADDR=xxx, NETMASK=xxx, GATEWAY=xxx, DNS1=xxx, NM_CONTROLLED=no
在不能保证的情况, 各字段可以使用如下的先后顺序(否则有可能会有问题)
还有就是, 你要先在windows中使用ipconfig, 获取宿主机的ip, 网关,掩码
填写的 网关,掩码 应与宿主机的相同
ip与宿主机的ip在同一网段 (即ip的最后一段不同)
DNS1填写一个本地的DNS就行了, 也可以填写多个(NDS2, NDS3)
3.最后systemctl restart network 重启网络服务
ping www.baidu.com, 顺利的话, 等一会就可以正确结果了
修改了网卡配置文件(ifcfg-eno16777736)都需要重启网络服务
关于 /etc/resolv.conf 文件,配置的是域名解析, 即NDS配置
有人说要修改resolv.conf, 在里面填写nameserver x.x.x.x (比如61.139.2.69)
其实我想说, 根本不用管它, 因为ifcfg-eno16777736中已填写了DNS(如上面的DNS1=61.139.2.69)
而且修改/etc/resolv.conf文件根本无效
经测试,当你重新启动网络服务, 它里面的内容会自动还原
还有说添加默认网关的, 都不适用, 可能不适合本系统吧