RedHatLinux新手入门教程(5)
时间:11-12
来源: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 H
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 H
- 基于AVR单片机及MODEM芯片的MTURTU无线电遥测系统设计方案(06-11)
- 基于AVR单片机及MODEM芯片的MTU、RTU无线电遥测系统设计(01-25)
- 在Linux系统中批量建立用户的shell (04-08)
- Apache Server 的 httpd.conf 文件注释(04-18)
- Apache完全安装指南(04-23)
- 在ARM Linux上使用Apache+PHP(11-09)