14章、简易NAT服务器

1. 请简单说明NAT主机的用途与运作原理。

NAT主机的最大用途在于包伪装,可以做为内部Client主机对外的联机之用(类似IP分享器),当然,也可以做为区域内主机(DMZ)的设定。至于其运作原理则主要以iptables的过滤机制有关,利用iptables将通过的包进行Source IPdestination IP的伪装!

2. 假设我是你公司的上层主管,我知道我们单位内共有100台计算机(Windows 操作系统),其中共分为两大部门,这两大部门的数据是互相独立的,并且两大部门各自拥有一台Linux主机负责文件共享工作(就是未来会谈到的SAMBA主机)。不过,我们公司仅有一条对外的ADSL双向512专线。现在,我命令你规划全公司100台计算机都可以连上Internet,而且只多给你一台Linux主机,并且原有的Linux主机功能(就是SAMBA)还存在。请问:

1.   公司的网络规划示意图为何?
2.   多出来的那一台Linux主机用途为 ADSL连接与内部私有网络的连接,该Linux的网络参数为何?
3.   两台Linux SAMBA主机的网络参数为何?
4.   两个部门的网络参数请自行设定。
 
1.   公司的网络规划示意图如下:
2.   两边的LAN并没有互相物理连接,此外,“微型电脑”为本来的Linux主机,而新增的一台Linux主机则是标为“服务器”的那一台!
3.   多出来的那台Linux主机用途为ADSL连接与内部私有网络的连接,该Linux的网络参数:IP192.168.0.254(对内),对外为拨号产生的接口,启动NAT功能。
4.   两台Linux SAMBA主机的网络参数为:部门AIP192.168.1.254(对内卡)以及192.168.0.1(对外卡),新增route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.0.2;部门BIP192.168.2.254 (对内卡)以及192.168.0.2(对外卡),新增route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1。两台主机的网关都是192.168.0.254
5. 两个部门的网络参数:部门ANetwork:192.168.1.0/24Gateway:192.168.1.254;部门BNetwork:192.168.2.0/24Gateway:192.168.2.254

15章、简易NFS服务器设定

1. NFS的主要配置文件为何?在该文件内主要配备项为何?

主要的配置文件为 /etc/exports,至于其配置项在每一行中则为:
1.   共享目录
2.   针对此共享目录开放的主机或IP或网域
3.   针对这台主机开放的权限参数

2. NFS主要配置文件中仅有少许参数说明,至于默认的参数说明则没有在该文件中出现,请问,如果要查阅更详细的共享文件属性,要看哪个文件?

要查阅/var/lib/nfs/xtab文件。

3. 如果已经启动了nfs服务器,但是又修改过主要配置文件,请问可以使用哪个指令重新挂载共享目录与Client端权限的设定值?

通过使用exportfs,可以加 -a -rv这两个参数重新挂载,如exportfs –rv

4. Client端如果要挂载NFS提供共享文件,可以使用哪个指令?

就是mount!如果卸载,是umount

5. NFS主要配置文件中,可以通过哪个参数来控制不让Client端以root身份使用你所共享的目录与文件?

可以在/etc/exports中的参数项设定root_squash来控制压缩root身份。

6. 我在Client端挂载了NFS Server的某个目录在我的/home/data下,当我执行其中某个程序时,却发现我的系统被破坏了?你认为可能的原因为何?该如何克服这样的问题,尤其是当我的Client端主机其实是多人共享环境,怕其他用户也发生类似的问题?

可能由于你挂载进来的NFS Server的分区中具有SUID文件属性,而你不小心使用了该执行文件,因此可能发生系统被破坏的问题。
可以将挂载进来的NFS目录的SUID 功能取消!例如:
mount -t nfs -o nosuid,ro server:/directory /your/directory

16章、简易DHCP 服务器设定

1. DHCP的主要用途为何?

DHCP主机的主要用途是自动分配网络参数给Client端计算机,以降低网域中可能发生的IP冲突问题,并避免网管人员到处检查错误。

2. DHCP主要的两种IP分配模式为何?

主要的两种分配模式分别为Dynamic IPStatic IPStatic IP 透过MAC的比对,而Dynamic IP 则是直接取用网域中尚未被用到的IP进行Client端的分配。

3. 在有DHCP主机的网域中,且Client端也使用DHCP规划客户端的网络参数,那么请问,在该网域中,Client端如何取得IP

1.   首先,Client端会发出一个DHCP请求包;
2.   Server端接收到请求后,会主动响应信息给Client
3.   Client 若接受该DHCP主机提供的参数,则主机会记录下租约信息,至于Client端,则开始以主机提供的参数设定其网络。

4. DHCP如何发送Static IP?可以使用何种指令取得该信息?

DHCP主要利用网卡的硬件地址,即网卡卡号,也就是MAC进行Client端的比对,至于主动取得Client端的方式,可以透过pingarp获得。

5. DHCP的租约文件,即/var/lib/dhcp/dhcpd.leases中,记录了什么信息?

这个文件主要记录了Client端连上Server端的记录数据,它会被DHCP主机用来判定与Client端的租约行为。

6. DHCP的登录文件放于何处?

就是最重要的/var/log/messages文件(默认情况下)。

17章、简易DNS服务器设定

1.为何要有DNS系统?

最主要的功能在于Hostname对应IP的查询,可以让我们人类以计算机主机名称连上Internet,而不必背诵IP

2. Unix Like系统中,主要使用哪个套件作为DNS主机的架设,同时,它又是使用哪个daemon启动DNS系统?

