Linux
网络基础
常见的协议有
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 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
添加到系统登记表中
}