您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > Linux常用的网络命令
Linux常用的网络命令【转】网络出处:网络参数设置命令所有时刻如果你想要做好自己的网络参数设置,包括IP参数、路由参数和无线网络等,就得要了解下面这些相关的命令才行。其中Route及ip这两条命令是比较重要的。当然,比较早期的用法,我们都是使用ifconfig的。?ifconfig:查询、设置网卡和IP网段等相关参数。?ifup、ifdown:这两个文件是Script,通过更简单的方式来启动网络接口。?Route:查询、设置路由表(Routetable)。?ip:复合式的命令,能直接修改上述命令提到的功能。ifconfig、ifup、ifdown这3个命令的用途都是启动网络接口,不过,ifup和ifdown仅就/etc/sysconfig/network-scripts内的ifcfg-ethx(x为数字)进行启动或关闭的操作,并不能直接修改网络参数,除非手动调整ifcfg-ethx文件才行。至于ifconfig则能直接手动给予某个接口IP或调整其网络参数。下面我们就分别来谈一谈。1.ifconfigifconfig主要是能手动启动、观察和修改网络接口的相关参数,能修改的参数非常多,包括IP参数及MTU等都能修改,他的语法如下:[root@linux~]#ifconfig{interface}{up|down}一般来说,直接输入ifconfig就会列出目前已被启动的卡,不论这个卡是否有设置IP,都会被显示出来。而如果是输入ifconfigeth0,则会显示出这个接口的相关数据,而不管该接口是否启动。所以,如果你想要知道某个网卡的HardwareAddress,直接输入“ifconfig网络接口代号”即可。至于上述代码中出现的各项数据是这样的(数据排列由上而下、由左而右)。?eth0:网卡的代号,也有lo这个loopback。?HWaddr:网卡的硬件地址,习惯称为MAC。?inetaddr:IPv4的IP地址,后续的Bcase、Mask分别代表的是Broadcast和Netmask。?inet6addr:是IPv6的版本的IP,我们没有使用,所以略过。?RX:那一行代表的是网络由启动到目前为止的数据包接收情况,packets代表数据包数、errors代表数据包发生错误的数量、dropped代表数据包由于有问题而遭丢弃的数量等。?TX:和RX相反,为网络由启动到目前为止的传送情况。?collisions:代表数据包碰撞的情况,如果发生太多次,表示你的网络状况不太好。?txqueuelen:代表用来传输数据的缓冲区的储存长度。?RXBytes、TXBytes:总传送、接收的字节总量。?Interrupt、Memory:网卡硬件的数据,IRQ岔断和内存地址。通过观察上述的资料,大致上能了解到你的网络情况,尤其是RX、TX内的error数量,及是否发生严重的collision情况,都是需要注意的。范例二:暂时修改网络接口[root@linux~]#ifconfigeth0192.168.100.100#如果不加所有其他参数,则系统会依照该IP所在的class范围,#自动地计算出netmask及network,broadcast等IP参数[root@linux~]#ifconfigeth0192.168.100.100netmask255.255.255.128\mtu8000#设置网络接口,同时设置MTU的数值[root@linux~]#ifconfigeth0MTU9000#仅修改该接口的MTU数值,其他的保持不动[root@linux~]#ifconfigeth0:0192.168.50.50#仔细看那个接口,eth0:0。那就是在该网络接口上,再仿真一个网络接口,#亦即是在一个网卡上面设置多个IP的意思啦[root@linux~]#ifconfigeth0Linkencap:EthernetHWaddr00:0F:EA:A3:06:A2inetaddr:192.168.10.100Bcast:192.168.10.255Mask:255.255.255.0UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1RXpackets:3669errors:0dropped:0overruns:0frame:0TXpackets:2892errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RXbytes:667547(651.9KiB)TXbytes:584799(571.0KiB)Interrupt:209Memory:fb000000-0eth0:0Linkencap:EthernetHWaddr00:0F:EA:A3:06:A2inetaddr:192.168.200.2Bcast:192.168.200.255Mask:255.255.255.0UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1Interrupt:209Memory:fb000000-0#仔细看,是否和硬件有关的信息都相同。没错。因为是同一个网卡。[root@linux~]#ifconfigeth0:0down#关掉eth0:0这个接口。如果想要启动eth1,并且不设置所有网络参数#ifconfigeth1up就能实现[root@linux~]#/etc/init.d/networkrestart#刚刚设置的数据全部失效,会以ifcfg-ethx的设置为主使用ifconfig能暂时用手动来设置或修改某个适配卡的相关功能,并且也能通过eth0:0这种虚拟的网络接口来设置一张网卡上面的多个IP。手动的方式是比较简单。而且设置错误也没有关系,因为我们能利用/etc/init.d/networkrestart来重新启动整个网络接口,那么之前手动的设置数据会全部失效。另外,要启动某个网络接口,但又不让他具有IP参数时,直接给他ifconfigeth0up即可。这个操作经常在无线网卡当中进行,因为我们需要启动无线网卡让他去检测AP存在和否。2.ifup、ifdown实时地手动修改一些网络接口参数,能利用ifconfig来实现,如果是要直接以设置文件,亦即是在/etc/sysconfig/network-scripts里面的ifcfg-ethx等文件的设置参数来启动的话,那就得要通过ifdown或ifup来实现了。[root@linux~]#ifup{interface}[root@linux~]#ifdown{interface}[root@linux~]#ifupeth0ifup和ifdown真是太简单了。这两个程式其实是script而已,他会直接到/etc/sysconfig/network-scripts目录下搜索对应的设置文件,例如ifupeth0,他会找出ifcfg-eth0这个文件的内容,然后加以设置。关于ifcfg-eth0的设置请参考前一章连上Internet的说明。不过,由于这两个程式主要是搜索设置文件(ifcfg-ethx)来进行启动和关闭的,所以在使用前请确定ifcfg-ethx是否真的存在于正确的目录内,否则会启动失败。另外,如果以ifconfigeth0来设置或是修改了网络接口后,就无法再以ifdowneth0的方式来关闭了。因为ifdown会分析比较目前的网络参数和ifcfg-eth0是否相符,不符的话,就会放弃这次操作。因此,使用ifconfig修改完毕后,应该要以ifconfigeth0down才能够关闭该接口。路由修改route我们在网络基础的时候谈过关于路由的问题,两台主机之间一定要有路由才能够互通TCP/IP的协议,否则就无法进行联机。一般来说,只要有网络接口,该接口就会产生一个路由,例如,在鸟哥实验室内部的主机有一个eth0及lo,所以:[root@linux~]#route[-nee][root@linux~]#routeadd[-net|-host][网段或主机]netmask[mask][gw|dev][root@linux~]#routedel[-net|-host][网段或主机]netmask[mask][gw|dev]观察的参数:-n,不要使用通信协议或主机名称,直接使用IP或PortNumber;-ee,使用更周详的信息来显示;增加(add)和删除(del)路由的相关参数;-net,表示后面接的路由为一个网段;-host,表示后面接的为连接到单台主机的路由;Netmask,和网段有关,能设置netmask决定网段的大小;Gw,gateway的简写,后续接的是IP的数值,和dev不同;Dev,如果只是要指定由哪一块网卡联机出去,则使用这个设置,后面接eth0等。范例一:单纯的观察路由状态[root@linux~]#route-nKernelIProutingtableDestinationGatewayGenmaskFlagsMetricRefUseIface192.168.10.00.0.0.0255.255.255.0U000eth0169.254.0.00.0.0.0255.255.0.0U000eth00.0.0.0192.168.10.300.0.0.0UG000eth0[root@linux~]#routeKernelIProutingtableDestinationGatewayGenmaskFlagsMetricRefUseIface192.168.10.0*255.255.255.0U000eth0169.254.0.0*255.255.0.0U000eth0defaultServer.cluster0.0.0.0UG000eth0在上面的例子中仔细观察route和route-n的输出结果,你能发现有加-n参数的主要是显示出IP,至于使用route,显示的则是“主机名称”。也就是说,在默认的情况下,route会去找出该IP的主机名称,如果未找到呢?就会显示得迟钝(有点慢),所以说,鸟哥通常都直接使用route-n了。由上面看起来,我们也知道default=0.0.0.0/0.0.0.0,而上面的信息有哪些你需要知道的呢??Destination、Genmask:这两个术语就分别是Network和Netmask了。所以这两个东西就组合成为一个完整的网段了。?Gateway:该网段是通过哪个Gateway连接出去的?如果显示0.0.0.0表示该路由是直接由本机传送,亦即能通过局域网的MAC直接传输;如果有显示IP的话,表示该路由需要经过路由器(网关)的帮忙才能够传送出去。?Flags:总共有多个标记,代表的意义如下。ØU(routeisup):该路由是启动的。ØH(targetisahost):目标是一台主机(IP)而非网段。ØG(usegateway):需要通过外部的主机来传递数据包。ØR(reinstateroutefordynamicrouting):使用动态路由时,恢复路由信息的标记。ØD(dynamicallyinstalledbydaemonorredirect):已由服务器或转port功能设置为动态路由。ØM(modifiedfromroutingdaemonorredirect):路由已被修改了。Ø!(rejectroute):这个路由将不会被接受(用来阻止不安全的网段)。?Iface:这个路由传递数据包的接口。此外,观察一下上面的路由排列顺序,依序是由小网段(192.168.10.0/24是ClassC),逐渐到大网段(169.254.0.0/16是ClassB),最后则是默认路由(0.0.0.0/0.0.0.0
本文标题:Linux常用的网络命令
链接地址:https://www.777doc.com/doc-3871309 .html