荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: lemontree.bbs@bbs.nankai.edu.cn (【风满楼@闭门造车】), 信区: Linux
标  题: Linux系统网络详解
发信站: 我爱南开站 (Tue Nov  5 16:01:36 2002)
转信站: SZU!news.tiaozhan.com!news.happynet.org!NanKai


Linux作为一种主要用于网络环境的操作系统,有着空前强大的网络功能。如何在Linu
x系统中安装、配置、使用网络,使其高效、安全地工作十分重要。本文对Linux主机的
网络设备的安装、配置、调试、网络服务的设置以及Linux系统的网络使用进行详细的讲
解。最后,还就Linux系统的安全性知识及技巧作简单介绍。
1. Linux下的网络安装、配置及调试
将Linux接入Internet的方法很多,最常见而且快捷方便的方法是以局域网的形式接入。
此时就涉及到Linux系统下一块或多块网卡的安装。对于以太网卡,Linux在操作系统的
安装过程中会自动检测到并自动配置内核以便系统能使用该网卡。只需根据安装程序的
提示给出tcp/ip的配置参数,如本机的ip地址、DNS的ip地址等等,安装程序将会自动把
系统支持的网卡驱动程序编译到内核中。
对于非以太网卡或者要在原有的基础上增加网卡的情况下,或者系统本身不支持现有的
网卡时,就得自己动手安装网卡了。其实这并不难,只要了解了加载网卡驱动程序的过
程。在Linux系统中,网卡的驱动程序是作为模块加载到内核中的,正因为如此,当没有
网卡的驱动程序时,可以到网上去下载驱动程序的源文件,甚至可以自己动手编写网卡
的驱动程序,然后以模块的形式将其编译到内核中去。所有Linux支持的网卡驱动程序都
存放在目录/lib/modules /Linux版本号/net/,我们可以通过修改模块配置文件来更换
网卡或增减网卡。
在etc目录下的conf.modules配置文件是加载模块的一个重要的参数文件,在这个文件中
,指明了系统要加载的网卡的驱动程序:
#/etc/conf.modules
……
alias eth0 eepro100
alias eth1 ne
options ne io=0x300 irp=5
……
这一段文字说明了该Linux系统装了两块网卡,其中alias命令指出以太网口所具有的驱
动程序的名称,即在0号以太网口需要加载的网卡驱动程序是eepro100.o,而1号以太网
口要加载的是ne.0。大家一定已经注意到了在1号口下有options一项附加命令,指明了
该网卡的io地址和中断号。这是因为对于pci网卡,系统会自动找到网卡的io地址和中断
号,所以不必用options选项来指定网卡的io地址和中断号;而对于ISA网卡,则必须要
在该配置文件中用options选项指明该网卡的io地址和中断号。
修改完conf.modules配置文件后,用命令inmod就可以以模块的形式将网卡驱动程序加载
到内核,加载完后还可以用lsmod命令来查看当前加载的模块的信息。
配置网卡的方法并非只有这一种,用命令netconf或netconfig也能完成网卡的配置工作
,netconfig命令是重新配置基本的TCP/IP参数,这些参数包括是否配置为动态获得ip地
址(dhcpd和bootp)、子网掩码、缺省网关及域名服务器地址等;netconf命令用于详细
配置所有的网络参数,包括客户端任务(主机名、有效域名、网络别名、网卡的ip地址
、网络掩码、接口名、网卡驱动程序、DNS地址、缺省网关地址、NIS地址、ipx借口,p
pp/slip等),服务器端任务(NFS、DNS、ApacheWebServer、Samba、Wu-ftpd等)和其
他配置三部分。在超级用户下键入netconf命令,然后只需根据系统给出的选项填入相应
的信息即可,同样,对于PCI网卡,甚至不必填写硬件的io地址和中断号;与此同时,你
还可以指定该网卡是否可用,其TCP/IP网络的ip地址及子网掩码等。随着Linux图形界面
的发展,同样,在Xwindows下运行该命令,Linux提供了类似于windows的方便简单的图
形配置方式。其实,在修改完conf.modules配置文件后,同样需要用命令netconf或ifc
onfig来配置TCP/IP网络参数,因为,上面的工作只是将网卡的驱动程序加载到内核中使
其可用而已。
其实,通过修改lilo.conf文件一样可以将网卡加载到系统内核。但对于一些比较新的L
inux版本来说,操作系统能够自动检测到所有相关的硬件,完全没有必要修改lilo.con
f文件。如果遇到的是ISA网卡和老的Linux版本。为了使系统初始化时能够对我们新插入
的网卡进行初始化,可以修改lilo.conf文件:
用vi命令打开lilo.conf文件,在文件中添加如下语句:
append="ether=5,0x300,eth0 ether=7,0x500,eth1"
这样,系统同样能够配置好网卡(在上面的语句中是两块)。
配置好网卡后,要做的工作就是配置和调试TCP/IP网络了。上面已经讲了,可以用命令
netconf来进行TCP/IP的参数配置。
之后,可以用ifconfig命令来调试网络。在Linux系统中,用命令ifconfig -a可以显示
系统中所有的网络接口的信息,如:
eth0 link encap:Ethernet Hwaddr 00:0E:5F:1A
inet addr:202.206.19.87 Bcast:202.206.112.3 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
PX packet:435510 errors:0 droped:0 overruns:0 frame:2
TX packet 339781 errors:0 dropped:0 overruns:0 carrier:0
Collisions:228938 txqueuelen:100
Interrupt:10 Base address 0x1800
eth1 link encap:Ethernet Hwaddr 4A:08:3D:00
inet addr:129.1.1.6 Bcast:129.0.0.0 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
PX packet:489 errors:0 droped:0 overruns:0 frame:2
TX packet 34 errors:0 dropped:0 overruns:0 carrier:0
Collisions:2 txqueuelen:100
Interrupt:9 Base address 0x1800
lo Link encapocal Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3900 Metric:1
PX packets:3880 errors:0 dropped:0 overrun:0 frame:
TX packets:3800 errors:0 dropped:0 overrun:0 carrier:0
Collisions:0 txqueue:0
ifconfig命令不但可以查看系统中网络接口的情况,还可以通过参数来配置网络,其命
令格式为:
#ifconfig 接口名 ip地址 netmask子网掩码
只是,ifconfig命令只在本次运行时改变网卡的TCP/IP网络参数,但当系统重新启动后
,系统仍然按照默认设置来启动网络接口。实际上,ifconfig命令是调用netconf来进行
网络配置的。而且,在Linux系统中,我们可以用ifconfig命令给一块网卡设置多个ip地
址,如:
#ifconfig eth0:1 202.206.16.1 netmask 255.255.255.0
然后我们用ifconfig -a命令进行查看,就会发现有两个具有相同的MAC地址但其ip地址
却不同的接口,分别为:eth0和eth0:1。
另外,我们可以将网卡设置成混杂模式(prosimc),在这个模式下,网卡接收网络中所
有的数据包。
2.常用的网络命令
计算机网络的好处就在于资源和信息共享。Linux系统为大家提供了一组功能强大的网络
命令使得用户可以方便地调试网络,查看网络状况和资源使用情况,以及远程登录和文
件传输等工作。上面介绍了网络设备的安装及网络环境的设置,下面就向大家介绍一些
常用的网络命令。
* ping
ping命令用来检查网络上某台主机是否处于活动状态,它利用TCP/IP协议簇中的ICMP协
议的ECHO_REQUEST数据包强制性地要求网络上某台特定的主机作出响应,如果不能ping
 通某台主机,证明主机和那台主机之间的网络存在故障。但ping 命令只是经过底层的
