经典linux系统工程师系统管理员面试题 下载本文

内容发布更新时间 : 2024/12/25 3:24:06星期一 下面是文章的全部内容请认真阅读。

典linux系统工程师/系统管理员面试题

这几天经常面试,总会遇到一些比较好的题目,刚开始答得不怎么好,所以总结下,同时也在网上搜了下也发现了许多比较的题目,本贴会不定期的更新!

1.如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0: 答:

#iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp –dport 80 -j DNAT –to 192.168.16.1:8080 或者:

#iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 8080

2.什么是NAT,常见分为那几种,DNAT与SNAT有什么不同,应用事例有那些? 3.包过滤防火墙与代理应用防火墙有什么区别,能列举几种相应的产品吗? 4.iptables是否支持time时间控制用户行为,如有请写出具体操作步骤 5.说出你知道的几种linux/unix发行版本

6.列出linux常见打包工具并写相应解压缩参数(至少三种) 7.计划每星期天早8点服务器定时重启,如何实现? 8.列出作为完整邮件系统的软件,至少二类

9,当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?注:本机跟本地dns还没有缓存。 答: a.用户输入网址到浏览器 b.浏览器发出DNS请求信息

c.计算机首先查询本机HOST文件,看是否存在,存在直接返回结果,不存在,继续下一步 d.计算机按照本地DNS的顺序,向合法dns服务器查询IP结果,

e.合法dns返回dns结果给本地dns,本地dns并缓存本结果,直到TTL过期,才再次查询此结果

f.返回IP结果给浏览器 g.浏览器根据IP信息,获取页面

10,我们都知道,dns既采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么时候采用udp协议?为什么要这么设计?

答:这个题需要理解的东西比较的多,分一下几个方面

a,从数据包大小上分:UDP的最大包长度是65507个字节,响应dns查询的时候数据包长度超过512个字节,而返回的只要前512个字节,这

时名字解释器通常使用TCP从发原来的请求。

b,从协议本身来分 :大部分的情况下使用UDP协议,大家都知道UDP协议是一种不可靠的协议,dns不像其它的使用UDP的Internet应用(

如:TFTP,BOOTP和SNMP等),大部分集中在局域网,dns查询和响应需要经过广域网,分组丢失和往返时间的不确定性在广域网比局域网上更大

,这就要求dns客户端需要好的重传和超时算法,这时候使用TCP

11,一个EXT3的文件分区,当使用touch test.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大

小时,只使用了,60%的磁盘空间,为什么会出现这个情况,说说你的理由。

答:两种情况,一种是磁盘配额问题,另外一种就是EXT3文件系统的设计不适合很多小文件跟大文件的一种文件格式,出现很多小文件时,

容易导致inode耗尽了。

12,我们都知道FTP协议有两种工作模式,说说它们的大概的一个工作流程? FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)

在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT

N+1命令。

服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。

在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,

通知服务器自己处于被动模式。

服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过

N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。

总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。

被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之

后主机,而只允许由防火墙之后的主机发起的连接请求通过。

因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。

13.编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下

1. #/bin/sh 2. #Programm :

3. # Using for move currently directory to /tmp 4. for FileName in `ls -l |awk ‘$5>10240 {print $9}’` 5. do

6. mv $FileName /tmp 7. done 8. ls -al /tmp 9. echo “Done! “ 复制代码

14.apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式? apache主要有两种工作模式:prefork(apache的默认安装模式)和worker(可以在编译的时候加参数–with-mpm-worker选择工作模式) prefork的特点是:(预派生)

1.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销 2.可以防止意外的内存泄漏

3.在服务器负载下降的时候会自动减少子进程数(prefork的详细原理可以看我的博客另外一篇文章apache的性能优化)

worker的特点是:支持混合的多线程多进程的多路处理模块

如果对于一个高流量的HTTP服务器,worker MPM是一个比较好的选择,因为worker MPM占用的内存要比prefork要小。 15.

HDLC,VTP,OSPF,RIP,DDOS,system

V,GNU,netscreen,ssh,smartd,apache,WAIT_TIME 等等

16.编写shell脚本获取本机的网络地址。比如:本机的ip地址是:192.168.100.2/255.255.255.0,那么它的网络地址是

192.168.100.1/255.255.255.0 方法一: