【linux】虚拟机安装centos后ping ip地址出现错误:Network is unreachable
来源:https://my.oschina.net/stonezing/blog/515480
方案一:
进入/etc/sysconfig/network-scripts/ 查看这下面的文件
每个人的这个文件有所不一样,但前辍是一样的,vi ifcfg-ens33
将ONBOOT=no 改成ONBOOT= yes
重启服务service network restart
方案二:
ifconfig 查看自己网卡的名称,一般是第一个 如:eth0
sudo ifup eth0 开启网卡
其实方案一修改的目的也是为了开启网卡。
开启关闭网卡的指令:
ifup 网卡名
ifdown 网卡名
上面方案一文件内容含义为:
根据文件ifcfg-eth0打开命令及各项信息如下:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0#网卡设备名称
ONBOOT=yes#启动时是否激活 yes | no
BOOTPROTO=static#协议类型 dhcp bootp none
IPADDR=192.168.1.90#网络IP地址
NETMASK=255.255.255.0#网络子网地址
GATEWAY=192.168.1.1#网关地址
BROADCAST=192.168.1.255#广播地址
HWADDR=00:0C:29:FE:1A:09#网卡MAC地址
TYPE=Ethernet#网卡类型为以太网
来源:http://blog.csdn.net/julius819/article/details/7652463
鸟哥讲的会更清楚一些:http://cn.linux.vbird.org/linux_server/0130internet_connect_1.php
4.1.3 Linux 网络相关配置文件案
我们知道 TCP/IP 的重要参数主要是: IP, Netmask, Gateway, DNS IP ,而且千万不要忘记你这部主机也应该要有主机名 (hostname)!此外,我们也知道 IP 的取得有手动设定、DHCP 处理等。那么这些参数主要是写在哪些配置文件?如何对应呢? 底下就让我们来处理一番!
所需网络参数 | 主要配置文件档名 | 重要参数 |
IP Netmask DHCP 与否 Gateway 等 |
/etc/sysconfig/network-scripts/ifcfg-eth0 | DEVICE=网卡的代号 BOOTPROTO=是否使用 dhcp HWADDR=是否加入网卡卡号(MAC) IPADDR=就是IP地址 NETMASK=只网络屏蔽啦 ONBOOT=要不要默认启动此接口 GATEWAY=就是通讯闸啦 NM_CONTROLLED=额外的网管软件 鸟哥建议取消这个项目! |
主机名 | /etc/sysconfig/network | NETWORKING=要不要有网络 NETWORKING_IPV6=支持IPv6否? HOSTNAME=你的主机名 |
DNS IP | /etc/resolv.conf | nameserver DNS的IP |
私有 IP 对应 的主机名 |
/etc/hosts | 私有IP 主机名 别名 |
你没有看错,主要需要修改的就是这四个档案而已!因此没有很困难!大家都想太多了!详细的设定后续小节再来讲, 这里先有概念即可。除此之外,还有些档案或许你也应该要知道一下比较好呦!
- /etc/services
这个档案则是记录架构在 TCP/IP 上面的总总协议,包括 http, ftp, ssh, telnet 等等服务所定义的 port number ,都是这个档案所规划出来的。如果你想要自定义一个新的协议与 port 的对应,就得要改这个档案了; - /etc/protocols
这个档案则是在定义出 IP 封包协议的相关数据,包括 ICMP/TCP/UDP 这方面的封包协议的定义等。
大概知道上面这几个档案后,未来要修改网络参数时,那就太简单了!至于网络方面的启动指令的话,可以记得几个简单的指令即可喔!
- /etc/init.d/network restart
这个 script 最重要!因为可以一口气重新启动整个网络的参数! 他会主动的去读取所有的网络配置文件,所以可以很快的恢复系统默认的参数值。 - ifup eth0 (ifdown eth0)
启动或者是关闭某张网络接口。可以透过这个简单的 script 来处理喔! 这两个 script 会主动到 /etc/sysconfig/network-scripts/ 目录下, 读取适当的配置文件来处理啊! (例如 ifcfg-eth0)。
大概你只要只到这些基本的指令与档案,哈哈!网络参数的设定就太简单啦! 不过,最好你还是要了解 shell script ,比较好!因为可以追踪整个网络的设定条件。 why ?这是因为每个 distributions 的设定数据可能都不太相同,不过却都以 /etc/init.d/network 作为启动的 script , 因此,你只要了解到该档案的内容,很容易就追踪得出来你的配置文件所需要的内容呢!对吧!
鸟哥中几个指令的含义:
lspci
显示系统中所有PCI总线设备或连接到该总线上所有设备的工具。PCI是Peripheral Component Interconnect(外设部件互连标准)的缩写,它是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。
dmesg
显示开机信息
lsmod
用来显示文件、proc/modules的信息,也就是显示当前内核模块装载的模块。