几个协议,就算能ping 通,但只能说明该条线路正常连接,并不能保证其他高层的服务
正常运行,但如果不能ping 通,则这两台主机根本不能进行任何通信。
* traceroute
traceroute命令也是用于检查网络是否能够正常通信,与ping不同的是,ping命令只能
测试出从本机到目的host是否能够通信,而traceroute命令则能测试出从本机经过了哪
些路由器或主机到达目的主机,如果不能到达,其故障具体是出在什么地方。所以我们
常常在ping不通时用该命令在进一步查找原因所在。
*netstat
netstat命令用于显示网络状态信息,其用途很广泛,可以用来察看网络连接状态、接口
配置、路由表等,并取得一些统计信息。该命令的主要参数和用途如下:
-a :显示所有配置的接口
-i :显示接口的统计信息
-n :以数字的形式显示ip地址
-r :显示内核的路由表
-s :显示计数器的值
*ifconfig
前面已经讲到了,ifconfig命令用来查看网络接口的配置情况,也用于调试网络设备是
否已经正确安装配置,或者用该命令来重新配置网络,只是用ifconfig命令配置的网络
不是永久性的,系统一旦重新启动,先前用ifconfig配置的各种参数便不复存在。
*telnet
telnet命令用于远程登录,其命令格式为:telnet 主机名(或ip地址)。通过telnet命
令登录远程计算机,就像登录到本机上执行操作一样。当然,要想远程登录到一台计算
机上,必须知道该机合法的用户名和密码。要提醒大家的一点是,当用telnet命令登录
并结束了远程会话后,一定要使用logout命令退出远程系统,以免造成意想不到的问题

