鸟哥的私房菜(服务器篇)【第二版】练习答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章架设伺服器前的准备工作
1.4 本章习题
•如果我有一颗硬碟在A 主机上面安装了Linux 之后,拿到另一台配备相同的B 主机上面去进行开机,结果竟然无法顺利开机,你认为可能的原因是什么?
不能开机常常是因为找不到根目录的位置,而根目录找不到通常就是磁碟的装置档名错误所致。
目前由于/etc/fstab 配合filesystem 都使用LABEL name ,所以不容易发生这样的情况。
但如果你曾经自行手动处理过/etc/fstab 的话,那就必须要注意磁碟的装置档名了!透过修改/etc/fstab 以及/boot/grub/menu.lst 或许能够得到方法解决。
•一般来说,在Linux 系统上,使用者预设的家目录在那个目录下?另外,新增一个使用者时,该使用者预设的家目录内容来自那个目录下?
在/etc/default/useradd 这个档案里面会规范使用者的预设家目录以及预设家目录的内容,一般来说,使用者预设家目录在/home ,至于家目录内的档案则复制来源在/etc/skel 里面。
•我以原始码的方式进行一个套件的安装,但是在分析系统的时候,分析程式一直告诉我找不到cc 这个指令,请问这是什么问题?为何需要cc ?又,我该如何解决这个问题,好让套件可以顺利的被安装在我的Linux 上面?
因为是原始码,所以还需要编译程式来将该原始码编译成为可以在你的Linux 系统上面跑的binary 档案,在Linux 上头预设的编译程式就是gcc 这个编译器(compiler)。
如果你在安装Linux 的时候,使用Linux Installer 预设的套件选择,那通常会没有安装gcc 以及make 等套件,此时,请使用yum 去处理软体的安装吧!
•我发现我的Linux 系统怪怪的,似乎有什么不知名的程序在记忆体当中跑,我该如何将这个不知名的程序捉出来,并且将他移除?
如果要捉出程序(process)的话,可以使用ps -aux 或者是直接输入top 来查询process 的ID (PID),找到PID 号码后,再以kill -9 PID 来删除该程序即可。
•我总是无法编辑某个档案,你认为应该是什么问题造成的?那又要怎么解决?
无法编辑某个档案,可以先使用file 这个指令来查询一下该档案的格式,例如想察看/etc/shadow 的格式,可以下达:『file /etc/shadow』,如果是文字档,却还是无法编辑,那么最可能发生的原因就是『权限』的问题了。
可以使用ls -l filename 察看档案权限,再以chmod 或chown 来修订该档案的权限。
此外,该档案也可能含有隐藏属性,可以使用lsattr filename 查阅,再以chattr 来修订隐藏属性。
•你认为一个称职的网管人员应该具备什么能力?
能力需求相当高,如了(1)作业系统的基础知识(不论是Linux/Unix/MAC/MS);(2)网路基础的知识;(3)个别Internet Services 的运作知识之外,还需要(4)身心保持在备战状态,以及(5)具有相当高程度的道德感、责任感与使命感。
•我要关掉cron 这个服务,应该怎么关掉他?如果正常的方法无法关闭这个服务,可以使用什么方法来关闭?
因为cron 是一个stand alone 的服务,所以可以使用/etc/rc.d/init.d/cron stop 来关闭;如果还是无法正常关闭,可以使用ps -aux | grep cron 捉出该程序的PID ,然后以kill -9 PID 来关闭。
•如果一开机就要执行某个程式,应该要将该程式写入那个档案里面?
可以直接在/etc/rc.d/rc[run-level].d 里面加入S 开头的档案,不过,更简单的作法是直接将该程式写入/etc/rc.d/rc.local ,不过,请注意该程式必须要具有可执行的权限,且rc.local 也必须要是可执行喔!
第二章基础网路概念
2.7 本章习题
•请简述OSI 网路七层协定每一层的功能;
请参考本章 2.1.4 的相关内容。
•在ISP 提供的网路服务中,他们提到传输速度为1.5M/382K ,请问这个数据的单位为何?
数据单位为bits/second, 与惯用的bytes 差8 倍。
•什么是MAC (Media Access Control) ,MAC 主要的功能是什么?
Media Access Control 的缩写,为乙太网路硬体讯框的规格,乙太网路就是以MAC 讯框进行资料的传送。
目前MAC 也常被用为乙太网路卡卡号的代称。
•什么是封包碰撞?为什么会发生封包碰撞?
当主机要使用网路时,必须要先进行CSMA/CD 监听网路,如果(1)网路使用频繁(2)网路间隔太大,则可能会发生监听时均显示无主机使用,但发出封包后却发生同步发送封包的情况,此时两个封包就会产生碰撞,造成资料损毁。
•ARP Table 的作用为何?如何在我的Linux 察看我的ARP 表格?
ARP 协定主要在分析MAC 与IP 的对应,而解析完毕后的资料会存在系统的记忆体中,下次要传送到相同的IP 时,就会主动的直接以该MAC 传送,而不发送广播封包询问整个网域了。
利用arp -n 即可
•简略说明Netmask 的作用与优点;
Netmask 可以用来区分网域,且Netmask 可以有效的增加网路的效率,这是因为Netmask 可以定义出一个网域的大小,那么broadcast 的时间就可以降低很多!一般来说,我们如果要将一个大网域再细分为小网域,也需要藉由Netmask 来进行subnet 的切割。
•我有一组网域为:192.168.0.0/28 ,请问这个网域的Network, Netmask, Broadcast 各为多少?而可以使用的IP 数量与范围各是多少?
因为共有28 个bits 是不可动的,所以Netmask 位址的最后一个数字为11110000,也就是(128+64+32+16=240) ,所以:
Network:192.168.0.0
Netmask:255.255.255.240
Broadcast:192.168.0.15
IP:由192.168.0.1 ~ 192.168.0.14 共14 个可用IP 喔!
•承上题,如果网域是192.168.0.128/29 呢?
因为是29 个bits 不可动,所以最后一个Netmask 的位址为:11111000 也就是(128+64+32+16+8=248),所以:
Network:192.168.0.128
Netmask:255.255.255.248
Broadcast:192.168.0.135
IP:由192.168.0.129 ~ 192.168.0.134 共6 个可用的IP 喔!
•我要将192.168.100.0/24 这个Class C 的网域分为4 个子网域,请问这四个子网域要如何表示?
既然要分为四个网域,也就是还需要借助Netmask 的两个bits (2的2次方为4啊!),所以Netmask 会变成255.255.255.192 ,每个子网域会有256/4=64个IP ,而必须要扣除Network 与Broadcast ,所以每个子网域会有62 个可用IP 喔!因此,四个子网域的表示方法为:192.168.100.0/26, 192.168.100.64/26, 192.168.100.128/26, 192.168.100.192/26。
•如何观察Linux 主机上面的路由资讯(route table)?
路由资讯的观察可以下达route 来直接察看!或者是下达route -n 亦可
•TCP 封包上面的SYN 与ACK 标志代表的意义为何?
SYN 代表该封包为该系列连线的第一个封包,亦即是主动连线的意思;
ACK 则代表该封包为确认封包,亦即是回应封包!
•什么是三向交握?在哪一种封包格式上面才会有三向交握?
使用TCP 封包才会有三向交握。
TCP 封包的三向交握是一个确认封包正确性的重要步骤,通过SYN, SYN/ACK, ACK 三个封包的确认无误后,才能够建立连线。
至于UDP 封包则没有三向交握喔!
•试说明何谓有网管?无网管的switch ?此外,这些switch 的硬体应算在OSI 七层协定的第几层?
有网管者,会在switch 内部加入其他的小型OS,借以控管IP 或MAC 的流通;通常基础的switch 仅达控管MAC ,故为OSI 第二层(资料链结层)
•为何ISP 有时候会谈到『申请固定8 个IP ,其中只有5 个可以用』,你觉得问题出在哪里?如果以网域的观念来看,他的netmask 会是多少?
因为如果是一个网域的话,那么八个IP 前后(Host_ID 全为0 与 1 的条件)为Network 及Broadcast ,加上一个在ISP 处的Gateway ,所以仅有5 个可以用。
因为有8 个IP ,所以其netmask 后八bits 为11111000 ,故为255.255.255.248。
•Internet 协定中共包含"Network Access Layer", "Internet Layer", "Transport Layer", "Application Layer",请将这四层与OSI 七层协定的内容进行连结(自行上网查询相关文章说明);
Network Access Layer: 涵盖Data-Link 及Physical Layer
Internet Layer: 也是Network Layer
Transport Layer: 也是Transport Layer
Application Layer: 涵盖Application Layer, Persentatin Layer, Session Layer.
•请自行上网查询关于NetBIOS 这个通讯协定的相关理论基础,并请说明NetBIOS 是否可以跨路由?
请自行参考网中人的网路基础文章
•什么是Socket pair ?包含哪些基本资料?
由IP 封包的IP address 与TCP 封包的port number 达成,分别为目的端的IP/port 与本地端的IP/port。
•IP 有一段A Class 的网段分给系统做为测试用,请问该网段为?设定的名称为?
127.0.0.0/8, loopback
•ICMP 这个协定最主要的目的为?同时做为『回应』的类别为第几类?
做为网路检测之用,为第8 类(echo request)
•IP 封包表头有个TTL 的标志,请问该标志的基本说明为何?其数据有何特性?
为该封包的存活时间,该时间每经过一个node 都会减少一,当TTL 为0 时,该封包会被路由器所丢弃。
该数据最大为255。
•在Linux 当中,如何查询每个port number 对于服务的对应(filename)
/etc/services 档案中有纪录
•什么是星形连线?优点为何?
利用一hub/switch 连结所有的网路设备的一种连线方式,最大的好处是,每个『网路设备与switch 之间』都是独立的,所以所以每个主机故障时均不会影响其他主机的连线。
•请说明CSMA/CD 的运作原理?
发送流程
1.主机欲使用网路时,会先监听网路,若网路没有被使用时,才会准备传送,否则继续监听;
2.当资料传送钟,发现有碰撞情况时,则会重新监听网路,并且重新发送一次该封包;
3.若重复发生碰撞16 次,则网路会瘫痪;
接收流程
1.主机如果没有在传送资料,则会监听网路,并且主动在接收的状态下;
2.若接收到一个封包,并且该表头所载MAC 为本身的网卡卡号,则开始接收封包,否则将该封包丢弃;
3.接收过程当中如果发生封包碰撞,则会通知原发送主机碰撞的资料;
4.封包接收完毕后,会以MAC 表头所载长度同时分析本封包长度,若发生问题,则会通知对方重新传送。
第三章区域网路架构简介(无)
第四章连上Internet
4.6 本章习题
•我要如何确定我在Linux 系统上面的网路卡已经被Linux 捉到并且驱动了?
网路卡能不能被捉到可以使用『dmesg|grep eth 』来判断,有没有驱动则可以使用lsmod 看看模组有没有载入核心!最后,以ifconfig eth0 192.168.0.10 测试看看!
•假设我的网路参数为:IP 192.168.100.100, Netmask 255.255.255.0, 请问我要如何在Linux 上面设定好这些网路参数(未提及的网路参数请自行定义!)?请使用手动与档案设定方法分别说明。
手动设定为:『ifconfig eth0 192.168.100.100 netmask 255.255.255.0 up 』
档案设定为:vi /etc/sysconfig/network-scripts/ifcfg-eth0 ,内容为:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.100.100
NETMASK=255.255.255.0
NETWORK=192.168.100.0
BROADCAST=192.168.100.255 要启动则使用ifup eth0 即可!
•我要将我的Linux 主机名称改名字,步骤应该如何(更改那个档案?如何启用?)?
Linux 主机名称在/etc/sysconfig/network 这个档案里面的『HOSTNAME=主机名称』来设定,先以vi 来修改,改完后可以使用/etc/init.d/network restart 不过建议直接reboot 启动主机名称!•/etc/resolv.conf 与/etc/hosts 的功能为何?
以主机名称寻找IP 的方法,/etc/resolv.conf 内填写DNS 主机名称,至于/etc/hosts 则直接填写主机名称对应的IP 即可!其中/etc/hosts 对于内部私有IP 的主机名称查询非常有帮助!•我使用ADSL 拨接连上Internet ,请问拨接成功之后,我的Linux 上面会有几个网路介面(假设我只有一个网路卡)?
因为拨接是使用PPP (点对点)协定,所以拨接成功后会多出一个ppp0 的介面,此外,系统原本即有eth0 及lo 这两个介面,所以共有三个介面。
•在Linux 上面进行ADSL 拨接应该使用什么软体?
其实软体非常多,尤其是图形介面的拨接软体,多的很!不过,依旧请爱用rp-pppoe ,官方网
站:/pppoe/
•一般来说,如果我拨接成功,也取得了ppp0 这个介面,但是却无法对外连线成功,你认为应该是哪里出了问题?该如何解决?
因为拨接成功了,表示物理对外连线没有问题,那么可能的问题应该是发生在Gateway 上面了!确认的方法请使用route -n 查阅路由资讯,然后修订/etc/sysconfig/network-scripts/ifcfg-eth0 吧!
•如果你的区域网路环境内有可以控管的无线AP 时,请自行查出如何以MAC 的方式管理可登入的用户,并将你的无线AP 做好连线加密的金钥设定。
请自行测试!谢谢!
•如果一部主机上面插了两张相同晶片的网路卡,代表两者使用的模组为同一个,此时可能会造成网卡代号的误判;请问你如何克服这个问题?让网卡代号不会变动?
以现在的方法来讲,其实我们可以透过指定Hardware Address(硬体位址,通称为MAC) 来指定网卡代号与MAC 的对应。
这个设定值可以在ifcfg-ethx 里面以HWADDR 这个设定项目来指定的。
•如何在Linux 上面的文字介面搜寻你所在区域的无线AP ?
透过直接使用『iwlist wlanX scanning 』这个指令来指定某个无线网卡的搜寻!然后再以iwconfig 来进行网卡的设定即可!
•请依序说明:如果你想要新增一块新的网路卡在你的主机上,并给予一个固定的私有IP ,应如何进行?
◦先关掉主机的power ,然后拆掉机壳,装上网路卡;
◦开机完成后,以dmesg | grep eth 查询是否可捉到该网路卡,若无法捉到,请编译模组,若可捉到,找出网卡代号,并且将该模组与网卡代号写入/etc/modprobe.conf 当中,以利未来开机时可自动达成对应;
◦利用『ifconfig "网卡代号" 』来查询MAC 为何?
◦开始在/etc/sysconfig/network-scripts 内建立ifcfg-"网卡代号" 档案,同时给予HWADDR 的对应;
◦启动/etc/init.d/network restart 测试是否能成功!
•如果你想要登入某个区域的无线AP ,你应该向该处所至少申请哪些资料?
无线网路的技术相当多且复杂,所以需要取得的参数都不尽相同。
不过,至少你还是得要取得ESSID 以及KEY 密码,这样才能够连线登入该AP 当中。
第五章Linux 常用网路指令
5.7 本章习题
•暂时将你的eth0 这张网路卡的IP 设定为192.168.1.100 ,如何进行?
ifconfig eth0 192.168.1.100
•我要增加一个路由规则,以eth0 连接192.168.100.100/24 这个网域,应该如何下达指令?route add -net 192.l68.100.0 netmask 255.255.255.0 dev eth0
•我的网路停顿的很厉害,尤其是连接到 的时候,那么我应该如何检查那个环节出了问题?
traceroute
•我发现我的Linux 主机上面有个连线很怪异,想要将他断线,应该如何进行?
以root 的身份进行『netstat -anp |more』查出该连线的PID,然后以『kill -9 PID 』踢掉该连线。
•你如何知道.tw 这部主机的IP ?
方法很多,可以利用host .tw 或dig .tw 或nslookup .tw 等方法找出
•请找出你的机器上面最适当的MTU 应该是多少?
请利用『ping -c 3 -M do -s MTU yourIP 』找出你的IP 的MTU 数值。
事实上,你还可以先以ip 设定网路卡较大的MTU 后,在进行上述的动作,才能够找出网域内适合的MTU。
•如何在终端机介面上面进行WWW 浏览?又该如何下载WWW 上面提供的档案?
要浏览可以使用links 或lynx ,至于要下载则使用wget 这个软体。
•在终端机介面中,如何连接 这个BBS ?
利用telnet 即可连接上
•请自行以tcpdump 观察本机端的ssh 连线时,三向交握的内容
•请自行回答:为何使用明码传输的网路连线资料较为危险?并自行以软体将封包取出,并与同学讨论封包的资讯
•请自行至Internet 下载nc(netcat) 的原始码,并且编译成为具有GAPING_SECURITY_HOLE 的参数,然后建立一条连线使用-e /bin/bash 尝试将本地端的bash 丢给目的端执行(特殊功能,可让client 取得来自主机的bash)。
第六章Linux 网路侦错
6.3 本章习题
•以图6.1-1 的星形连线为例,你的Linux PC 3 可以ping 到Windows PC1 ,但是反过来,Windows PC1 无法ping 到Linux PC3,你觉得原因可能发生在哪里?
由于两边已经可以用ping 进行连线,所以硬体应该是没有问题了。
而Linux --> Windows 没问题,Windows --> Linux 有问题,可能是由于Linux 主机上面的防火墙所致。
可以使用iptables -L -n 去查阅一下防火墙的设定规则。
详细的防火墙请参考后续的章节。
第七章网路安全与主机基本防护:限制埠口, 网路升级与SELinux
课后练习
•我老是发现我的系统怪怪的,似乎有点停顿的模样,怀疑可能是CPU 负荷太大,所以要去检查一下系统相关的资讯。
请问,我该以什么指令去检查我的系统相关的资讯?
可以使用top, sar, free, ps -aux, uptime, last 等功能去查询系统的相关资讯喔!然后再以kill 之类的指令删除;
•我怀疑我的系统上面有过多的具有SUID 的档案存在,导致一般使用者可以随意的取得root 的权限,请问,我要如何找出这些具有SUID 权限的档案?
因为SUID 是4000 这个权限的模样,所以我可以这样做:
find / -perm +4000
•我由国内一些ftp 网站上下载了Red Hat 公司释出的套件,我想安装他,但又不知道该套件档案是否被修改过!请问我该如何确定这个套件的可用性?
利用最简易的MD5 编码来测试一下,例如『md5sum 套件名称』,再比对与原始套件释出的MD5 数据是否相同!?
•如果我发现使用『setfacl -mu:dmtsai:rwx /path/to/file 』时,系统却显示『setfacl: Operation not supported』,你认为是哪里出问题?
这是由于你的filesystem 没有启用ACL 支援,或者是系统的核心不支援。
请先使用mount -o remount,acl /mount_point 测试看能否支援ACL ,若不支援时,则可能是由于核心版本太旧了。
•如果要设定dmtsai 可以使用/home/project 这个目录(假设/home 已经支援ACL),在该目录内dmtsai 可以拥有完整的权限。
请问该如何设定该目录?
除了使用setfacl -mu:dmtsai:rwx /home/project 之外,还需要设定setfacl -mm:rwx /home/project ,因为ACL 在目录方面,必须透过使用者权限及mask 的逻辑运算后才能生效!•SELinux 是否为防火墙?
SELinux 并非防火墙,他是用来作为更细部权限设定的一个核心模组。
•良好的密码规划是防备主机的第一要务,请问Linux 系统当中,关于密码相关的档案与规则设定在哪些档案里面?
密码的设定规则在/etc/login.defs 里面!至于密码档案在/etc/shadow 内!
•简易说明,当一部主机被入侵之后,应该如何处理?
找出问题、重新安装、漏洞修补、资料还原!请参考本章最后一节的说明。
第八章路由观念与路由器设定
本章习题
•请问你如何将你的eth0 这个介面修改成为192.168.100.2 在网域192.168.100.0/25 之内的网路参数内容?
因为192.168.100.0/25 的netmask 为255.255.255.128 ,所以可以这样做:
ifconfig eth0 192.168.100.2 netmask 255.255.255.128 up
这样即可!如果尚须其他的参数,则需要以档案形式来下达,如vi /etc/sysconfig/network-scripts/ifcfg-eth0,并修改为:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.100.2
NETMASK=255.255.255.128
NETWORK=192.168.100.0
BROADCAST=192.168.100.127
•请手动设定eth0:1 这个虚拟介面,使成为网路参数:192.168.200.2, 网域在192.168.200.0/24。
ifconfig eth0:1 192.168.200.2 up
•如何观察路由表?
route -n 即可查阅!注意到0.0.0.0 那个目标(default gateway)。
•如何启动Linux 的IP Forward 功能?
直接以『echo "1" > /proc/sys/net/ipv4/ip_forward 』即可!
•假设你是一个学校单位的资讯管理员,学校内有200 部电脑,奉上面大头的旨意,必须要将200 部电脑分为4 个Subnet ,请问你应该如何布线(请画出示意图)?而这4 个Subnet 的网路参数如何选择(请自行选择)?而是否需要Router ?如果需要的话,假设每个Router 仅能有两个网路实体介面,那么该如何布线?(注:不要使用虚拟介面)
•假设你想要连接到168.95.1.1 ,那么你该如何判断你经过『多少个』节点?
可以使用traceroute 168.95.1.1 来分析每个节点的传送资讯,也可以透过ping 168.95.1.1 所回传的那个ttl 值判断节点数量。
•万一你的网路有点停顿,发现可能是网路上某个节点出现问题,你应该如何确认是哪一部Router 出问题?
就利用traceroute 吧!
第九章防火墙与NAT 伺服器
9.7 本章习题
•为什么我架设了防火墙,我的主机还是可能中毒?
防火墙不是万灵丹,他还是可能被病毒或者是木马程式所入侵的!此外,如果你的主机本身就已经提供了多个网路服务,则当该网路服务的软体有漏洞时,防火墙仍然无法克服该服务的漏洞的!因此仍然需要持续的进行主机的监视与后端分析工作
•请说明为何架设了防火墙,我的主机还是可能被入侵?入侵的依据可能是什么方法?
因为防火墙仅是抵挡某些不受欢迎的封包,如果你有开放WWW 的服务时,则要求你主机port 80 的封包将可直接进入你的主机,万一WWW 套件有漏洞时,那么就可能被入侵了!所以软体的更新很重要!
•我们知道核心为2.4 的Linux 使用的防火墙机制为iptables ,请问,如何知道我的Linux 核心版本?
利用uname -r 可以查得!
•请列出iptables 预设的两个主要的table ,以及各个table 里面的chains 与各个chains 所代表的意义;
filter 为预设的Table,里头预设的链有:
◦INPUT:为来自外部,想要进入主机的封包;
◦OUTPUT:为来自主机,想要离开主机的封包;
◦FORWARD:为主机内部网域与外部网域的封包(不论进或者出),但该封包不会进入主机。
还有nat 这个table:
◦PREROUTING:进行路由之前的封包传送过程
◦OUTPUT:离开主机的封包传送过程;
◦POSTROUTING:已经经过路由了,然后才进行的过滤规则。
•什么是iptables 的预设政策(Policy)?若我要针对filter 的INPUT 做成DROP 的预设政策,指令如何下达?
当封包的所有属性都不在防火墙的规则当中时,那么这个封包能否顺利的通过防火墙,则以Policy 作为这个封包的最终动作了!
iptables -P INPUT DROP
•假设今天我的Linux 仅是作为Client 之用,并没有对Internet 进行任何服务,那么你的防火墙规划应该如何设定比较好?
既然没有对Internet 提供任何服务,那么(1)请将所有的对外埠口先关闭吧!(2)防火墙规则当中,最重要的是INPUT 的Policy 一定要DROP ,然后将『iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 』即可!
•我要将来自192.168.1.50 这个IP 来源的封包,只要是向我的21~23 埠口要求的封包,就将他抵挡,应该如何下达iptables 指令?
iptables -A INPUT -p tcp -s 192.168.1.50 --dport 21:23 -j DROP
•我要将我自己主机ping 的回应功能取消,应该如何下达iptables 的指令?
因为ping 能否回应用的是icmp 的type 8 (请参考网路基础内的ICMP 相关内容),所以我可以
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
•请说明为何这个指令是错误的?『iptables -A INPUT -p udp --syn -s 192.168.0.20 -j DROP』?因为只有TCP 封包才会具有SYN 的标志,UDP 并没有SYN 的标志啊!所以上面的指令是错误的
•DNS 的要求是必须的,那么我该如何设定我的主机可以接受要求DNS 的回应呢?
因为DNS 的来源是port 53 ,因此要接受来自port 53 的封包就成为了:
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
•如何取消iptables 在我的系统上面?
先要清除规则后,才能够将iptables 移除!不过,我们主要将规则清除即可!
iptables -F; iptables -X; iptables -Z
iptables -t nat -F; iptables -t nat -X; iptables -t nat -Z
•如何储存目前的防火墙机制,以及如何将上次储存下来的机制回复到目前的系统中?
请利用iptables-save 以及iptables-restore 这两个指令,配合命令重导向即可!也可以使用/etc/init.d/iptables save 来储存喔!
•如果你的区网当中有个PC 使用者老是连上Internet 乱搞,你想要将他的IP 锁住,但他总是有办法修改成其他IP 来连外,那你该怎么办?让他无法继续连外?
可以利用封锁网路卡卡号MAC 来处理!
a) 申请合法的主机名称
10.4 本章习题
•请简易说明/etc/hosts 的用途;
这个档案是早期用在进行主机名称与IP 的解析的,目前比较常用在内部私有网域的名称解析上,可以加快内部网域的反查喔!
•请说明『合法授权』的主机名称需要做什么?
如果想要合法授权,就需要向上层DNS 主机『注册』才行!而且还要上层DNS 主机管理员愿意将领域名称的解析权限授权给你啊!
•什么是动态DNS 系统?(仅说明client 端)
因为我们的Client 拨接时,得到的IP 都不是固定的,所以无法以DNS 系统进行固定IP 对应主机名称的工作!此时就需要动态DNS 系统了!以DNS 主机提供的动态更新主机名称对应IP 的机制,可以让我们的不同IP 对应到同一个主机名称呐!
•如果你使用adsl 拨接来上网设定伺服器,那么该申请哪一类型的主机名称?为什么?
因为我是以ADSL 上网拨接,所以IP 是不固定的,此时需要申请动态DNS 主机的主机名称,例如 等等!
第十一章、远端连线伺服器SSH / XDMCP / VNC / RDP
本章习题
•Telnet 与SSH 都是远端连线伺服器,为何我们都会推荐使用SSH 而避免使用Telnet 呢?原
因为Telnet 除了使用『明码』传送资料外,本身telnet 就是很容易被入侵的一个伺服器,所以当然也就比较危险了。
至于ssh 其实也不是很安全的!由台湾电脑危机处理小组的文件可以明显的发现openssl + openssh 也是常常有漏洞在发布!不过,比起telnet 来说,确实是稍微安全一些!
•请尝试说明SSH 在Server 与Client 端连线时的封包加密机制;
利用key pair 来达到加密的机制:Server 提供Public Key 给Client 端演算Private key ,以提供封包传送时的加密、解密!
•请问SSH 的设定档是哪一个?如果我要修改让root 无法使用SSH 连线进入我的SSH 主机,应该如何设定?又,如果要让badbird 这个使用者无法登入SSH 主机,该如何设定?SSH 设定档档名为sshd_config ,通常放置在/etc/ssh/sshd_config 内;如果不想让root 登入,可以修改sshd_config 内的参数成为:『PermitRootLogin no 』,并重新启动ssh 来设定!如果要让badbird 使用者无法登入,同样在sshd_config 里面设定为:『DenyUsers badbird』即可!•在Linux 上,预设的Telnet 与SSH 伺服器使用的埠口(port number)各为多少?
telnet 与ssh 的埠口分别是:23 与22!请参考/etc/services 喔!
•如果发现我无法在Client 端使用ssh 程式登入我的Linux 主机,但是Linux 主机却一切正常,可能的原因为何?(防火墙、known_hosts...)
无法登入的原因可能有很多,最好先查询一下/var/log/messages 里面的错误讯息来判断,当然,还有其他可能的原因为:
1.被防火墙挡住了,请以iptables -L -n 来察看,当然也要察看/etc/hosts.deny;
2.可能由于主机重新开机过,public key 改变了,请修改你的~/ssh/known_hosts 里面的主机IP ;
3.可能由于/etc/ssh/sshd_config 里面的设定问题,导致你这个使用者无法使用;
4.在/etc/passwd 里面,你的user 不具有可以登入的shell ;
5.其他因素(如帐号密码过期等等)
•既然ssh 是比较安全的资料封包传送方式,那么我就可以在Internet 上面开放我的Linux 主机的SSH 服务了吗?!请说明你选择的答案的原因!
最好不要对Internet 开放你的SSH 服务,因为SSH 的加密函式库使用的是openssl ,一般Linux distribution 使用的SSH 则是openssh ,这两个套件事实上仍有不少的漏洞被发布过,因此,最好不要对Internet 开放,毕竟SSH 对于主机的使用权限是很高的!
第十二章、网路参数控管者:DHCP 伺服器
本章习题
•DHCP 的主要用途为何?
DHCP 主机的主要用途就是在于自动分配网路参数给Client 端的电脑,以降低网域当中可能发生的IP 冲突问题,以及减少网管人员到处检查错误的伤脑筋!
•DHCP 主要的两种IP 分配模式为何?
主要的两种分配模式分别为Dynamic IP 与Static IP ,Static IP 透过MAC 的比对,至于Dynamic IP 则是直接取用网域中尚未被使用到的IP 来进行Client 端的分配。
•在有DHCP 主机存在的网域当中,且client 端亦使用DHCP 来规划用户端的网路参数,那么请问,在该网域当中,Client 端透过DHCP 取得IP 的流程为何?
1.首先,Client 端会发出一个DHCP 要求封包;
2.server 端接收到要求后,会主动的回应资讯给Client ;。