代码改变世界

关于centos连接外网常见的IP和DNS配置问题

2017-06-19 13:35  艳火_离殇  阅读(2476)  评论(0编辑  收藏  举报

使用虚拟机安装linux后会遇到各种奇葩问题,特别是对于小白来说,比较苦恼。现在我把我遇到的问题汇总出来,作为经验进行分享。
1.ping 命令没反应(防火墙问题)
一般情况下,只要虚拟机上linux的IP地址和windows本机的IP地址配置成同一个网段,是可以互相ping通的。比如我的windows的IP地址为192.168.1.103/24,centos6.5的IP地址为192.168.1.6/24,centos7的IP地址为192.168.1.7/24,正常情况,这三个IP之间应该能互相ping通。但是发现windows上能ping 通linux,linux不能ping 通windows。具体来说就是在windows上可以ping 6和7,但是在6上只有ping 7有反应,同样在7上ping 6有反应。没反应就是说你执行ping后没有收到任何响应,就算是host unreachable这样的回显都没有。在这种情况下,就可以大概判定是防火墙问题。在我们这个例子中,是在windows上开启了防火墙,可以在控制面板-系统和安全-关闭防火墙来解决。如果是遇到相反的情形,也就是说linux上打开了防火墙,可以用service iptables stop关闭防火墙,同样可以搞定。
2.虚拟机联网的ip地址及网络配置。
在centos上需要连接外网来使用yum服务,以及用wget下载其他软件的安装包。
(1)如果你的虚拟机软件是vmware,网络连接一般有3种:nat模式,bridge模式和host-only模式。(对应的网卡是vmnet0,1和8,具体的大家可以在网上搜索 ),我们在网络设置里面选择nat模式,然后在编辑-虚拟网络编辑器里面选择nat模式的vmnet8网卡,在这儿的配置就相当于一个交换机,ip需要设置成一个网段,比如192.168.1.0/24,默认网关是192.168.1.1(有的人设置成一个具体的ip地址会不停的报错,报错内容忘记了大概就是说ip地址冲突,无效等)。选择默认的网络地址分配为dhcp,点击确定就可以了。这时候我们在windows中的网络和共享中心,会出现一个vmnet8的网卡,我们把它的地址设置成自动获取就可以了,在windows上我们可以用ipconfig命令,查看vmnet8的ip地址是否获取成功。如果获取成功会得到一个192.168.1.0/24网段的地址,有时候是192.168.1.2,这个不确定。最后一步需要设置linux上的ip地址,你可以把ip地址设置成192.168.1.3或者其他的只要是192.168.1.0/24这个网段又不和前面的ip地址相同就行,默认网关设置成192.168.1.1。在linux上可以用ifconfig命令查看ip是否配置成功。这时候你就可以使用ping命令进行测试,如果ping命令有问题可以参照第一部分的"ping命令没反应"的解决方案。ping命令测试通过以后,我们一般还要让DNS服务正常工作,你使用ping www.baidu.com做测试,就可以知道DNS是否正常,一般情况下,如果不正常了,你可以把linux上的DNS地址设置成和默认网关一样的地址,192.168.1.1,是不是很简单呢。
(2)如果你的虚拟机软件是windows10自带的hyper-v (我现在就用的这个虚拟机软件)。具体这个软件怎么开启,网上有介绍。我只强调两点,一个是在控制面板,打开或关闭windows功能里面开启hyper-v功能,一个是在开机以后的bios设置里面开启虚拟化服务。回归正题,在hyper-v上是通过虚拟交换机管理器来设置网络的。

它有三种模式:外网,内网和专网。

我们选择外网,然后选择一个网卡进行关联(可以是有线的也可以是无线的),就看你平常用哪个,然后起一个名字确定就可以了(比如sharenet)。

这时候就会发现windows的网络和共享中心多了一个叫sharenet的虚拟网卡,地址设置的是自己获取,还多了一个网桥。

这时候可以在windows上用ipconfig来查看当前sharenet虚拟网卡的ip地址,我的ip地址获取到的是为192.168.1.103/24,默认网关的地址为192.168.1.1。这时候,要把linux上的网卡设置为sharenet,以centos7为例,打开设置,网络适配器选择sharenet确定。

我们可以把linux的ip地址进行配置,配置成同一网段的,比如我的centos6.5配置成192.168.1.6/24,centos7的ip地址配置成192.168.1.7/24,网关都是192.168.1.1,DNS地址也设置成192.168.1.1。在linux上可以用ifconfig命令查看ip是否配置成功。然后三台主机就可以进行ping测试,测试成功后,在linux上可以ping www.baidu.com看看DNS服务是否正常,这时候就可以访问外网了。
tips:在Linux上进行ping测试的时候,ping命令会一直收到回显包,想要停止可以用命令ctrl+c。