*rlogin
rlogin是remote login(远程登录的缩写),与telnet命令很相似,最常用的格式为:

rlogin host
rlogin命令还带有一些参数,常用的有:
-8 :始终允许8位输入数据管道,允许发送格式化ANSI字符和其他特殊代码。
-E :禁止把任何字符当成转义字符。当该参数与-8一起使用时,便提供一个完全的透明
连接。
-L :允许rlogin会话在litout模式下运行。
-x :为所有通过rlogin会话交互的数据进行DES加密,从而提供安全性。
*ftp
ftp命令是标准的文件传输协议的用户接口,命令格式为:ftp 主机名或ip地址,用于在
TCP/IP网络上进行文件传输。ftp命令可以用来传输ASCII文件和二进制文件。同样,要
想实现ftp文件传输,你必须知道远程计算机上合法的用户名和口令,并且该用户名具有
所要传输的文件的存取权限。
*rcp
rcp是remote file copy的缩写,即远程文件拷贝,用于在计算机之间拷贝文件,其命令
格式有两种,分别用于文件到文件的拷贝和将文件或目录拷贝到另一个目录下,其一般
格式为:
rcp [-px] [-k realm] file1 file2
rcp [-px] [-r] [-k realm] file
其中,-p 是保留原文件的修改时间和模式,忽略umask;-x 对所有数据实行DES加密,
提高安全性;-k 是请求rcp获得在指定区域内的远程主机的Kerbero许可;-r 是以递归
的方式把源目录中的所有文件或目录都拷贝到目的目录中。
3. Linux的网络安全技巧
网络的安全性是非常重要的,安全的策略是禁止所有不必要的服务,以免给不法之徒留
下安全漏洞。虽然Linux本身是十分安全可靠的,但对于系统管理员来说,如何保证系统
的安全性也不是一件容易的事。下面就为大家介绍一些网络安全管理常用技巧。
*BIOS密码保护
管理员可以通过设置BIOS密码并修改引导次序来禁止别有用心的人从软盘来启动系统。

*用户口令
用户口令是Linux安全的最基本的一点。设置只有自己才知道并理解的口令是非常重要的

*修改/etc/vinetd.conf文件
一定要确保/etc/inetd.conf的所有者是root用户,且其文件权限为600,因此,务必要
查看并修改该文件。
*加强ftp的安全性
ftp是一个并不十分安全的服务,在/etc/ftpusers中限定不允许通过ftp访问Linux系统
的用户列表是非常有必要的。
*经常检查logfile
从操作系统的logfile可以检查到是否有网络入侵,应该经常去检查该文件,当发现自己
的系统有很多人或有很长时间被尝试telnet/ftp登录时,就试着运行#more /var/log/s
ecure | grep refused 去检查。
*修改/etc/exports文件
如果使用的是NFS网络文件系统,请修改etc/exports文件从而确保exports具有最严格的
存取权限设置。
*隐藏操作系统和版本信息
对于黑客来说,版本号是一个非常重要的信息。修改存放这些信息的/etc/issue文件和
/etc/issue.net文件及/etc/inetd.conf文件,从而隐藏这些敏感的信息。在/etc/inet
d.conf中加入:telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h,能
使telnet后台不再显示系统信息。
* 禁止ctl+alt+del热键重启
在一般的微机中都可以通过tcl+alt+del组合键来重新启动Liunx系统,这是相当危险的
,所以应该在文件/etc/inittab中禁止到这个功能。
Linux的安全管理还涉及到很多方面,并且任何一种单一的安全措施的防范能力都是有限
的,多管齐下的安全策略,实时的检测,各种高级安全管理技巧及防火墙等的设定,才
能使你的系统安全地运行。



--
                       ┏━━━━━━┓
                       ┃ 文章本天成 ┃
                       ┃ 妙手偶得之 ┃
                       ┗━━━━━━┛

※ 来源:·我爱南开站 bbs.nankai.edu.cn·[FROM: 202.113.113.203]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店