题记:
Linux网络配置这个问题。常常在配置,但仍然常出错。希望这次做一个整体梳理,能够解决日后遇见的大体问题。
在搭建Hadoop集群的过程中,由于一次意外关机,之后启动集群中的三台Linux虚拟机master、node1、node2,网络连接失败。三台虚拟机之间互相都ping不同,也ping不同外网和网关。只能ping通localhost和127.0.0.1.
解决这个问题的过程很复杂,它并不仅仅是因为网络配置出错的原因。最后,这个问题是因为虚拟软件VMware workstation可能丢失了一些配置文件导致的。
本篇日志所涉及到的问题,它的软件配置情况为:
本机系统:win7
虚拟机软件:VMware workstation
虚拟机系统:redhat
网络配置情况:,连接方式,NAT、手动指定IP
本篇日志表达的中心思想:
重新梳理,在Linux网络配置的过程中涉及到的各个网络配置文件,并说明网络配置过程中需要注意的几个关键点。
进入正题:
1、首先我将目前正常Linux网络配置环境中,相关的网络配置信息如下列出:
本机windows 网络配置情况:
VM1:
图1
VM8:
图2
Linux虚拟机网络配置情况:
虚拟网络编辑器:
VM0:
图3
VM1:
图4
VM8:
图5
Linux 虚拟机IP网络配置:(/etc/sysconfig/network-scripts/ifcfg-eth0网络配置文件)
图6
网卡配置文件:(/etc/udev/rules.d/70-persistent-net.rules)
图7
DNS配置文件:(/etc/resolv.conf)
图8
2、其中未搞明白的相关配置情况如下:
1)、虚拟网络编辑器中,图3 VM0
图3 VM0的配置,我不知道它应当在什么情况下起作用。但,从表面上看起来,VM0的相关配置在我的这次网络配置中斌未起作用。
2)、虚拟网络编辑器,图4 VM1
图4 VM1中子网IP,似乎在我的网络配置中也未起作用。
3)、本机Windows中,图1 VM1的IP配置,似乎在我的网络配置中也未起作用。
4)、本机Windows,IP配置似乎与我的网络配置也没有相关关系。
以上中情况,因为和我的网络配置似乎没有相关关系,所以我也没有做任何修改。也未找出它们之间有什么联系。所以可以完全不管。
3、下面开始说明每个网络配置文件的对应关系
以图6:/etc/sysconfig/network-scripts/ifcfg-eth0网络配置文件 为入口开始说明
1)、ifcfg-eth0配置文件具体内容如下:
DEVICE=eth0 =》 网卡接口名称,与ifcfg-eth0相对应,和网卡配置文件/etc/udev/rules.d/70-persistent-net.rules相关联
BOOTPROTO=none =》 启用地址协议 --static:静态协议 --bootp协议 --dhcp协议
HWADDR=00:0C:29:95:8D:5E =》 网卡地址即MAC地址(HWADDR值取决于图7(网卡配置文件/etc/udev/rules.d/70-persistent-net.rules)中NAME="eth0"的网卡,它的ATTR{address}值。它们俩必须对应相等。)
IPADDR=192.168.232.134 =》 网卡 ip地址(它ip地址网段232,取决于图5 VM8中子网IP的网段。它们俩对应相等。在这儿都是232网段。)
NETMASK=255.255.255.0 =》 网卡网络地址
ONBOOT=yes =》 系统启动时是否自动加载
GATEWAY=192.168.232.4 =》 网卡网关地址(网关地址取决于图5 VM8中网关IP,他们对应相等)
ARPCHECK=no =》 解决“eth0: Determining if ip address 192.168.232.1”问题
DNS1=202.96.134.33 =》 网卡DNS地址(之后/etc/resolv.conf文件中自动生成的DNS值,就是这儿的DNS1的值)
修改完成后,保存。并写入命令查看IP配置情况。
2)、虚拟网络编辑器中VM8的子网IP段需要和Windows本机中VM8的子网IP在同一个段。我们的配置中都在232段。
3)、网络配置文件ifcfg-eth0中的GATEWAY与虚拟网络编辑器中VM8的网关IP对应相等。
4)、DNS配置文件/etc/resolv.conf的内容由ifcfg-eth0中的DNS1自动生成。
5)、关闭NetworkManager相关服务
4、查看相关IP配置情况
1)、保存IP配置后重启网络配置
#重启网卡
service network restart
2)、查看DNS配置文件
#DNS配置文件
vi /etc/resolv.conf
# Generated by NetworkManager
nameserver 202.96.134.33
注意:DNS配置文件中信息不是由我们手动写入的,而是由ifcfg-eth0文件的DNS1配置信息,在service network restart重启网卡后自动生成的。
在这儿又引入了另外一个问题:《Linux网络配置 DNS配置信息丢失 可能原因分析》
5、Linux网络配置相关命令汇总
参见相关资料:《Linux网络相关配置文件》、《linux下重要的网络配置文件》
1)、#修改主机名称
/etc/sysconfig/network 这个文件主要的功能用于,设定默认的GATEWAY,修改主机名称(HOSTNAME),是否启动Network.
2)、#网卡的参数文件
/etc/sysconfig/network-scripts/ifcfg-ethn 这个文件是设定网卡的参数文件,如network,IP,netmask,broadcast,gateway,开机时IP协议的方式(DHCP,static).
3)、#设定DNS的文件.
/etc/resolv.conf 这个是设定DNS的文件.
4)、#记录计算机的IP对应主机的名称或者主机的别名.
/etc/hosts 这个文件可以记录计算机的IP对应主机的名称或者主机的别名.
5)、#查看IP地址参数
ifconfig 查看IP地址参数
6)、#重启网卡
service network restart
7)、#启动eth0网卡
ifup eth0 启动eth0网卡
8)、#关闭eth0网卡
ifdown eth0 关闭eth0网卡
9)、#检查一下网卡是否启用
IP地址配置正确,网络也重启了,但是仍处于中断
检查一下网卡是否启用
mii-tool 命令
或
/etc/init.d/network status
若没有启动网卡,则ifconfig eth0 up 启动网卡
更多参见:《弹出界面eth0:错误:激活连接失败:device not managed by NetworkManager 》