Unix Like系统中,使用BIND这个套件作为DNS的架设,至于daemon 则是使用named这个daemon

3. 最早的Internet 其实是为了政府人员可以连上网络以进行资源共享,另外,则是电子邮件的使用。而在早期使用的重要文件只有/etc/hosts,请问这个hosts文件的内容含有什么项?

这个文件的格式为:<IP> <主机名称> <主机别名(aliase>,而这个文件里放置了至少一行,也就是:
127.0.0.1 localhost localhost.localdomain
另外,也可以将经常连接的主机IPHOSTNAME的对应写进来。

4. 请说明DNS的三种类型与相关内容。

DNS主机主要分为masterslavecache-only 三种类型!在master中,master主机里即有设定DNS数据文件,例如在/var/named里的正反解文件。至于slaveDNS主机则主要进行master主机的数据备份,同时也提供Internet上的查询功能。使用master/slave的最大优点在于单点维护能力!修改master 即可让slave的数据同时更新,这样可减少人力的浪费。至于cache-only,仅进行快速缓存记录,本身并无数据库文件!

5. 正解文件(forward)、反解文件(reverse)与内部循环使用的文件(loopback)主要的记录功能为何?

         正解文件用于设定hostname对应到IP的记录,主要的记录有ANSSOAMXCNAME等;
         反解文件主要设定IP对应到Hostname的记录,主要的记录为SOANSPTR等。
         内部循环则是localhost127.0.0.1的对应。

6. 在主要的DNS 配置文件 /etc/named.conf中,有一个较为特殊的文件,它的类型为hint,请问这个文件的功能为何?

这个文件主要是由rs.internic.net下载下来的,主要记录了root.)这个zoneIP。可以让我们的DNS Server在找不到数据库时,到这个root查询数据!

7. Client端搜寻HOSTNAME对应IP的查询时,最重要的文件及该文件的主要用途为何?

         /etc/nsswitch.conf:可以用来设定查询主机名称的顺序!例如先查询/etc/hosts再查询DNS系统;
         /etc/hosts:最早的名称解析器;
         /etc/resolv.conf:这就是DNS系统的resolver(解析器)。

8. 一般来说,在Client端用于查询HOSTNAME的指令大多是什么?

         nslookup:可以用来收集一台主机的相关信息;
         dig:可以用来收集详细的主机信息;
         whois:可以用来收集详尽的DNS主机信息。
host 则较为简单。

9. 请问named重要的信息登录放在哪个文件中?

/var/log/messages中。

18章、简易WWW服务器设定

1. 请问LAMP这个服务器代表什么意思?

这个名词代表Linux+ Apache + MySQL + PHP这个WWW 服务器的组成!

2. Apache的配置文件文件名一般为何?

Apache的配置文件文件名为httpd.conf,不过,由于httpd.conf内容参数可以使用 include "额外设定文件名",所以也可能具有其他额外配置文件。

3. Apache的配置文件中,哪个参数用来设定主网页?

设定主网页的参数为DocumentRoot,后面接的是主网页放置的目录。

4. 哪个指令用来重新启动与关闭Apache (请以Tarball安装方法说明)

其实不论是RPM还是Tarball,都是使用apachectl这个文件来启动apache,不过RPM已经将该文件整合到/etc/rc.d/init.d/httpd里而已。

5.当我使用ps -aux时,发现很多httpd……的程序,这是正常的吗?最多可以有几个程序是由哪个文件的哪个参数所确定的?

这是正常的,主要由httpd.conf里设定的下面两个参数来确定:
MinSpareServers
MaxSpareServers

6. 承上题,这些程序(process)的ownergroup是谁?该查看哪个配置文件的哪个参数?

同样查看httpd.conf里的UserGroup这两个设定值。

7. 如果今天我以http://your.ip结果却发现浏览器出现类似FTP的画面(会列出该目录下的所有文件),这是什么原因造成的?该如何避免?

这是由于在httpd.conf里,针对该目录的设定参数Options中设定了Indexes这个值,导致当找不到主页时(通常是index.html),就会将该目录下的所有文件显示出来!解决的方法就是拿到Options里的Indexes设定值即可。

8. Apache里,.htaccess这个文件的功能为何?

可以用来取代httpd.conf里的设定参数,创造属于用户自己的Apache 风格。

19章、简易SAMBA 服务器设定

1. 一般来说,SAMBA使用的配置文件放置在哪里?文件名为何?

使用的文件名为smb.conf,通常放置在/etc/samba/smb.conf里,不过,最好使用rpm -qc packagename来查询!

2. 哪个指令可以用来判断smb.conf这个配置文件的正确性?

当我们修改完smb.conf之后,记得要以testparm进行samba的确认!

3. 哪个指令可以用来查看SAMBA主机共享了什么目录?

利用smbclient 即可:smbclient -L NetBiosName -U username

4. smbmount的功能为何?

Linux系统上,将Windows的网络邻居或LinuxSAMBA提供共享的资源挂载到自己的系统下。

5. 我今天使用smbpasswd新增一位用户badbird,让它可以登入我的Linux SAMBA主机,但是无论如何就是无法新增。你认为原因可能是什么?

由于Samba用户的信息必须存在于/etc/passwd里,既然无法新增,应该先确认badbird这个用户已经存在于Linux系统中!如果还是无法新增,则需要查阅smb.conf的设定,看/etc/samba/smbpasswd这个密码文件是否存在。