linux入门教程 第5章:网络应用

5.1 常用网络命令

   在Red Hat Linux 7.1系统提供了与网络相关的工具,掌握好这些工具是十分必要的:
   第一类:设置工具
   1.netconf:
   netconf是Red Hat Linux提供的Linuxconf的一部分,主要用于设置与网络相关的参数。它可以在consle下运行(文本菜单),也可以在X-Window中运行(图形界面)。在前面,我们介绍过了netconf的一些应用,它的使用比较简单,只要认识上面的英文就可以了,所以在此就不再多说。BTW,如果你设置好了X-Window的话,用用图形界面的netconf,会更漂亮的哟。
   2.ifconfig
   ifconfig是Linux系统中最常用的一个用来显示和设置网络设备的工具。其中“if”是“interface”的缩写。它可以用来设备网卡的状态,或是显示当前的设置。
   下面我们简单地说明常用的命令组合:
   1) 将第一块网卡的IP地址设置为192.168.0.1:
   ifconfig eth0 192.168.0.1 (格式:ifconfig 网络设备名 IP地址)
   2) 暂时关闭或启用网卡:
   关闭第一块网卡:ifconfig eth0 down
   启用第一块网卡:ifconfig eth0 up
   3) 将第一块网卡的子网掩码设置为255.255.255.0:
   ifconfig eth0 netmask 255.255.255.0(格式:ifconfig 网络设备名 netmask 子网掩码)
   我们也可以同时设置IP地址和子网掩码:
   ifconfig eth0 192.168.0.1 netmask 255.255.255.0
   4) 将第一块网卡的广播地址设置为192.168.0.255:
   ifconfig eth0 –broadcast 192.168.0.255
   5) 将第一块网卡设置为不接收多播数据包:
   ifconifg eth0 allmulti
   如果要让其接收,则使用命令:ifconfig eth0 -allmulti
   6) 查看第一块网卡的状态:
   ifconfig eth0
   如果要查看所有的网卡状态,则直接使用不带参数的ifconfig命令即可。
   ifconfig输出的状态信息是十分有用的,下面,我们就简单说明一下:
   有几个状态比较重要:
   Ø UP/DOWN:网卡是否启动了,如果是DOWN的话,那肯定无法用的;
   Ø RX packets中的errors包的数量如果过大说明网卡在接收时有问题;
   Ø TX packets中的errors包的数量如果过大说明网卡在发送时有问题;
   3.route
   route命令是用来查看和设置Linux系统的路由信息,以实现与其它网络的通讯。要实现两个不同的子网之间的网络通讯,需要一台连接两个网络路由器或者同时位于两个网络的网关来实现。
   在Linux系统中,我们通常设置路由是为了解决以下问题:该Linux机器在一个局域网中,局域网中有一个网关,能够让你的机器访问Internet,那么我们就需要将这台机器的IP地址设置为Linux机器的默认路由。
   1) 增加一个默认路由:
   route add 0.0.0.0 gw 网关地址
   2) 删除一个默认路由:
   route del 0.0.0.0 gw 网关地址
   3) 显示出当前路由表
   route

   第二类:诊断工具
   1.ping
   ping是一个最常用的检测是否能够与远端机器建立网络通讯连接。它是通过Internet控制报文协议ICMP来实现的。而现在有些主机对ICMP进行过滤,在这种特殊的情况下,有可能使得一些主机Ping不通,但能够建立网络连接。这是一种特例,在此事先说明。
   同样的,在此不罗列ping命令的所有可选参数,而是通过实例来说明一些常用的组合,需要更详细地了解的,可以通过www.linuxaid.com.cn网站在线培训的命令查询工具获得。
   1) 检测与某机器的连接是否正常:
   ping 192.168.0.1
   ping www.linuxaid.com.cn
   也就是说,我们可以用IP地址或域名来指定机器。
   2) 指定ping回应次数为4:
   在Linux下,如果你不指定回应次数,ping命令将一直不断地向远方机器发送ICMP信息。我们可以通过-c参数来限定:ping –c 4 192.168.0.1
   3) 通过特定的网卡进行ping:
   有时,我们需要检测某块网卡(系统中有多块)能否ping通远方机器。我们需要在执行ping命令时指出:
   ping –I eth0 192.168.0.1
   2.traceroute
   如果你ping不通远方的机器,想知道是在什么地方出的问题;或者你想知道你的信息到远方机器都经过了哪些路由器,可以使用traceroute命令。顾名思义:trace是跟踪,route是路由,也就是跟踪路由。
   使用这个命令很简单:
   traceroute 远程主机IP地址或域名
   这个命令的输出类似:
   1 路由器(网关)的IP地址 访问所需时间1 访问所需时间2 访问所需时间3
   2 路由器(网关)的IP地址 访问所需时间1 访问所需时间2 访问所需时间3
   ………
   1) 最前面的数字代表“经过第几站”;
   2) 路由器(网关)的IP地址就是“该站”的IP地址;
   3) 访问所需时间1、2、3是指访问到这个路由器(网关)需要的时间。

   3.netstat
   在Linux系统中,提供了一个功能十分强大的查看网络状态的工具:netstat。它可以让您得知整个Linux系统的网络情况。
   1)统计出各网络设备传送、接收数据包的情况:
   使用命令:netstat –i
   这个命令将输出一张表,其中包括:
   Iface:网络接口名 MTU:最大传输单元
   RX-OK:共成功接收多少个包 RX-ERR:接收的包中共有多少个错误包
   RX-DRP:接收时共丢失多少个包 RX-OVR:共接收了多少个碰撞包
   TX-OK:共成功发送多少个包 TX-ERR:发送的包中共有多少个错误包
   TX-DRP:发磅时共丢失多少个包 TX-OVR:共接收了多少个碰撞包
   2)显示网络的统计信息
   使用命令:netstat –s
   使用这个命令,将会以摘要的形式统计出IP、ICMP、TCP、UDP、TCPEXT形式的通信信息。
   3)显示出TCP传输协议的网络连接情况:
   使用命令:netstat –t
   这个命令的输出也是一张表,其中包括:
   Local Address:本地地址,格式是IP地址:端口号
   Foreign Address:远程地址,格式也是IP地址:端口号
   State:连接状态,包括LISTEN、ESTABLISHED、TIME_WAIT等。
   4)只显示出使用UDP的网络连接情况:
   使用命令:netstat –t
   输出格式也是一样的。
   5)显示路由表:
   使用命令:netstat –r
   这个命令的输出与route命令的输出相同。
  
   5.2 网络配置文件
   在Red Hat Linux 7.1中有一些用于存放网络配置的文件:
   1./etc/hosts
   在该文件中存放的是一组IP地址与主机名的列表,如果在该列表中指出某台主机的IP地址,那么访问该主机时将无需进行DNS解析。
   2./etc/host.conf
   该文件用来指定域名解析方法的顺序,如:
   order hosts,bind
   它说明,首先通过/etc/hosts文件解析,如果在该文件中没有相应的主机名与IP地址的对应关系,再通过域名服务器bind进行解析。
   3./etc/resolv.conf
   在该文件中存放域名服务器的IP地址。
   4./etc/protocols
   Red Hat Linux 7.1系统使用该文件辨别本主机使用的,并通过它完成协议和协议号之间的映射,用户不应修改该文件。
   5./etc/services
   该用户用于定义现有的网络服务,用户无需修改它,它通常由安装网络服务的程序来维护。该文件包括网络服务名、网络端口号和使用的协议类型,其中网络端口号和使用的协议类型之间有一个斜杠分开,在设置行的最后还可以添加一些服务的别名。
   5./etc/xinetd.d目录
   在Linux系统中有一个超级服务程序inetd,大部分的网络服务都是由它启动的,如chargen、echo、finger、talk、telnet、wu-ftpd等…,在7.0之间的版本它的设置是在/etc/inetd.conf中配置的,在Red Hat 7.0后,它就改成了一个xinetd.d目录。
   在xinetd.d目录中,每一个服务都有一个相应的配置文件,我们以telnet为例,说明一下各个配置行的含义:
   service telnet
   {
   socket_type=stream
   wait=no
   user=root
   server=/usr/sbin/in.telnetd
   log_on_failure+=USERID
   disable=yes
   }
   第一行,说明该配置用来设置telnet服务。
   第二行,说明Socket连接类型是stream,也就是TCP
   第三行,是指不等待到启动完成
   第四行,是指以root用户启动服务进程
   第五行,是指服务进程是/usr/sbin/in.telnetd
   第六行,是用于做一些出错日志
   第七行,是指禁止远方telnet,如果需要开放则将该配置改为:disable=no
  修改了xinetd的配置,需要重启xinetd才能够生效,有两种方法可以实现:
   1) 执行如下命令:
   /etc/rc.d/init.d/xinetd restart
   2) 执行如下命令:
   killall –HUP xinetd
  
   5.3 网络服务访问限制
   在Red Hat Linux 7.1中加强了网络安全的防范,如果你安装时安全等级不是在最低一级的话,那么本机之外的所有访问都可能被拒绝。这是因为在Red Hat 7.1中做了一些默认的ipchains设置,这是Linux内置的防火墙机制,它可以使用一些规则来允许或禁止某种访问。
   它的规则存放在/etc/sysconfig/ipchains文件中,如果你想让它暂时不生效,那你可以运行/etc/rc.d/init.d/ipchains stop,那么所有的规则都被取消,所有的网络访问都将被允许。
   你可以运行/etc/rc.d/init.d/ipchains status来获知现在对网络访问的限制。关于这方面的知识,本文限于篇幅无法详细介绍,有兴趣的读者可参考《Linux防火墙》一书。

   5.4 WEB服务器
   在Linux系统中最适合于做服务器的当数Apache,Red Hat Linux 7.1中集成了Apache 1.3.19版,你只要在安装时选中WEB服务器,那么系统将自动完成Apache服务器的安装,在默认情况,WWW服务就已经启动了。
  如果你在安装时没有选择WEB服务器包,那也没有关系,你只需执行以下命令即可:
   1) 将Red Hat Linux 7.1安装光盘的第一张放入光驱,然后执行如下命令:
   # mount /mnt/cdrom
   2) 转到apache安装文件所在目录:
   # cd /mnt/cdrom/RedHat/RPMS
   3) 使用RPM完成安装:
   # rpm –ivh apache-1.3.19-5.i386.rpm
   现在,你就已经拥有一个基于Linux的WEB服务器了,它的配置文件位于/etc/httpd/conf目录下,你可根据需要进行相应的修改,修改完后执行:/etc/rc.d/init.d/httpd restart即可。而WEB服务的主目录则在/var/www/html目录下,你可以将你的WEB页传到这里就可以更新了。
   而如果每一个用户都想要拥有一个自己的主页的话,则:
   1) 首先在自己的用户主目录下建一个public_html目录:
   # cd
   # mkdir public_html
   2) 然后将自己的用户主目录的权限改为大家可读
   # chmod 755 用户主目录
   3) 这样你就可以使用“localhost/~用户名/”访问到每个用户的主页了。
  
   5.5 FTP服务器
   在Red Hat Linux 7.1中集成了Wu-FTP 2.6.1做为FTP服务器,在你安装时只要选择了FTP包的话,那么你的Linux服务器就是一台FTP服务器了,如果当时没有安装的话,也没有关系,跟安装apache一样:
   1) 将Red Hat Linux 7.1安装光盘的第一张放入光驱,然后执行如下命令:
   # mount /mnt/cdrom
   2)转到wu-ftp安装文件所在目录:
   # cd /mnt/cdrom/RedHat/RPMS
   3)使用RPM完成安装:
   # rpm –ivh wu-ftp-2.6.1-16.i386.rpm
   由于FTP服务是由xinetd超级服务器创建的,所以关于FTP服务器的配置在/etc/xinetd.d目录下的wu-ftpd文件中:
   service ftp
   {
   socket_type=stream
   wait=no
   user=root
   server=/usr/sbin/in.ftpd
   server_args=-l –a
   log_on_success+=DURATION USERID
   log_on_failure+=USERID
   nice=10
   disable=no
   }
   下面,我们介绍一些关于FTP服务器的管理方法:
   1、 暂时关闭FTP服务
   有两种方法可以使FTP服务暂停:
   1) 以root用户身份执行:
   # ftpshut now
   这样就会在/etc目录下生成一个shutmsg的文件,这时FTP服务器将无法使用,直到你删掉这个文件。
   2) 修改配置文件/etc/xinetd.d/wu-ftpd,将disable=no改为disable=yes,然后重启xinetd。
   2、 禁止某用户使用FTP服务
   有两种方法可以禁止某用户使用FTP服务器:
   1) 在/etc/ftpuser中写入该用户帐号名
   2) 在/etc/ftpaccess中写入一行配置:
   deny-uid 用户名
   用这种方法还可以禁止一个组的用户使用
   deny-gid 组名
   3、 禁止匿名用户(anonymous)登录FTP服务器
   有许多种方法可以实现,但我觉得最简单有效的方法就是将anonymous写入配置文件:/etc/ftpuser中,就可了。

   5.6 文件服务器
   我们还可以使用Red Hat Linux 7.1内置的Samba为局域网内的Windows主机做文件服务器。如果在安装系统时选择了SMB服务器软件包的话,那么安装完以后,Samba服务就已经Ready了。
   不过为了方便配置,建议安装一下swat,它提供了一个WEB界面的配置工具。它的安装包是第二张光盘的/RedHat/RPMS/samba-swat-2.0.7-36.i386.rpm。
   安装完以后,它会在xinetd.d目录中新建一个swat文件,其内容为:
   service swat
   {
   port=901
   socket_type=stream
   wait=no
   only_from=127.0.0.1
   server=/usr/sbin/swat
   log_on_failure+=USERID
   disable=yes
   }
   我们看到disable的值是yes,也就是说,现在swat还没有启用,因此,我们需要将其改为disable=no,然后重启xinted。另外,由于这里有一句:
   only_from=127.0.0.1
   说明只能在本机使用swat,而如果你想在Windows中用IE来配置的话,请将这句注释掉或删掉。
   下面,我们以设置一个大家都可以访问的homes目录为例,说明SWAT的设置方法:
   1) 打开IE浏览器,在地址栏上输入Linux的主机名或IP以及“:901”,例如:
   http://192.168.0.1:901
   2) 如果连接正常,将出一个登录提示窗,要求输入用户名与密码,在此以root为用户名,并输入root用户的密码,再单击确定;
   3) 如果输入无误,将出现Samba的配置界面:Swat的首页;
   我们可以看到在Swat界面中,最上面有7个图标,分别是:HOME(首页)、GLOBALS(全局设置)、SHARES(共享设置)、PRINTERS(打印机)、STATUS(状态)、VIEW(查看)、PASSWORD(密码)
  4) 首先,我们单击GLOBALS图标,将出现GLOBALS设置页面,其中我们对以下几项进行设置:
  Ø BaseOption à Workgroup:在些输入工作组名(如NetBIOS中的工作组名)
  Ø BaseOption à Netbios name:主机名
  Ø SecurityOption à Security:选择安全等级,在些选择“SHARE”
  Ø SecurityOption à hosts allow:允许的主机,通常写入你的网络号,如192.168.0.
  Ø SecurityOption à hosts deny:如果你不让某台机器使用,则写入它的IP地址
  修改完后,点击“Commit Changes”按钮(在7个图标的下边一些),保存设置。
  5) 然后,单击SHARES图标,进行共享设置:
  第一步:在Create Share按钮的右边文本框中输入要设置的共享名
  第二步:单击“Create Share”按钮;
  第三步:确认“BaseOptions à Path的值为你想共享的目录,例如/home/smb/test(注意这必须是已经存在的目录);
  第四步:将“SecurityOptions à writeable”的值设置为Yes,使该目录共享为可写;
  第五步:将“SecurityOptions à guest ok”的值设置为Yes,使该目录无需密码访问;
  第六步:在“SecurityOptionsàhosts allow、hosts deny”中设置相应的主机IP;
  第七步:将“BrowseOptionsàbrowseable”设置为Yes,使其便于使用
  最后,点击“Commit Changes”按钮,保存设置。
  现在,我们就可以在Windows 9x上通过网络邻居访问到这台Samba服务器,并且有一个可读、可写的共享目录。
  在平时使用的时间,系统管理员可以点击“STATUS”按钮,切换到状态页面对其进行监测,在这个页面上,你可以:
  1) 启动(Start smbd按钮)、停止Samba(Stop Smbd按钮)服务,以及重启服务(Restart smbd按钮);
  2) 另外,你可以看到当前与Samba服务器建立的连接(Active Connections),并且可以按下“X”按钮,中止它的访问;
   3) 同时你还可以检测到正在访问的文件夹(Active Shares),正打开的文件(Open Files)。
  Samba服务还可以对用户进行认证,与Window NT域进行集成等强大的功能,在些限于篇幅就不详细介绍,有兴趣的读者可以参考《实战Samba》一书。

  后记
  通过一段时间的使用,发现Red Hat Linux 7.1无论安装还是使用,都越来越注重易用性,大量使用了华丽的图形界面,大有发兵桌面之势。而且集成了大量软件的最新版,可谓性能卓越,不过可谓“成也萧何、败也萧何”,我在试用的过程出现了一次启动KDE时死机(这可是在以前的版本中难得一见的!)造也了系统崩溃,估计是XFree86 4的BUG造成的。另外,优秀的图形界面使得整个X Window变成十分缓慢,所以说易用性与性能总是无法两全的。
   不管怎么说,从Red Hat Linux 7.1丰富的应用软件,高效的网络性能,较好的图形界面都说明Linux越来越成熟,相信在众多知名IT厂商的大力扶持下,将迎来美好的明天。

