【Debian】非法关机后无法联网 connect: network is unreachable

  某一天,突然发现无法ssh登录虚拟机内的debian系统,一直认为是ssh的问题,然后无意间ping了ping百度,发现原来是debian系统没有联网。。。。囧


  首先,是虚拟机的网络设置检查。

  打开VirtualBox,点选debian虚拟机,然后打开设置,将网络部分设置为桥接网卡。

  这一步是为了使虚拟机上网,而且在网络上和宿主机是对等的,拥有独立的内网ip。

  这一步没有问题,于是打开虚拟机,进行debian网络设置的检查。


  debian部分:

  设置一个静态ip:

  打开/etc/network/interfaces,

 1 # This file describes the network interfaces available on your system
 2 # and how to activate them. For more information, see interfaces(5).
 3 
 4 # The loopback network interface
 5 auto lo
 6 iface lo inet loopback
 7 
 8 # The primary network interface
 9 allow-hotplug eth0
10 auto eth0
11 iface eth0 inet static
12 address 192.168.1.199
13 netmask 255.255.255.0
14 gatway 192.168.1.1
15 ~                                                                                                             
16 ~                       

  其中,第5行和第10行的设置表示lo接口和eth0接口将在系统启动的时候自动配置。

  第11行表示设置网络为静态ip 如果想要设置为自动获取动态ip,可以这么设置

iface eth0 inet dhcp

  如果设置为动态获取,则可不设置12~14行的参数,如果想要设置固定ip,则必须设置ip、子网掩码、网关等参数。

  如果需要设置网关,则可以打开/etc/resolv.conf文件更改设置:

1 nameserver 192.168.1.1
2 nameserver 0.0.0.0
3 ~                      

  nameserver后面的设置即自己所在网络的网关。

  最后保存编辑内容后使用命令:

    /etc/init.d/networking restart

  来使设置生效。


  如果还是没有解决问题。

  可以输入下面的命令:

 route add default gw 192.168.1.1

  其中192.168.1.1是本网的网关,然后,问题解决。

  以上命令的作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口,如eth0。

  其中的default即默认的网络接口,在这里表示eth0。

  这个设置将在重启后失效,如果需要长期有效,可以将其添加到/etc/network/interfaces文件里。


  如果设置了还是不行,还有一种方法:

  先在/etc/network/interfaces文件里设置为动态获取ip,然后重启网卡,待可以ping通网络后,再重新设置为静态ip,这样一般就没有问题了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。