Linux网络管理8
8.1 计算机网络基础计算机网络是通过外围的设备和连接,将分布在相同或不同区域的多台计算机连接在一起所形成的集合。网络中的计算机实现彼此间互相通信,并且可以共同使用硬件、软件和数据资源,实现资源共享。
OSI参考模型
OSI:开放系统互连参考模型( Open System
Interconnection Reference Model,OSI/RM)。
OSI参考模型分为 7层。
( 1)物理层( Physical Layer)
( 2)数据链路层( Data Link Layer)
( 3)网络层( Network Layer)
( 4)传输层( Transport Layer)
( 5)会话层( Session Layer)
( 6)表示层( Presentation Layer)
( 7)应用层( Application Layer)
TCP/IP参考模型
TCP传输控制协议( Transmission Control Protocol
) IP网际协议( Internet Protocol)
( 1)网络接口层
( 2)网际层
( 3)传输层
( 4)应用层
TCP/IP中的协议
IP1
TCP2
UDP3
ICMP4
IP地址
IP地址由 32位二进制组成,常用 4个十进制数来表示,并用小数点分开,每个十进制数表示一个 8位二进制数的值。
( 1) A类 1-126
( 2) B类 128-191
( 3) C类 192-223
8.2 Linux网络配置
Linux的网络配置依靠命令和配置文件来完成,熟练的掌握网络命令和配置文件的用法,就可以对网络相关的部分进行有效管理。
8.2.1 基本网络命令 netconfig
netconfig命令用来设置 Linux系统的网络,包括配置
IP地址、网关地址,DNS地址,以及是否使用动态地址分配等。
# netconfig
ifconfig
ifconfig命令用来显示网络接口(网卡)目前的设置或设置网络接口。
命令格式为,ifconfig网络接口 [参数 ]
例 1:使用 ifconfig查看当前系统中的网络接口。
# ifconfig
参 数 选 项 说 明
netmask<子网掩码 > 设置网络设备的子网掩码
up 启动指定的网络设备
down 关闭指定的网络设备
IP地址 指定网络设备的 IP地址
ping
ping命令是最常用的网络测试命令,该命令通过向被测试的目的主机地址发送 ICMP报文并收取回应报文,来测试当前主机到目的主机的网络连接状态。
ping命令格式如下,ping [参数 ] 目的主机地址参 数 说 明
-c<完成次数 > 设置完成要求回应的次数
-i<间隔秒数 > 指定收发信息的间隔时间
-R 记录路由过程
-s<数据包大小 > 设置数据包的大小
-t<存活数值 > 设置存活数值 TTL的大小
ping(续 1)
例 1:从本机测试与远程主机 192.168.100.4是否连通正常。
# ping -c 5 192.168.100.4
netstat
netstat命令用来显示各种各样的与网络相关的状态信息,它的主要用途有:察看网络的连接状态、检查接口的配置信息、检查路由表、取得统计信息。
netstat的命令格式为,netstat [参数 ]
参 数 说 明
-a 显示所有连接中的套接口
-c 持续列出网络状态
-i 显示网络界面信息表单
-n 直接使用 IP地址
-N 显示网络硬件外围设备的符号连接名称
-s 显示网络工作信息统计表
-t 显示 TCP传输协议的连接状况
netstat(续 1)
例 1:显示网络状态。
[root@lab9 network-scripts]# netstat
例 2;显示当前网络接口的信息情况。
[root@lab9 network-scripts]# netstat –I
例 3:显示当前所有的 TCP信息,列出地址和端口
# netstat -antp
例 4:显示当前所有的 UDP信息,列出地址和端口
# netstat -anup
route
route命令可以查看配置 Linux系统上的路由信息,命令格式为:
显示路由,route [-n]
添加路由,route add[网络 /主机 ] 目标网络 /主机
netmask 子网掩码 gw网关 dev设备名删除路由,route del [网络 /主机 ] 目标网络 /主机
netmask 子网掩码 gw网关 dev设备名
route(续 1)
例 1:查看系统路由信息
# route
例 2:为路由表添加网络 192.168.200.0,子网掩码为
255.255.255.0,
# route add -net 192.168.200.0 netmask
255.255.255.0 gw 192.168.100.250 dev eth0
例 3:添加系统网关记录 192.168.100.250
# route add default gw 192.168.100.250
traceroute
traceroute命令用于跟踪本地和远程两台主机间的 UDP路由数据报。命令格式为:
traceroute [选项 ] 主机名称或 IP地址 [数据包大小 ]
例 1:跟踪本地机器到 202.206.16.4的路由。
# traceroute 202.206.16.4
参数选项 说 明
-g<网关 > 设置来源路由网关
-n 直接使用 IP地址而非主机名称
-p<通信端口 > 设置 UDP传输协议的通信端口
-s<来源地址 > 设置本地主机送出数据包的 IP地址
-w<超时秒数 > 设置等待远端主机回报的时间
nslookup
nslookup是一条查询 DNS的用户级命令。
主要选项:
exit:退出 nslookup命令。
lserver:查找指定的域名服务器并将其设置为默认的域名服务器。
server:解析另一台域名服务器并将其设置为默认的服务器。
set:修改工作参数。
nslookup(续 1)
例 1:查询指定网址 www.neuq.edu.cn(东北大学秦皇岛分校)的 DNS记录。
# nslookup
> www.neuq.edu.cn
Server,202.206.16.2
Address,202.206.16.2#53
www.neuq.edu.cn canonical name = www1.neuq.edu.cn.
Name,www1.neuq.edu.cn
Address,202.206.16.4
dig
dig(域信息搜索器)命令是一个用于询问 DNS域名服务器的工具。它执行 DNS搜索,显示从接受请求的域名服务器返回的答复。
dig [选项 ] [主机 IP]
-b address:设置所要询问地址的源 IP地址。
-p port:指定非标准的端口号
-t type:设置查询类型为 type,缺省查询类型是 A。
dig(续 1)
例 1:解析域 yahoo.com(雅虎)的主机记录
# dig yahoo.com; <<>> DiG 9.2.5 <<>> yahoo.com;; global options,printcmd;; Got answer:;; ->>HEADER<<- opcode,QUERY,status,NOERROR,id,52286;; flags,qr rd ra; QUERY,1,ANSWER,2,AUTHORITY,7,ADDITIONAL,2;; QUESTION SECTION:;yahoo.com,IN A;; ANSWER SECTION:
yahoo.com,300 IN A 216.109.112.135
yahoo.com,300 IN A 66.94.234.13
8.2.2 网络配置文件
( 1)网络设置文件 /etc/sysconfig/network
( 2) 网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0
( 3) IP地址和主机名映射文件 /etc/hosts
( 4)配置名字解析器文件 /etc/host.conf
( 5)端口号和服务器名的映射文件 /etc/services
( 6)配置 DNS客户文件 /etc/resolv.conf
8.3 Telnet服务
Telnet是 Internet远程登陆服务的标准协议。应用 Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:
( 1)定义了一个网络虚拟终端为远程系统提供一个标准接口。
( 2)包括一个允许客户机和服务器协商选项的机制
( 3)对称处理连接的两端。
8.3.1 Telnet服务应用
1.安装 Telnet软件包
#rpm –ivh telnet-server-0.17-25.i386.rpm
2.启动 Telnet服务
( 1)开启服务
# ntsysv
在出现的窗口之中,将 telnet前面加上 *,然后按下 OK
( 2)激活服务
# service xinetd restart
Telnet服务应用(续 1)
3.测试 Telnet服务
[root@lab9 root]#telnet ip(或者 hostname)
4.设置 Telnet端口
[root@lab9 root]#vi /etc/services
进入编辑模式后查找如下内容:
telnet 23/tcp
telnet 23/udp
将 23修改成未使用的端口号(如 2000)。
8.4 OpenSSH服务配置
SSH的英文全称是 Secure SHell。
传输的数据加密,阻止攻击,防止 DNS和 IP欺骗。
传输的数据是经过压缩的,所以可以加快传输的速度
SSH分为两部分:
客户端部分
服务端部分配置 OpenSSH服务器
# rpm -ivh openssh-3.5p1-6.i386.rpm
# rpm -ivh openssh-askpass-3.5p1-6.i386.rpm
# rpm -ivh openssh-askpass-gnome-3.5p1-
6.i386.rpm
# rpm -ivh openssh-clients-3.5p1-6.i386.rpm
# rpm -ivh openssh-server-3.5p1-6.i386.rpm
使用 OpenSSH客户端
( 1)使用 ssh命令
ssh命令是 rlogin,rsh和 telnet命令的安全替换。它允许在远程机器上登录并在其上执行命令。
# ssh 192.168.100.2
使用 OpenSSH客户端(续 1)
( 2)使用 scp命令
scp命令可以用来通过安全、加密的连接在机器间传输文件。
把本地文件传输给远程系统是:
# scp test student@192.168.100.2:/home/student
远程文件传到本地系统是:
# scp /downloads/*
student@192.168.100.2:/uploads/
使用 OpenSSH客户端(续 2)
( 3)使用 sftp命令
sftp工具可以用来打开一次安全互动的 FTP会话。它的一般语法是:
sftp username@hostname.com
生成钥匙对
( 1)为版本 2生成 RSA钥匙对要生成 RSA钥匙对与协议的版本 2合作,在 shell提示下键入下列命令:
# ssh-keygen -t rsa
使用 chmod 755 ~/.ssh命令改变用户的,ssh目录的许可权限。
把 ~/.ssh/id_rsa.pub的内容复制到想连接机器的
~/.ssh/authorized_keys文件中。
生成钥匙对(续 1)
( 2)为版本 2生成 DSA钥匙对要生成用于协议的版本 2的 DSA钥匙对,在 shell提示下键入:
# ssh-keygen -t dsa
使用 chmod 755 ~/.ssh命令改变用户的,ssh目录的许可权限。
把 ~/.ssh/id_dsa.pub的内容复制到想连接机器的
~/.ssh/authorized_keys文件中。
生成钥匙对(续 2)
( 3)为版本 1.3和 1.5生成 DSA钥匙对要生成 RSA(版本 1.3和 1.5协议)钥匙对,在 shell提示下键入:
# ssh-keygen -t rsa1
使用 chmod 755 ~/.ssh和 chmod 644
~/.ssh/identity.pub命令改变用户的,ssh目录和密钥的许可权限。
把 ~/.ssh/identity.pub的内容复制到想连接机器的
~/.ssh/authorized_keys文件中。
配置 ssh-agent
ssh-agent可以用来储存用户的口令,在每次使用 ssh
或 scp连接时就不必总是输入它。
# exec /usr/bin/ssh-agent $SHELL
# ssh-add
注销后,口令就会被忘记。
8.5 VNC服务
VNC( Virtual Network Computing,虚拟网络计算工具)是可操控远程计算机的软件。它采用了
GPL授权条款,任何人都可免费取得该软件。
VNC server与 VNC viewer支持多种操作系统,
如 Unix系列( Unix,Linux,Solaris等),
Windows及 MacOS,因此可将 VNC server 及 VNC
viewer分别安装在不同的操作系统中进行控制。
安装设置 Linux系统的 VNC
安装 VNC
# tar zxvf vnc-3.3.6-x86_linux.tar.gz
# cd vnc-3.3.6-x86_linux //进入 vnc安装目录
#,/vncinstall /usr/local/bin //运行脚本启动 VNC Server
# /usr/local/bin/vncserver
这里需要用户设置 Server访问密码安装设置 Windwos XP系统的 VNC
启动 VNC viewer,并在文本框中输入 VNC
server的地址和桌面编号。
输入 VNC server地址后,还需要输入访问密码,
密码验证通过后,就可连接被控端机器,进行远程控制。
修改显示桌面修改 /root/.vnc/xstartup文件
# vi /root/.vnc/xstartup
1.在文件中,twm &”命令行首添加,#” 。
2.添加行,gnome-session &”,保存文件。
3.重启 VNC server,从 Windows远程连接看到的界面将变为 gnome界面。
8.6 Webmin服务
Webmin是一个基于 Web的 Unix/Linux系统管理界面。借助任何支持表格和表单的浏览器,用户就可以设置用户帐号,Apache,DNS、文件共享等功能

Webmin包括一个简单的 Web服务器和许多 CGI程序
,这些程序可以直接修改系统文件。
安装 Webmin
# tar zxvf webmin-1.380.tar.gz
解压后,进入 webmin-1.380目录,运行 setup.sh脚本进行系统设置
# cd webmin-1.380
#,/setup.sh
Webmin基本功能使用本地浏览器来访问 Webmin,出现登录界面。
http://localhost.localdomain:10000/
在登陆界面输入帐号和密码,进入 Webmin的主界面。
Webmin选项卡顶部的选项卡可以在不同窗口之间切换,所有的窗口中的模块都是可配置的。
Webmin选项卡(续 1)
Webmin窗口可以对系统进行一些基本的设置。
System窗口可以进行操作系统的总体配置,可以配置文件系统、用户、组和系统通常的引导行为
Servers窗口对系统中运行的各个服务进行配置。
Networking窗口用来配置网络硬件和网络控制
Hardware窗口用于配置物理设备
Cluster窗口中的工具用于管理集群系统
Others窗口中有各种各样的工具图