Linux 网络基础 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

常见的协议有 FTP (文件传输协议,用于实现互联网中交互式文件传输功能)、 Telnet( 远程登陆协议,用于实现互联网中的远程登陆功能 ) SMTP (简单邮件传输协议,用来实现互联网中电子邮件传送功能)、 HTTP (超文本传输协议,用于实现互联网中的 WWW 服务)、 DNS (域名解析,用于实现主机名与 IP 地址之间的映射)、 NFS (网络文件系统,用于网络中不同主机间的文件共享)、 SMB (服务信息块,用于 Windows 主机与 Linux 间的文件共享)

2. 网络接口:为了使用外围设备的响应接口,在 Linux 核心文件 (kernel) 中都有相应的名字

Lo :本地回送接口用于网络软件测试以及本地机进程间的通讯

Ethn :以太网接口

Pppn: n PPP 接口, PPP 接口按照与它们有关的 PPP 配置顺序连接在串口上

3.IP 地址和域名、子网掩码、路由选择、地址转换与反转换

一、配置 TCP/IP 网络

横块配置文件用于在 Linux 系统启动时加载系统所需的硬件驱动模块, RH9 模块配置文件的全路径名为 "/etc/modules.conf" 例: grep eth /etc/modules.conf

alias eth0 pcnet32 当前系统的网卡 eth0 所使用的驱动模块名称为 "pcnet32"

TCP/IP 参数:所有的网络参数都是通过配置文件生成的。

1. 配置网卡: /etc/syscnfig/network-scripts/ifcfg-eth0 文件

   DEVICE=eth0        物理设备名字

   BOOTPROTO=static|dhcp|bootp 静态的 | 使用 DHCP 协议 | 使用 BOOTP 协议

   BROADCAST=192.168.1.255     广播地址

   IPADD=192.168.1.67          表示 IP 地址

   NETMASK=255.255.255.0       子网掩码

   NETWORK=192.168.1.0         网络号

   ONBOOT=yes|no               表示系统启动时是否激活该网卡

/etc/rc.d/init.d/network restart       重新启动网卡

2./etc/sysconfig/network   指定服务器上网络配置信息

   NETWORKING=yes|no          网络是否被配置

   HOSTNAME=linux9            服务器主机名

   GATEWAY=192.168.1.1        网络网关的 IP 地址。

3.DNS 客户配置文件 /etc/resolv.conf 设置 DNS 服务器

   nameserver 192.168.1.2    表示解析域名时使用该地址指定的主机为域名服务器,最多指定于个 DNS 服务器

   domain abc.com 指定当前主机所在域的域名

4. 名称解析顺序 /etc/host.conf    指定主机名的解析顺序

   order  hosts,bind  表示先查询 /etc/hosts/ 文件,再使用 DNS 来解析主机名

   multi on       指定是否 /etc/hosts 文件中指定的主机可以有多个地址

   nospoof on     指不允许对该服务器进行 IP 地址欺骗

5.HOST 文件配置 /etc/hosts     主机名与 IP 地址的映射

Linux8 localhost.localdomain localhost

166.111.219.157 wnt-hp

166.111.219.181 wnt-sun

. 网络相关命令

1."ipconfig" 

显示当前活动的网卡设置 #ifconfig

#ifconfig -a   显示系统中所有网卡的信息

#ifconfig 网卡设备名称 #ifconfig lo|eth0

#ifconfig 网卡设备名称 up|down 用于启动 | 停止系统中指定的非活动网卡

设置网卡的的 IP 地址 ifconfig 网卡设备名称 IP 地址 #ifconfig eth0 192.168.2.57

2.ifup 启动指定的非活动网卡设备

ifup|ifdown 网卡设备名 ifup|ifdown eth0

3.route: 显示和动态修改系统当前的路由表信息

#route 显示路由信息

#route add -net  网络地址 netmask 子网掩码 dev 网卡设备名 #route add -net <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />10.0.0.0 netmask 255.0.0.0 dev eth0

#route del -net 网络地址 netmask 子网掩码 route del -net 10.0.0.0 netmask 255.0.0.0

#route add default gw 网关 IP 地址 dev 网卡设备名 #route add default gw 192.168.2.1 dev eth0

#route del default gw 网关 IP 地址 route del default gw 192.168.2.1

4.ping

ping [-c 发出报文数 ] 目的主机地址 该命令通过向被测试的目的主机地址发送 ICMP 报文并收取回应报文,来测试当前主机到目的主机的网络连接状态

ping 192.168.2.57 Ctrl+C 组合键停止当前命令

4.nslookup 用于使用系统设定的 DNS 服务器解析域名 , 该命令有交互式查询方式和命令行查询方式

