某一天,忽然发现没法ssh登陆虚拟机内的debian系统,一直认为是ssh的问题,而后无心间ping了ping百度,发现原来是debian系统没有联网。。。。囧网络
首先,是虚拟机的网络设置检查。ssh
打开VirtualBox,点选debian虚拟机,而后打开设置,将网络部分设置为桥接网卡。oop
这一步是为了使虚拟机上网,并且在网络上和宿主机是对等的,拥有独立的内网ip。spa
这一步没有问题,因而打开虚拟机,进行debian网络设置的检查。rest
debian部分:code
设置一个静态ip:orm
打开/etc/network/interfaces,server
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接口将在系统启动的时候自动配置。blog
第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,这样通常就没有问题了。