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
文件中。