📄 084.htm
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->Linux HowTo 中译版-->PPP HOWTO 中译版: 10,11,12</TITLE>
<META NAME="keywords" CONTENT=" Linux HowTo 中译版 PPP HOWTO 中译版: 10,11,12">
<META NAME="description" CONTENT=" - Linux HowTo 中译版 - PPP HOWTO 中译版: 10,11,12">
<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋体"}
.tt2 {font: 12pt/15pt "宋体"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%" bgcolor="#e0e0e0"><strong><A HREF="085.htm">后一页</A><BR>
<A HREF="083.htm">前一页</A><BR>
<A HREF="index.html">回目录</A><BR>
<A HREF="../../../../index.htm">回首页</A><BR>
</strong>
</TD>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷体_GB2312">PPP HOWTO 中译版: 10,11,12</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
姓名:Robert Hart<br>
Email:hartr@interweft.com.au<br>
地址 :<br>
转摘 :http://member.netease.com/</p>
<BR>
<BR>
<hr SIZE="0">
<BR>
<p><br>
10. 建立名称到位址解析(DNS) <br>
虽然我们人类喜欢给事物取个名称,电脑喜欢数字.在 TCP/IP
网路上(这也就是网际网路),我们藉由特定的名称呼叫某台机器,而且每台机器都存在於一个特定的领域标记里面.举例而言,我的
Linux 工作站称为 archenland 而它是存在於 interweft.com.au
这个领域里.所以它在人们心目中的位址就是 archenland.hedland.edu.au.
(称为 FQDN - fully qualified domain name.) <br>
<br>
然而,为了使网际网路上的其它电脑找的到这台机器,事实上电脑在网际网路上沟通时它是藉由其
IP 号码来认知的. <br>
<br>
把机器(以及领域)的名称转译(解析)成为在网际网路上所实际使用的
IP 号码是提供领域名称服务之机器的工作. <br>
<br>
它是这样子运作的:- <br>
<br>
你的机器需要知道某部特定电脑的 IP
位址.需要这项资讯的应用程式向你的 Linux PC 上的'名称解析器'询问此资讯;
<br>
名称解析器查询机器内部的主机名称档案(可能是 /etc/hosts 以及/或是知道这项资讯的领域名称伺服器,而名称解析器实际的行为由
/etc/host.conf 档案决定); <br>
如果答案在主机名称档案中,就以此答案回答; <br>
如果是在指定的领域名称伺服器中,你的 PC 就向该机器询问; <br>
如果这部领域名称伺服器已经知道被询问名称的 IP
号码,就以此回答.否则,它会透过网际网路向其它的名称伺服器找寻资讯.最後这部名称伺服器会将资讯传回给原来询问的名称解析器,然後传给要求此资讯的应用程式.
<br>
<br>
当你创造出 PPP 连线时,你需要告诉你的 Linux
机器它可以在哪里找到主机名称对照到 IP
号码(位址解析)的资讯,如此你就可以使用机器的名称而你的电脑可以把这些名称转译成它运作所需的
IP 号码. <br>
<br>
一个方法是输入所有你想联络的主机到 /etc/hosts
档案里(如果你是连上网际网路的话这真的是完全不可能的事);另一个方法是使用相对於机器名称的
IP 号码(要记得全部的 IP
位址是不可能的除非在最小的区域网路上). <br>
<br>
最好的方法是设定你的 Linux
使它知道该到哪取得这项名称到号码的资讯 -
自动地.这项服务是由领域名称伺服器系统所提供.需要做的全部工作是把
IP 号码输入到你的 /etc/resov.conf 档案里. <br>
<br>
10.1. /etc/resolv.conf 档案 <br>
你的 PPP 伺服器系统管理/使用者支援人员应该要提供给你两个 DNS
的 IP 号码(只需要一个 - 但是两个在出问题时可以多些帮助). <br>
<br>
如前所述,Linux 不能以像 MS Windows 95
一样的方式来设定它的名称伺服器的 IP 号码.所以你必须(有礼貌地)坚持你的
ISP 提供你这项资讯! <br>
<br>
你的 /etc/resolv.conf 看起来应该会像这样: <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
domain your.isp.domain.name <br>
nameserver 10.25.0.1 <br>
nameserver 10.25.1.2 <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
<br>
编辑这个档案(如果没有的话就建一个新的)以呈现你的 ISP
提供的资讯.它的拥有者以及权限应该像下面这样:- <br>
<br>
-rw-r--r-- 1 root root 73 Feb 19 01:46 /etc/resolv.conf <br>
<br>
<br>
如果你因为本来就在区域网路上所以已经设立 /etc/resolv.conf
档案的话,只要简单的把 PPP 连线的 DNS 伺服器 IP
号码加到你已有的档案里即可. <br>
<br>
10.2. /etc/host.conf 档案 <br>
你也应该检查你的 /etc/host.conf
档案是否设定正确.它看起来应该像这样 <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
order hosts,bind <br>
multi on <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
<br>
它告诉你的名称解析器在向名称伺服器询问之前先使用主机名称档案中的资讯.
<br>
<br>
<br>
<br>
<br>
<br>
11. 使用 PPP 与 root 权限 <br>
因为 PPP
需要设定网路设备,变更核心递送表格以及诸如此类的动作,所以它需要以
root 的权限来做这些事. <br>
<br>
如果 root 以外的使用者要能建立 PPP 连线,那麽 pppd 程式应该设为以
root 的身分执行(setuid):- <br>
<br>
-rwsr-xr-x 1 root root 95225 Jul 11 00:27 /usr/sbin/pppd <br>
<br>
<br>
如果 /usr/sbin/ppd 不是设定为这样,那麽以 root 的身分下这个指令: <br>
<br>
<br>
chmod u+s /usr/sbin/pppd <br>
<br>
<br>
这样是让 pppd 以 root
的权限执行,即使是由一般使用者所执行的.这能让一般使用者执行的
pppd 具有必要的权限建立网路界面及核心递送表格. <br>
<br>
以 root 的身分执行的程式在安全上是潜在的漏洞,所以你对於设定为
'setuid' 的程式必须非常地小心.许多地程式(包括 pppd)已经被小心地撰写以将用
root 的身分执行的危险降到最低,所以这样做应该是安全地(不过不保证).
<br>
<br>
根据你希望你的系统如何运作而定,特别是如果你希望你系统里的任何使用者都能启始
PPP 连结,你应该把你的 ppp-on/off
指令稿设定为全部的人都可以读取/执行.(如果你的 PC
只由你使用那麽这样大概不错). <br>
<br>
然而,如果你不希望任何人都能起始 PPP
连线(例如,你的孩子在你的 Linux PC
上有帐号而你不希望他们在没有你的监督下连上网际网路),你将得建立一个
PPP 群组(编辑 /etc/group 档案)并且: <br>
<br>
将 pppd 设定为以 root 的权限执行,拥有者是 root 而群组是 PPP,而其它的权限都关闭.它看起来应该像这样
<br>
-rwsr-x--- 1 root PPP 95225 Jul 11 00:27 /usr/sbin/pppd <br>
<br>
使 ppp-on/off 指令稿由使用者 root 以及群组 PPP 所拥有 <br>
使 ppp-of/off 指令稿能由群组 PPP 读取/执行 <br>
-rwxr-x--- 1 root PPP 587 Mar 14 1995 /usr/sbin/ppp-on <br>
-rwxr-x--- 1 root PPP 631 Mar 14 1995 /usr/sbin/ppp-off <br>
<br>
关闭其它的存取权限 <br>
把能够起动 PPP 的使用者加入 /etc/group 档案的 PPP 群组里 <br>
<br>
即使如此,一般使用者仍然无法以软体的方式中止连结.执行 ppp-off
指令稿需要 root 的权限.然何,任何使用者都可以关掉数据机(或将电话线由内接式数据机拔下).
<br>
<br>
另外一种(更好的)办法,允许使用者使用 sudo 来起动 ppp
连结.这样可以提供更佳的安全性并且可以让你设定让任何(可信任的)使用者使用指令稿来启动/结束连结.使用
sudo 可以让一位可信任的使用者乾净而安全地启动/结束 PPP 连结. <br>
<br>
12. 设定 PPP 连接档案 <br>
你必须以 root 身份签入来建立这些目录并且编辑这些设立 PPP
连线所需的档案,即使你想让所有的使用者都能使用 PPP. <br>
<br>
PPP 使用几个档案来建立并设定 PPP 连结.这些档案在 PPP 2.1.2 与 2.2
中的名称与位置都不同. <br>
<br>
在 PPP 2.1.2 中这些档案是:- <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
/usr/sbin/pppd # PPP 执行档 <br>
/usr/sbin/ppp-on # 拨号/连线指令稿 <br>
/usr/sbin/ppp-off # 断线指令稿 <br>
/etc/ppp/options # 所有连线所使用的选项 <br>
/etc/ppp/options.ttyXX # 给某一特定通讯埠使用的选项 <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
<br>
在 PPP 2.2 中这些档案是:- <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
/usr/sbin/pppd # PPP 执行档 <br>
/etc/ppp/scripts/ppp-on # 拨号/连线指令稿 <br>
/etc/ppp/scripts/ppp-on-dialer # 拨号的 chat 指令稿部份 <br>
/etc/ppp/scripts/ppp-off # 断线指令稿 <br>
/etc/ppp/options # 所有连线所使用的选项 <br>
/etc/ppp/options.ttyXX # 给某一特定通讯埠使用的选项 <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
<br>
Red Hat Linux 的使用者应注意标准的 Red Hat 4.X 安装将这些指令稿放在
/usr/doc/ppp-2.2.0f-2/scripts. <br>
<br>
在你的 /etc 目录里应该要有个目录: <br>
<br>
drwxrwxr-x 2 root root 1024 Oct 9 11:01 ppp <br>
<br>
<br>
如果它不存在的话 - 以这样的权限建立它. <br>
<br>
如果这个目录已经存在,它应该会包含一个称为 options.tpl
的选项档案样板.这个档案包括在下面. <br>
<br>
因为它包含所有 PPP 选项的解释所以请你把它印出来(配合 pppd
的线上使用手册来阅读将会是很有用的).虽然你可以使用这个档案作为
/etc/ppp/options
档案的基础,但是建立你自己的,没有包含所有在这个样板里的指令的选项档案可能会更好
- 它会短得多而且比较容易阅读/维护. <br>
<br>
如果你有多个串列线路/数据机(典型的例子是 PPP
伺服器),那麽建立一个一般化的 /etc/ppp/options
档案,其中包含每个你提供支援拨入的串列埠所使用的共同选项并且为每一个需要个别设定以建立
PPP 连线的串列线路设立个别的选项档案. <br>
<br>
这些档案名为 options.ttyx1, options.ttyx2 依此类推(其中 x
是你串列埠的适当代码). <br>
<br>
然而,对於单一 PPP 连线,你可以直接使用 /etc/ppp/options
这个档案.另外一种办法,你可以把所有的选项放进 pppd
指令作为参数. <br>
<br>
使用 /etc/ppp/options.ttySx
档案的设定方式会比较容易加以维护.如果你使用 PPP
来连线到好几个不同的节点去的话,那麽你就可以在
/etc/ppp/options.site
里面为每个节点建立选项档案然後在你连线时指定选项档案作为 PPP
指令的参数. (使用 file option-file 参数於 pppd 的指令列). <br>
<br>
12.1. 替代的 options.tpl 档案 <br>
某些个 PPP 的发行套件似乎漏失了 options.tpl
这个档案,所以在这里有个完整的档案.我建议你不要直接编辑这个档案来建立你自己的
/etc/ppp/options.把它拷贝到一个新的档案然後编辑该档案比较好.如果你弄乱了你编辑的档案,你可以回头从原始档案再度开始.
<br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
# /etc/ppp/options -*- sh -*- general options for pppd <br>
# created 13-Jul-1995 jmk <br>
# autodate: 01-Aug-1995 <br>
# autotime: 19:45 <br>
<br>
# Use the executable or shell command specified to set up the serial <br>
# line. This script would typically use the "chat" program to dial the <br>
# modem and start the remote ppp session. <br>
#connect "echo You need to install a connect command." <br>
<br>
# Run the executable or shell command specified after pppd has <br>
# terminated the link. This script could, for example, issue commands <br>
# to the modem to cause it to hang up if hardware modem control signals <br>
# were not available. <br>
#disconnect "chat -- \d+++\d\c OK ath0 OK" <br>
<br>
# async character map -- 32-bit hex; each bit is a character <br>
# that needs to be escaped for pppd to receive it. 0x00000001 <br>
# represents '\x01', and 0x80000000 represents '\x1f'. <br>
#asyncmap 0 <br>
<br>
# Require the peer to authenticate itself before allowing network <br>
# packets to be sent or received. <br>
#auth <br>
<br>
# Use hardware flow control (i.e. RTS/CTS) to control the flow of data <br>
# on the serial port. <br>
#crtscts <br>
<br>
# Use software flow control (i.e. XON/XOFF) to control the flow of data <br>
# on the serial port. <br>
#xonxoff <br>
<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -