思考题
1、在一个局域网里假如有多台DHCP服务器的时候,网络管理员该如何管理这些DHCP服务器?
答:在存在多个DHCP服务器的LAN中,这些服务器IP网段不可重复。若有两台DHCP服务器,那么一般将IP网段地址用80/20分法来配置,即一台主服务器管理80%的IP地址,另外一台冗余服务器管理20%的IP地址,平时起作用的为主服务器,当主服务器宕机后备份服务器自动接替工作。
如果有多台DHCP服务器,客户机发送广播时,哪台服务器首先响应,客户机就接受哪台服务器的信息,并拒绝后面收到的服务器响应信息。
2、VMware Workstation虚拟机的虚拟网卡有三种工作模式,这三种工作模式各自有什么特点?真正的网卡都有哪些工作模式?那么防火墙上接外网的那张网卡又是工作在什么模式下?
答:虚拟机虚拟网卡 http://bluefuture.javaeye.com/blog/610935
网卡有混杂模式和普通模式。混杂模式网卡接收所有的数据包,但是普通模式只接收发给自己的数据包。防火墙接外网的网卡的工作模式为混杂模式。
3、在贴吧里,管理员如何查找一篇帖子是那一台电脑发出来的?
答:在一般情况下,WEB服务器都会有一个脚本是用来获取和记录登录这台服务器的用户的用户名、时间、IP等信息。我们可以利用这些记录来初步获得在贴吧中发帖的那台PC所使用的公网IP。而很多情况下,一个公网IP是由很多台的用户PC通过端口复用NAT来共享使用的。那么我们就需要去查找这个公网IP对应网关或者DHCP服务器的日志。那么我们就能查出着这时刻是哪个台内网PC机使用了这个公网IP。
假如攻击者使用IP伪造。而使我们在服务端的记录信息错误,找到了错误的地方去了。那我么该怎么办呢?由于网络警察,或者一个局域网里的网管由于对所管辖的区域有着最高的权限以查看所有设备的日志。所以我们可以沿着服务器、路由器等设备上的日志一步一步的追查,直到最后一个IP。因为IP伪造一般最多只能伪造最初始的源IP。这样就能大大的缩小范围。再根据这个范围内的设备上的日志进行进一步的追踪。
但是。如果设备上的日志要是被删除了呢?没事,不法分子要删除设备上的日志就需要登录到设备上来,那么不管他们如何做,始终是无法删除最后一次登录的记录信息。当然了,如果设备的日志记录功能被破坏的那就另当别论。
4、局域网里面有一台WEB服务器和一台DNS服务器,那要如何配置防火墙使得在局域网和广域网里都可以用域名来访问WEB服务器?
答:该问题主要涉及到数据回流的配置
回流指:当内网有服务映射到网关后,内网主机也可以用网关外部地址访问,凡是支持回流功能的路由器,都可以从内网访问网关外部地址上映射的服务,不支持回流技术的当然就不行。
事实上也是通过snat实现的,通常的snat是为了能让内网的电脑上外网,所以在outside(外网卡)上做snat,但回流是内部主机连接内网的主机(只不过是通过网关外部地址访问),所以必须在inside(内网卡)上做snat,这样经过内网卡的数据包先被伪装成公网或其它网段内的ip地址,然后发送到外网卡,外网卡看到源地址伪装过的ip数据包,就认为该数据包是从公网或其它网段来的,所以就通过dnat功能帮它转换目标地址,并发向处在内网的服务器(如果不进行回流,外网卡认为该数据不是从公网而来,就不会通过dnat把它转回到内网,然后丢弃数据包,内网电脑就不能访问映射在网关外部地址上的服务),这样内网电脑就能访问被映射过的内网服务。
以下为NAT及数据回流的iptables配置过程
iptables -A INPUT -i lo -j ACCEPT //开启IPtables的数据回流功能
iptables -t nat -A POSTROUTING -j MASQUERADE //开启iptables的IP伪装功能
iptables -t nat -A PREROUTING -d 10.10.123.2 -j DNAT –to-d 192.168.1.150
//将外网IP和服务器内网IP映射
iptables -t nat -A POSTROUTING -s 192.168.1.0 -d 192.168.1.150 -j SNAT –to-s 192.168.1.1
//将源为内网PC机IP,目的IP为服务器IP的数据包伪装成源IP为网关IP(关键点)
iptables -t nat -A POSTROUTING -s 192.168.1.150 -j SNAT –to-s 10.10.123.2
//将源IP为内网服务器IP伪装为服务器的外网IP
iptables -t nat -A PREROUTING -d 10.10.123.3 -j DNAT –to-d 192.168.1.0
//将PC机的外网共享IP跟内网PC机内网IP映射
iptables -t nat -A POSTROUTING -s 192.168.1.0 -j SNAT –to-s 10.10.123.3
//将内网PC机IP映射为外网IP
有关数据回流说明http://www.wangchao.net.cn/bbsdetail_1631257.html
5、在当今的计算机界中,由于telnet在传输信息的时候是用明文传输。因此,绝大部分的网络管理员都不用telnet来登录管理网络设备,而是采用SSH终端。那么,telnet对于网络管理原来说还有什么其他用处吗?
答:telnet可以用来判断远程设备的某个端口是否打开。用于诊断远程服务器的故障是由于服务器本身响应端口被禁用还是由于服务器软件或者配置有问题。
6、在内网里,如何利用防火墙多为规则策略来限制局域网里面的主机使用迅雷下载?比如,在我们校园网里,在网络比较空闲时完全开放迅雷下载,在网络繁忙时限制迅雷下载?
答:Linux防火墙对P2P流量的限制 http://www.bitscn.com/netpro/firewall/200704/101819.html
以下一段禁止BT,需要有ipp2p的模块
iptables -A FORWARD -m ipp2p –edk –kazaa –bit -j DROP
iptables -A FORWARD -p tcp -m ipp2p –ares -j DROP
iptables -A FORWARD -p udp -m ipp2p –kazaa -j DROP
限制P2P的方法还有一种就是限制每个IP的同时最大连接数。方法如下:
这里介绍三种限制方式
1)、限制局域网内每个用户的连接数为50
iptables -I FORWARD -p tcp -m connlimit –connlimit-above 50 -j REJECT
2)、限制指定局域网用户XXX.XXX.XXX.XXX的连接数为50 (这里的XXX.XXX.XXX.XXX改成大家要限制的用户的IP)
iptables -I FORWARD -p tcp -s XXX.XXX.XXX.XXX -m connlimit –connlimit-above 50 -j REJECT
这里举个例子,比如要限制192.168.1.2这个用户的连接数为50
iptables -I FORWARD -p tcp -s 192.168.1.2 -m connlimit –connlimit-above 50 -j REJECT
3)、限制除用户XXX.XXX.XXX.XXX以外的IP连接数为50 (也就是除了XXX.XXX.XXX.XXX用户不限制其它的都限,这个好吧,可以给自己开特权^_^)
iptables -I FORWARD -p tcp -s !XXX.XXX.XXX.XXX -m connlimit –connlimit-above 50 -j REJECT
这里也举个例子,比如要除了不限制192.168.1.2外,限制其它所有用户的连接数为50
iptables -I FORWARD -p tcp -s !192.168.1.2 -m connlimit –connlimit-above 50 -j REJECT
7、公司为了防止员工在上班时间上QQ聊天,如何配置防火墙规则彻底防止?包括利用网页来上QQ也要被禁止掉。
答:可以在防火墙那边将QQ的固定UTP端口8000封掉。这样就可以阻止员工上QQ软件。还有就是直接把所有的QQ有关的服务器IP都封掉,让内网计算机不能跟这些服务器通信。
还有另外一种方法就是用iptables的应用层数据包过滤功能,如果检测到数据包中含有QQ所有的特殊字符的话就拒绝转发。这种方法还可以用来防止内网员工访问不良网站。
7.1、封杀QQ端口
QQ的是source-port 4000,destination-port 8000
只需要在FORWARD里加入一条规则就可以
iptables -A FORWARD -i eth0 -p udp –dport 8000 -j DROP
7.2、采用数据过滤进行阻断QQ
#iptables -A FORWARD -m state –state ESTABLISHED,RELATED -j ACCEPT
#iptables -I FORWARD -p udp –dport 53 -m string –string “tencent” -m time –timestart 8:15 –timestop 12:30 –days Mon,Tue,Wed,Thu,Fri,Sat -j DROP
#星期一到星期六的8:00-12:30禁止qq通信
#iptables -I FORWARD -p udp –dport 53 -m string –string “TENCENT” -m time –timestart 8:15 –timestop 12:30 –days Mon,Tue,Wed,Thu,Fri,Sat -j DROP
#星期一到星期六的8:00-12:30禁止qq通信
#iptables -I FORWARD -p udp –dport 53 -m string –string “tencent” -m time –timestart 13:30 –timestop 20:30 –days Mon,Tue,Wed,Thu,Fri,Sat -j DROP
#iptables -I FORWARD -p udp –dport 53 -m string –string “TENCENT” -m time –timestart 13:30 –timestop 20:30 –days Mon,Tue,Wed,Thu,Fri,Sat -j DROP
#星期一到星期六的13:30-20:30禁止QQ通信
#iptables -I FORWARD -s 172.16.0.0/16 -m string –string “qq.com” -m time –timestart 8:15 –timestop 12:30 –days Mon,Tue,Wed,Thu,Fri,Sat -j DROP
#星期一到星期六的8:00-12:30禁止qq网页
#iptables -I FORWARD -s 172.16.0.0/24 -m string –string “qq.com” -m time –timestart 13:00 –timestop 20:30 –days Mon,Tue,Wed,Thu,Fri,Sat -j DROP
#星期一到星期六的13:30-20:30禁止QQ网页
http://www.netexpert.cn/viewthread.php?tid=2950
8、在FTP服务器的权限管理中,如何关闭某个用户,使其不能登录?如何开启一个用户?
答:
userlist_enable
userlist_deny
userlist_file
用这三个语句可以控制指定用户不能登录,方法如下:
userlist_enable=YES //用户清单功能开启
userlist_deny=YES //把用户清单设为拒绝用户清单
userlist_file=/etc/vsftpd.user_list //用户清单文件为
/etc/vsftpd.user_list,这个文件的格式也是一个用户名占用一行
因为第二个语句把文件/etc/vsftpd.user_list设为拒绝用户清单,那么,文件里面的用户名都不能登录。
或是另外一种设置方法:
userlist_enable=YES //用户清单功能开启
userlist_deny=NO //把用户清单设为接受用户清单
userlist_file=/etc/vsftpd.user_list //用户清单文件为/etc/vsftpd.user_list
因为第二个语句把文件/etc/vsftpd.user_list设为接受用户清单,那么,文件里面的用户名都能登录,不在文件里的用户不能登录。
从这里可以看出userlist_deny语句起了开关的作用,可把用户清单文件设为拒绝或是接受。
详细请看http://blog.csdn.net/cnaning/archive/2009/01/19/3835497.aspx
9、在FTP服务器中如何控制一个用户登录后的家目录?并控制其访问权限?
答:
chroot_local_user
chroot_list_enable
chroot_list_file
要设置chroot(),可以使用
chroot_local_user=YES
上述语句是使全部的本地用户都被限制在家目录,这无法只限制特定的用户,要限制特定用户,使用下面的方法:
chroot_local_user=NO //关闭本地用户chroot()
chroot_list_enable=YES //开启要设置chroot()用户项
chroot_list_file=/etc/vsftpd.chroot_list //指定要设置chroot()的特定用户文件,这个文件的格式应该每个用户名占用一行
详细请看http://blog.csdn.net/cnaning/archive/2009/01/19/3835497.aspx
10、在搭建WEB服务器中,如果可以ping通服务器IP却无法访问WEB服务器,该如何解决?写出排错步骤。
答:所先查看服务器软件是否正常工作,要是服务器软件可以正常开启,再做下一步打算。
假如服务器软件不能正常工作的话,那么就去查看linux系统的系统日志/var/log/message。在错误日志上有相关的错误信息。
如果服务器软件可以正常开启,但是还是无法访问的话,就去检查linux系统的相应端口是否出于开启状态。可以用telnet来验证(Telnet +IP+端口号)。如果端口处于开启状态,那么就是服务器配置问题。
11、同上题,要是在搭建FTP服务器时出现这种情况该如何解决?写出排错步骤。
答:同上
12、Samba服务器,NFS服务器,FTP服务器同是用于文件传输用的。在三者之间又有什么异同点?
答:samba与NFS是用于局域网里的资源共享,而FTP是用于广域网的资源共享。samba 是基于Netbios的,而netbios默认是通过广播来进行名字解析的,不支持多子网,要跨子网访问必须启用NBT(Netbios on TCP/IP),而且要至少一个名字服务器(NBNS:Netbios Name Servers)。而NFS是直接基于TCP/IP的,能很好的支持多子网间的路由。
从安全方面讲的话,FTP是最安全的,次之的是samba,然后才是nfs。然而,在配置方面,越安全,配置也越复杂。下面是这三种资源共享方式的一些对比。
服务器名称 用户客户端平台 使用范围 服务端口
FTP Windows/linux/unix/macOS等 发布网站,文件共享 Tcp/21
Samba Windows 文件共享(网上邻居) Tcp/445,tcp/139
NFS Linux/unix 网站发布,文件共享(mount) Tcp/2049
http://blog.csdn.net/HUGH0001/archive/2009/11/15/4813035.aspx
注解:该协议是由IBM公司开发,主要用于数十台计算机的小型局域网。NetBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,实现信息通讯,所以在局域网内部使用NetBIOS协议可以方便地实现消息通信及资源的共享。因为它占用系统资源少、传输效率高,尤为适于由 20 到 200 台计算机组成的小型局域网。所以几乎所有的局域网都是在NetBIOS协议的基础上工作的。
13、在DHCP服务器配置中,如果要给固定主机分配固定IP,该如何配置?
答:可以在/etc/dhcpd.conf中添加
host ns { #ns为需要分配固定IP的主机的主机名
hardware ethernet 12:34:56:78:AB:CD; #主机的MAC地址
fixed-address 207.175.42.254; #要为该主机分配的固定IP
}
14、在mail服务器中,针对于垃圾邮件,管理一般采用怎样的策略来判断一封邮件是否为垃圾邮件?
答:黑名单、白名单、基于规则的过滤技术和Bayesian过滤技术是目前对付垃圾邮件的四种技术。这四种技术各有优势和不足,优化使用以上技术,能够更准确地阻止垃圾邮件。
详细请看一下网站:
http://www.5dmail.net/html/2009-7-28/2009728103909.htm
http://baike.baidu.com/view/1465405.html?fromTaglist
15、在防火墙配置中,规则的配置顺序会大大影响防火墙的性能。那么我们一般该如何配置防火墙的规则?可以优化防火墙的性能。
答:防火墙规则的配置顺序会大大影响到防火墙工作时的性能。一般配置规则时应把拒绝大部分的规则放在前面。先缩小范围,然后再去匹配下一个规则。这样可以使得工作量越来越小。过滤的时候先在网络层过滤IP数据包,再到应用层过滤数据内容。因为防火墙在工作时,分析低层协议内容效率高于分析高层协议内容。因此尽量将大部分工作放于低层数据分析过滤。
16、你搭建了一台的mail服务器,但是你的这台mail服务器还不能发邮件给网络上的邮件服务器,因为你发过去的邮件都会被当做垃圾邮件丢掉。那我们该如何做才能被其他的邮件服务器认可?
答:邮件服务器搭建完成后,该服务器的IP地址需要被各国的反垃圾邮件联盟的TML——可信邮件服务器地址列表 收录。比如在我国的改部门为中国反垃圾邮件联盟。对方的邮件服务器只接收已经在可信邮件服务器地址列表里有的IP。
具体请看 http://anti-spam.org.cn/AID/12
17、某公司只申请到一个外网IP,那么该如何做,使得公司内部主机都可以访问Internet。该方法的原理是怎样的?
答:在公司出口网关路由器或者防火墙上做NAT转换。
18、当我们需要了解一台WEB服务器的工作性能如何时,我们该用什么方法来测试这台WEB服务器的性能?请说明具体步骤。
答:对于WEB服务器来说,其最具重要的就是测试每秒最大请求响应数和数据吞吐量。Web服务器的性能测试工具很多,比较著名的有WebStone和WebBench,这两个工具虽然实现的方法有所不同,但是测试指标是相同的。具体步骤:http://www.ciscosky.org/network/server/JiXu-linux-De-Web-BiWuQiXingNaiCeShi.htm
http://www.cic.tsinghua.edu.cn/jdx/lunwen/web-fuq.htm
测试原理步骤:1、模拟客户端大量并发WEB请求。2、计算服务器同时处理并发请求的响应时间。
19、怎么给FTP限制容量和扩充容量?
答:在linux平台下的vsftp服务器要限制用户磁盘容量可以使用quota这个软件。
1)、添加分区/dev/sdb5
2)、编辑/etc/fstab,将磁盘添加进来将/dev/sdb5分区的第4个字段改成defaults,usrquota,如下:
/dev/sdb5 /mnt/ftp ext3 defaults,usrquota 0 0
如果要限制组的话就将第4个字段改为default,usrquota,grpquota
3)、在磁盘上创建一个用户useradd -d /mnt/sdb5/hom -s /sbin/nologin hom
4)、[root@viong /]# edquota -u hom
为用户hom设置磁盘配额
系统会自动用
VI文本打开配额文件,如下:
Disk quotas for user hom (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/sdb5 16 0 1024 4 0 0
详细配置请参考http://viong.blog.51cto.com/844766/269485
对于磁盘扩容,步骤跟限容差不多,可以在以上的步骤四中修改最大磁盘限额。如果是硬盘容量不够,那么可以参照步骤1和2新添加硬盘分区。
20、在linux写一个shell脚本,如何设置能是该脚本开机后自动运行。
答:关于/etc/rc.d目录的详解http://blog.chinaunix.net/u1/54869/showart_441803.html
例如有一个shell脚本放在/usr下名称为a.sh。则可在/etc/rc.d/rc/locat里添加命令
cd /usr;./a.sh 。这种方法是最简单的。
感谢网络072班同学友情提供!
回复自“网络操作系统专周实习-思考题参考回答”
发表回复