5.netstat

交互式查询方式

nslookup

>[url]www.abc.com[/url]

>192.168.2.57

>exit

命令行查询方式 :nslookup 主机域名 |IP 地址 #nslookup [url]www.abc.com[/url] #nslookup 192.168.2.57

7.netstat

#netstat -i                快速检查接口状态信息

#netstat -t                显示所有活动的 TCP 连接

#netstat -vat              显示所有活动和被监听的 TCP 连接

. 守护进程和 xinetd

1. 守护进程: Linux 系统上提供服务的程序是由运行在后台的守护程序 daemon 来执行的,它在后台守护程序在系统开机后就运行了,并且在时刻地监听前台客户的服务请求,一旦客户发出了服务请求,守护进程便为它们提供服务

2.Red Hat Linux9 的守护进程

named DNS 服务器, mysqld 一种数据库服务器 ,network 激活已配置网络接口的脚本程序, nfs 打开 NFS 服务 ,random 提供高质量的随机数生成 ,routed 路由守候进程,使用动态 RIP 路由选择协议 ,smbd Samba 文件共享打印服务 ,snmd 本地简单网络管理服务进程 ,xinetd 支持多种网络服务的核心守护程序

3. 守护进程的工作原理

网络程序之间的连接是通过端口之间的连接而实现的 , C/S 模型中,服务器守护进程的工作首先打开一个端口,并且等待 (Listen) 进入的连接,如果客户提请了一个连接,守护进程就创建 (fork) 子进程来响应此连接,连接成功之后客户机与服务器通过端口进行数据通信 . 而父进程继续监听更多的服务请求 . 对于系统所要提供的每一种服务,都必须运行一个监听某个端口连接发生的守护程序,造成了系统资源的浪费 , 为此 UNIX 类系统都运行了一个 " 网络守护进程服务程序 ( 超级服务器 )" 的概念,它为许多服务创建套接字 (Socket), 并且使用 Socket 系统调用同时监听所有这些端口 , 当远程系统请求一个服务时,网络守护进程服务程序监听到这个请求并且会产生该端口的服务器程序为客户提供服务 ,Red Hat 9 使用的守护进程服务程序 xinetd(extended internet daemon).

4. 守护进程的运行方式

独立运行的守护进程 : 独立运行的守护进程由 init 脚本负责管理,其脚本存放在 /etc/rc.d/init.d/ 目录下 , 所有的系统服务都是独立运行的如 syslogd xinetd

由网络守护进程服务程序运行的守护进程 : 要运行的守护进程由 xinetd 启动 , xinetd 管理的守护进程的配置文件存入放在 /etc/xinetd.d/ 目录下 , 默认的 xinetd 的主配置文件是 /etc/xinetd.conf,xinetd 本身是独立运行的守护进程,由 xinetd 监控的网络服务如 telnet talk 等。但对于服务质量很大的守护进程如 HTTP 服务、 FTP 服务将影响到其他服务的运行,同时也影响所提供服务的响应,为此,常用的知名网络服务的守护进程需要单独启动 ,pstree

5.xinetd: 与早期的 intetd+tcp_wrapper 的功能相比更加强大和安全,其功能是:

支持对 tcp udp RPC 服务

基于时间段的访问控制

功能远备的 log 功能

能有效的防止 DoS(Denial of Service) ***

能限制启动的所有服务器数目

能限制 log 文件大小

将某个服务绑定在特定的系统接口上从而能实现只允许私有网络访问某项服务

能实现其作为其它系统的代理

6.xinetd 提供的服务程序由 /etc/services 文件指出,它说明了 xinetd 可提供服务的端口号和名字,实际启动相应的守护进程去处理则需要另外的配置文件 /etc/xinetd.conf /etc/xinetd.d/*

7./etc/xinetd.conf 该文件使用 defaults{......} 项为所有服务指定缺省值

defaults{instances =60 表示 xineted 可以同时运行的最大进程数 log_type 的设置中指定使用 syslogd 进行服务登记 log_on_success 指定成功时,登记客户机 IP 地址和进程的 PID log_on_failure} includedir /etc/xinetd.d 指定每种服务的配置文件存放在 /etc/xinetd.d 目录下,并将其加载

telnet 服务 service telnet{disable=yes|no 表示当前不允许这项服务 flags=REUSE 表示当中断或重启 xinetd ,TCP/IP Socket 可重用 socket_type=stream 表示使用 TCP Socket 类型 wait=no 表示为该服务提供多线程的功能 user=root 表示设置进程的 UID server=/usr/sbin/in.telnetd 该项服务程序的完整路径 log_on_failure ==USERID 表示将失败的 UID 添加到系统登记表中 }