14章、简易NAT服务器

1. 请简单说明NAT主机的用途与运作原理。
NAT 主机的最大用途在于包伪装,可以做为内部 Client 主机对外的联机之用(类似 IP 分享器),当然,也可以做为区域内主机( DMZ )的设定。至于其运作原理则主要以 iptables 的过滤机制有关,利用 iptables 将通过的包进行 Source IP destination IP 的伪装!
2. 假设我是你公司的上层主管,我知道我们单位内共有100台计算机(Windows 操作系统),其中共分为两大部门,这两大部门的数据是互相独立的,并且两大部门各自拥有一台Linux主机负责文件共享工作(就是未来会谈到的SAMBA主机)。不过,我们公司仅有一条对外的ADSL双向512专线。现在,我命令你规划全公司100台计算机都可以连上Internet,而且只多给你一台Linux主机,并且原有的Linux主机功能(就是SAMBA)还存在。请问:
1.   公司的网络规划示意图为何?
2.   多出来的那一台 Linux 主机用途为 ADSL 连接与内部私有网络的连接,该 Linux 的网络参数为何?
3.   两台 Linux SAMBA 主机的网络参数为何?
4.   两个部门的网络参数请自行设定。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 
1.   公司的网络规划示意图如下:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
2.   两边的 LAN 并没有互相物理连接,此外,“微型电脑”为本来的 Linux 主机,而新增的一台 Linux 主机则是标为“服务器”的那一台!
3.   多出来的那台 Linux 主机用途为 ADSL 连接与内部私有网络的连接,该 Linux 的网络参数: IP 192.168.0.254 (对内),对外为拨号产生的接口,启动 NAT 功能。
4.   两台 Linux SAMBA 主机的网络参数为:部门 A IP 192.168.1.254 (对内卡)以及 192.168.0.1 (对外卡),新增 route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.0.2 ;部门 B IP 192.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. 两个部门的网络参数:部门 A Network:192.168.1.0/24 Gateway:192.168.1.254 ;部门 B Network:192.168.2.0/24 Gateway: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 IP Static IP Static 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 端的方式,可以透过 ping arp 获得。
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
另外,也可以将经常连接的主机 IP HOSTNAME 的对应写进来。
4. 请说明DNS的三种类型与相关内容。
DNS 主机主要分为 master slave cache-only 三种类型!在 master 中, master 主机里即有设定 DNS 数据文件,例如在 /var/named 里的正反解文件。至于 slave DNS 主机则主要进行 master 主机的数据备份,同时也提供 Internet 上的查询功能。使用 master/slave 的最大优点在于单点维护能力!修改 master 即可让 slave 的数据同时更新,这样可减少人力的浪费。至于 cache-only ,仅进行快速缓存记录,本身并无数据库文件!
5. 正解文件(forward)、反解文件(reverse)与内部循环使用的文件(loopback)主要的记录功能为何?
•         正解文件用于设定 hostname 对应到 IP 的记录,主要的记录有 A NS SOA MX CNAME 等;
•         反解文件主要设定 IP 对应到 Hostname 的记录,主要的记录为 SOA NS PTR 等。
•         内部循环则是 localhost 127.0.0.1 的对应。
6. 在主要的DNS 配置文件 /etc/named.conf中,有一个较为特殊的文件,它的类型为hint,请问这个文件的功能为何?
这个文件主要是由 rs.internic.net 下载下来的,主要记录了 root . )这个 zone IP 。可以让我们的 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 里的 User Group 这两个设定值。
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 的网络邻居或 Linux SAMBA 提供共享的资源挂载到自己的系统下。
5. 我今天使用smbpasswd新增一位用户badbird,让它可以登入我的Linux SAMBA主机,但是无论如何就是无法新增。你认为原因可能是什么?
由于 Samba 用户的信息必须存在于 /etc/passwd 里,既然无法新增,应该先确认 badbird 这个用户已经存在于 Linux 系统中!如果还是无法新增,则需要查阅 smb.conf 的设定,看 /etc/samba/smbpasswd 这个密码文件是否存在。