Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。本文主要介绍Linux pppd 命令。

1、命令简介

pppd:用于配置和启动 PPP(Point-to-Point Protocol)连接的命令行工具。PPP通常用于建立拨号连接或其他类型的网络连接。

2、命令语法

pppd [ options ]

3、命令描述

PPP 是用于在拨号调制解调器、DSL 连接和许多其他类型的点对点链接上建立互联网连接的协议。pppd 守护程序与内核 PPP 驱动程序一起工作,用于与另一个系统(称为对等方)建立和维护 PPP 链接,并为链接的每一端协商互联网协议(IP)地址。pppd 还可以对对等方进行身份验证和/或向对等方提供身份验证信息。PPP 可以与 IP 以外的其他网络协议一起使用,但这种用法变得越来越少见。

4、命令选项

选项

描述

ttyname

使用叫做ttyname的串口与对等方通信。

如果ttyname没有以斜杠(/)开头,

则会在其前面加上字符串"/dev/"。

如果没有给出设备名称,

或者给出了连接到标准输入的终端,

则pppd将使用该终端,

并且不会分叉到后台运行。

非特权用户不能覆盖来自特权源的此选项值。

speed

十进制数,用作串行设备的期望波特率。

在4.4BSD和NetBSD等系统上,

可以指定任何速度。

其他系统(例如Linux,SunOS)

只支持常用的波特率。

asyncmap map

为链接的这一端设置异步控制字符映射(ACCM)。

ACCM是一组32位,每位代表一个ASCII控制字符的值从0到31,

其中1位表示在发送给本系统的PPP数据包中不应使用相应的控制字符。

映射被编码为十六进制数(没有前导的0x),

最不重要的位(00000001)代表字符0,

最重要的位(80000000)代表字符31。

Pppd将请求对方将这些字符作为2字节转义序列发送。

如果给出了多个asyncmap选项,

则这些值将进行逻辑或操作。

如果没有给出asyncmap选项,默认为零,

因此pppd将请求对方不转义任何控制字符。

要转义传输的字符,请使用escape选项。

auth

在允许发送或接收网络数据包之前,

要求对等方进行身份验证。

如果系统有默认路由,

则此选项是默认选项。

如果没有指定此选项或noauth选项,

pppd将只允许对方使用系统尚无路由的IP地址。

call name

从文件/etc/ppp/peers/name中读取额外的选项。

即使pppd不是由root运行,

这个文件也可以包含诸如noauth之类的特权选项。

name字符串不能以/开头,

也不能包含..作为路径名组件。

选项文件的格式在下文中有描述。

connect script

通常在启动PPP协商之前需要做一些准备工作,

例如,对于拨号调制解调器,

需要发送命令给调制解调器拨打适当的电话号码。

此选项指定pppd在尝试开始PPP协商之前执行的命令

(通过将其传递给shell)。

chat (8) 程序在这里经常很有用,

因为它提供了一种向调制解调器

发送任意字符串并响应接收到的字符的方法。

非特权用户不能覆盖来自特权源的此选项值。

crtscts

指定pppd应设置串行端口使用RTS和CTS信号

在RS-232接口中使用硬件流控制。

如果没有给出crtscts、nocrtscts、cdtrcts或nocdtrcts选项,

则串行端口的硬件流控制设置保持不变。

一些串行端口(如Macintosh串行端口)缺乏真正的RTS输出。

这种串行端口使用这种模式来实现单向流控制。

当调制解调器请求时(通过CTS),

串行端口将暂停传输,

但将无法请求调制解调器停止向计算机发送。

这种模式保留了使用DTR作为调制解调器控制线的能力。

defaultroute

当IPCP协商成功完成时,

向系统路由表中添加一个默认路由,

使用对方作为网关。

断开PPP连接时将删除此条目。

如果指定了nodefaultroute选项,

则此选项是特权选项。

disconnect script

在pppd终止链接后,

通过将脚本传递给shell来执行由脚本指定的命令。

例如,如果没有硬件调制解调器控制信号可用,

此命令可能会向调制解调器发出命令以使其挂断。

如果调制解调器已经挂断,则不会运行断开连接脚本。

非特权用户不能覆盖来自特权源的此选项值。

escape xx,yy,...

指定在传输时应转义的某些字符

(无论对方是否请求它们被转义)。

要转义的字符被指定为逗号分隔的十六进制数列表。

请注意,几乎任何字符都可以为escape选项指定,

与asyncmap选项不同,后者只允许指定控制字符。

不能转义的字符是那些十六进制值为0x20 - 0x3f或0x5e的字符。

file name

从指定的文件读取选项(格式在下文中有描述)。

文件必须可被调用pppd的用户读取。

init script

通过将脚本传递给shell来执行由脚本指定的命令,

以初始化串行线路。

这个脚本通常使用chat(8)程序来配置调制解调器以启用自动应答。

非特权用户不能覆盖来自特权源的此选项值。

lock

指定pppd应为串行设备创建一个UUCP风格的锁文件,

以确保对设备的独占访问。默认情况下,

pppd不会创建锁文件。

mru n

将MRU [最大接收单元]值设置为n。

Pppd将请求对方发送不超过n字节的数据包。

n的值必须在128到16384之间;默认值是1500。

在非常慢的链接上,

296的值运行良好(40字节用于TCP/IP头 + 256字节的数据)。

请注意,对于IPv6协议,MRU必须至少为1280。

mtu n

将MTU [最大传输单元]值设置为n。

除非对方通过MRU协商请求更小的值,

否则pppd将请求内核网络代码

通过PPP网络接口发送不超过n字节的数据包。

请注意,对于IPv6协议,MTU必须至少为1280。

passive

启用LCP中的"passive"选项。使用此选项时,

pppd将尝试启动连接;如果没有收到对方的回复,

pppd将只是被动地等待对方的有效LCP数据包,

而不是退出,就像没有这个选项时那样。

5、使用示例

1)拨号连接

pppd call provider

这将使用名为 provider 的配置文件来建立拨号连接。配置文件通常存储在 /etc/ppp/peers/ 目录中。

2)显示调试信息

pppd call provider debug

使用 debug 选项可以在建立连接时显示详细的调试信息,有助于故障排除。

3)用户名和密码认证

pppd call provider user your_username password your_password

使用 user 和 password 选项可以在建立连接时提供用户名和密码进行认证。

4)串行端口和波特率

pppd /dev/ttyS0 115200

指定串行端口和波特率来建立 PPP 连接。

5)使用 CHAP 认证

pppd call provider chap-secrets

使用 CHAP 认证方式建立连接,配置信息通常存储在 /etc/ppp/chap-secrets 文件中。

6)使用 PAP 认证

pppd call provider pap-secrets

使用 PAP 认证方式建立连接,配置信息通常存储在 /etc/ppp/pap-secrets 文件中。

推荐文档