- Linux下的网络配置命令
-
Linux下的网络结构是非常复杂的,但是基本的用户空间网络配置还是不怎么难的。如果你的Linux还是没有网络的话或者连接网络有问题的话,那么赶紧跟着一起配置下或者一步步来查看下有什么问题。当然我的Linux是centos6.5版本的,没有桌面,全终端命令操作。
-------------------------------------------------------------配置内网------------------------------------------------------------------------------
第一步、查看下当前网络信息,用命令:ifconfig 这命令会显示你当前系统中起来的所有网卡设备信息,虚拟网卡或者二层网桥等都会显示出来。在windows中查看网卡设备的命令是:ipconfig,详细信息可以参数all,命令为:ipconfig/all。结果如图:
如果你开机后用ifconfig命令查到的和上面的结果查不到,那么你的网络很可能就是正常的。简单介绍下上面的结果的内容,首先有两块网卡:eth0和lo;eth0是我设置的,一般来说每个Linux系统都会有块eth0(有的是eth1或者eth2等等);lo网卡是块回环网卡,就是内部回环查询的,可以用来查看下是不是自己网卡硬件有问题(自己ping自己),这块设备每个操作系统都是有的。但有些可能是没有起来。
第二步、如果在第一步中没有查看到结果那么别伤心,可以用命令:ifconfig -a 来查看所有存在的网卡设备,当然包括没有起来的。因为有些设置有问题或者在开机时无法读取你的网络设置脚步,所以无法帮你的网卡自动起来。这时候就得靠自己手动起来了。
如果ifconfig -a发现有些没起来的设备,那么可以手动起来,网络应该就没问题了。现假设查看到eth0没有自动起来,那么用命令:ifconfig eth0 up(相对命令关闭网卡命令:ifconfig eth0 down) 执行命令后如果没有打印出什么来就表示执行命令成功(这是Linux的低调:命令执行成功什么都没有显示,如果没有成功那么错误信息恐怕有可能会刷屏);然后执行下第一个命令:ifconfig 如果结果显示出eth0的信息了,那么表示网卡已经开始工作了,网络没问题了。当然这只是暂时的,至于为什么没有自动起来,有两个原因:第一、系统启动时读取网络配置脚本出问题,这个可以查看下启动日志;第二、是网络配置脚步本身的问题,这个可以看后面几步的网络配置;
当然如果是系统启动读取脚本出问题,那这个就可能比较复杂了。我当时也出现过一次,系统启动时死活都读取不到我配置脚本,后来才发现是我自己把物理网卡设备关掉了,这个到后面会分享下。如果查找不出什么原因来,也没关系,用个简单的方法:把ifconfig eth0 up这个命令写到启动脚本中就可以了。执行下命令:echo 'ifconfig eth0 up' >> /etc/rc.local(我记得会读取rc.local,可以查看下应该是rc.local)把这个命令追加到启动脚本中去就可以了。每次开机就会自启动了。
第三步、这才是网络配置的关键。进入到网卡所在目录:cd /etc/sysconfig/network-scripts,可以查看到很多和网络有关的设备;有ifcfg-eth0和ifcfg-lo这个两个文件,就是对应ifconfig出来的eth0和lo网卡设备的。进入到ifcfg-eth0文件中
大家可以根据自己的需求对网卡进行配置,上面是我基本配置,把一些无关的(如:uuid,mac地址等)删除掉了。设置好重启下网络:server network restart 再ping下内网看看通不通(可以用arp -a来查看下当前有哪些主机是开放的)。如果通了,那么大概就指定怎么设置网卡信息了。这里提下,如果你需要用eth1的话可以拷贝份eth0修改成eth1,但前提是你要有物理网卡, 虚拟机的话也要设置虚拟网卡。到此内部网络已经通了,接下来配置外网了。DEVICE=eth0 // 这是网卡的名称 TYPE=Ethernet // 网卡类型 ONBOOT=yes // 是否随着开机自启动 BOOTPROTO=static // static表示固定ip地址,dhcp表示随机获取ip IPADDR=192.168.10.150 // 手动设置的固定ip地址 NETMASK=255.255.255.0 // mask地址,就是掩码 GATEWAY=192.168.10.1 // 网关地址
-------------------------------------------------------------------------------配置外网-------------------------------------------------------------------------------第四步、如果内网已经没问题了那么来看看外网的配置(一定不能跳过内网配置来直接配置外网)。首先也是检查下外网有没有通,直接ping百度:ping www.baidu.com,如果通了,那行,可以到此结束了。如果通不了,出现无法识别主机之类的。那么跟着配置下下面脚本。第一、要配置下DNS,直接进入文件:vim /etc/resolv.conf 添加两行脚本即可。
第五步、如果前一步DNS已经配置好了,那么可以先ping下百度,能不能通。如果不能通那么查看下路由设置,路由的概念就啰嗦的讲了,简单一句:控制里面数据包到达外面的路线规则。用命令:rounte -n 查看下路由表nameserver 192.168.10.1 // 用网关做DNS nameserver 8.8.8.8 // 用谷歌免费提供的DNS
可以看到Gateway一栏中有 192.168.10.1表面这里有个默认网关,当数据包找不到出口时,一律往这个网关丢。路由器另外一端是连接公网的,所以如果配置了默认网卡那么就可以和外界通讯了。如果没有默认网关则要自己手动添加一条默认网关:route add default gw 192.168.10.1然后重启网络再试试能不能和外界通信了。
如果你的Linux不是虚拟机,这几步配置下来网络基本上可以工作的了。但如果你的是虚拟机里面装的Linux系统,那么配置网络还是比较复杂的。
-----------------------------------------------------------------------虚拟机配置网络------------------------------------------------------------------------------------------------
虚拟机配置网络步骤和上面大体相同,唯一不一样的就是和宿主机的交换问题。如果安装前面的步骤配置网络不通的话,很可能和宿主机网络连接有问题。
首先查看下虚拟机中的设置,找到网络,然后看下使用的是什么方式连接虚拟机里面的网络,有桥接和NAT、HOST-ONLY各种方式的特点可以自己查下资料,一般是用桥接方式。可以检查下宿主机下的网络,看下有没有禁止虚拟机中的网络出来(在更改适配器中也可以看到),我的是VirtualBox虚拟机,宿主机里的有VirtualBox出来的网络。
可以看到有三个网络,VirtualBox的网络,无线网的,连线的三个网络,也可以win+r ==> cmd ==> ipconfig/all查看下各个网卡情况。
还有个事要注意:尽量不要让VirtualBox和VMware同时安装在同一个宿主机中使用,当安装VirtualBox时会改变VMware的网络设置,所以安装完VirtualBox后要重新设置下网络。还有一个是不要去刷新虚拟机的mac地址,当你刷新后就表示生产一块新的虚拟网卡,以前的网卡就删掉了,开始时网络就不会启动了,而且你的网卡名称也会改变,可能为eth1或者eth2等。这时候可以删除掉两个个文件(一时间忘记了哪个文件好像是:xxx-7 xxxx-9,开机时会提醒说这两个文件不能读取,下次想起补上
)
目前为止能想到的就这么多了,这也是常规的网络配置方法。后期如果遇到其他问题再补上。谢谢!!(如果大家遇到网络配置问题及解决方法也请告知下我,谢谢!!)
补充1:如果每次重启网络后都会还原/etc/resolv.conf。则需要关闭NetworkManager,cd/etc/init.d到目录中执行命令:service NetworkManager stop
-
尊重原创,转载自:http://www.2cto.com/os/201411/356865.html