(0)

相关推荐

  • linux入门教程 第5章:网络应用

    5.1 常用网络命令 在Red Hat Linux 7.1系统提供了与网络相关的工具,掌握好这些工具是十分必要的: 第一类:设置工具 1.netconf: netconf是Red Hat Linux提供的Linuxconf的一部分,主要用于设置与网络相关的参数.它可以在consle下运行(文本菜单),也可以在X-Window中运行(图形界面).在前面,我们介绍过了netconf的一些应用,它的使用比较简单,只要认识上面的英文就可以了,所以在此就不再多说.BTW,如果你设置好了X-Window的话

  • linux入门教程 第2章 安装指南

    第2章:安装指南 2.1 安装前的准备 1.收集系统资料:为了能够顺利安装和设置Linux系统,你必须将以下资料记录在案,以备系统安装时使用: 硬盘:数量, 容量和类型: 内存:您的计算机所装内存的数量: CD-ROM:接口类型(IDE, SCSI): SCSI卡:卡的型号: 网卡:网卡的型号: 鼠标:鼠标的类型(串口.PS/2.总线型),协议(Microsoft,Logitech, MouseMan, 等等),按键的数量,对串口鼠标还要知道它接在哪个串口: 显示卡:显示卡的型号(或者它用的芯片

  • linux入门教程 第3章 rh使用指南

    第3章:Red Hat Linux 7.1使用基础 3.1 登录和退出系统 1. 启动系统 通常LILO是安装在MBR上的,计算机启动后,MBR上的程序被执行,将出现一个不是很漂亮的图形:左边是一个小红帽图像,右边列出了可以启动的操作系统,你可以使用键盘箭头切换.刚安装好后默认值是Linux,也就是你不选择,一会儿将自己启动Linux. 如果你想默认的选择是Windows的话,那你可以在启动Linux后,用vi修改/etc目录下的lilo.conf文件,加上default=windows,然后再

  • linux入门教程 第4章 X-Window与汉化

    4.1 X-Window简介 要想成为一套优秀的操作系统,除了性能稳定.功能齐全之外,还应该拥有一个友好的操作系统,否则只会呆在研究室里,难以普及. 在UNIX系统下,大多都是采用X Window做为图形界面的.1984年,麻省理工学院与DEC制定了Athena计划,这就是X Window 第一个版本.1988年1月成立了一个非盈利性的X联盟,负责制定X Window的标准.在Linux出现后,Xfree86 Project Inc.基于Linux实现了一个开源的X Window系统:XFree

  • linux入门教程1 系统简介

    1994年,Young和Mark Ewing创建了Red Hat公司,并创造了全球使用最广泛的Red Hat Linux套件,为Linux的普及立下了汗马功劳,笔者也是跟随着Red Hat的带领下走进Linux世界的.Red Hat取得了辉煌的成绩,甚至许多Linux发行公司还采用了许多Red Hat Linux的代码,如Mandrake.SOT Best.Connectiva.Abit和Kondara.可以说,Red Hat在某种意义上几乎成了Linux的代名词. 2001年4月16日,Red

  • Linux Shell 脚本编程入门教程

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一. Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh).Bourne

  • OpenStack云计算快速入门教程(1)之OpenStack及其构成简介

    该教程基于Ubuntu12.04版,它将帮助读者建立起一份OpenStack最小化安装.我是五岳之巅,翻译中多采用意译法,所以个别词与原版有出入,请大家谅解.我不是英语专业,我觉着搞技术最重要的就是理解,而不是四级和考研中那烦人的英译汉,所以我的目标是忠于原意.通俗表达,Over.英文原文在这里(http://docs.openstack.org/es@***/openstack-compute/starter/content/ ,请将ex@***中的@去掉,CU屏蔽的F词),下面步入正题: 第

  • joomla组件开发入门教程

    本文讲述了joomla组件开发知识点.分享给大家供大家参考,具体如下: 在你进行编码之前,有一些文件和文件夹需要创建和一些查询语句需要运行.你不但可以创建组件而且不用额外的配置就可以尝试不同的特性.你也可以看到Joomla!组织和访问组件方法的概况.最后,你会像其它组件一样加入工具栏. Joomla!组件的结构 Joomla!的所有组件都遵守指定的命名约定.每个系统组件都有唯一的名字,名字不要包括空格.代码分成两个文件夹,文件夹以com_开头,紧接着就是组件的名字.因此,你要创建两个相同名字的c

  • Python简明入门教程

    本文实例讲述了Python简明入门教程.分享给大家供大家参考.具体如下: 一.基本概念 1.数 在Python中有4种类型的数--整数.长整数.浮点数和复数. (1)2是一个整数的例子. (2)长整数不过是大一些的整数. (2)3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4. (4)(-5+4j)和(2.3-4.6j)是复数的例子. 2.字符串 (1)使用单引号(') (2)使用双引号(") (3)使用三引号('''或"&q

  • python爬虫入门教程--优雅的HTTP库requests(二)

    前言 urllib.urllib2.urllib3.httplib.httplib2 都是和 HTTP 相关的 Python 模块,看名字就觉得很反人类,更糟糕的是这些模块在 Python2 与 Python3 中有很大的差异,如果业务代码要同时兼容 2 和 3,写起来会让人崩溃. 好在,还有一个非常惊艳的 HTTP 库叫 requests,它是 GitHUb 关注数最多的 Python 项目之一,requests 的作者是 Kenneth Reitz 大神. requests 实现了 HTTP

随机推荐