JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
マニュアルページセクション 1M: システム管理コマンド     Oracle Solaris 11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

紹介

システム管理コマンド - パート 1

システム管理コマンド - パート 2

mail.local(1M)

makedbm(1M)

makemap(1M)

makeuuid(1M)

masfcnv(1M)

mdlogd(1M)

mdmonitord(1M)

mdnsd(1M)

medstat(1M)

metaclear(1M)

metadb(1M)

metadetach(1M)

metadevadm(1M)

metahs(1M)

metaimport(1M)

metainit(1M)

metaoffline(1M)

metaonline(1M)

metaparam(1M)

metarecover(1M)

metarename(1M)

metareplace(1M)

metaset(1M)

metassist(1M)

metastat(1M)

metasync(1M)

metattach(1M)

mib2mof(1M)

mibiisa(1M)

mkbootmedia(1M)

mkdevalloc(1M)

mkdevmaps(1M)

mkfifo(1M)

mkfile(1M)

mkfs(1M)

mkfs_pcfs(1M)

mkfs_udfs(1M)

mkfs_ufs(1M)

mknod(1M)

mkntfs(1M)

mkpwdict(1M)

modinfo(1M)

modload(1M)

modunload(1M)

mofcomp(1M)

mofreg(1M)

monacct(1M)

monitor(1M)

mount(1M)

mountall(1M)

mountd(1M)

mount_hsfs(1M)

mount_nfs(1M)

mount_pcfs(1M)

mount_smbfs(1M)

mount_tmpfs(1M)

mount_udfs(1M)

mount_ufs(1M)

mpathadm(1M)

mpstat(1M)

msgid(1M)

mvdir(1M)

named(1M)

named-checkconf(1M)

named-checkzone(1M)

named-compilezone(1M)

ncaconfd(1M)

ncheck(1M)

ncheck_ufs(1M)

ndd(1M)

ndmpadm(1M)

ndmpd(1M)

ndmpstat(1M)

netadm(1M)

netcfg(1M)

netcfgd(1M)

netservices(1M)

netstat(1M)

netstrategy(1M)

newaliases(1M)

newfs(1M)

newkey(1M)

nfs4cbd(1M)

nfsd(1M)

nfslogd(1M)

nfsmapid(1M)

nfsref(1M)

nfsstat(1M)

nscadm(1M)

nscd(1M)

nscfg(1M)

nslookup(1M)

nsupdate(1M)

ntfscat(1M)

ntfsclone(1M)

ntfscluster(1M)

ntfscmp(1M)

ntfscp(1M)

ntfsfix(1M)

ntfsinfo(1M)

ntfslabel(1M)

ntfsls(1M)

ntfsprogs(1M)

ntfsresize(1M)

ntfsundelete(1M)

nulladm(1M)

nwamd(1M)

obpsym(1M)

oplhpd(1M)

parted(1M)

pbind(1M)

pcitool(1M)

pginfo(1M)

pgstat(1M)

picld(1M)

ping(1M)

pkg2du(1M)

pkgadd(1M)

pkgadm(1M)

pkgask(1M)

pkgchk(1M)

pkgcond(1M)

pkgrm(1M)

plockstat(1M)

pntadm(1M)

polkit-is-privileged(1M)

pooladm(1M)

poolbind(1M)

poolcfg(1M)

poold(1M)

poolstat(1M)

ports(1M)

poweradm(1M)

poweroff(1M)

powertop(1M)

pppd(1M)

pppoec(1M)

pppoed(1M)

pppstats(1M)

praudit(1M)

prctmp(1M)

prdaily(1M)

projadd(1M)

projdel(1M)

projmod(1M)

prstat(1M)

prtacct(1M)

prtconf(1M)

prtdiag(1M)

prtdscp(1M)

prtfru(1M)

prtpicl(1M)

prtvtoc(1M)

psradm(1M)

psrinfo(1M)

psrset(1M)

pwck(1M)

pwconv(1M)

quot(1M)

quota(1M)

quotacheck(1M)

quotaoff(1M)

quotaon(1M)

raidctl(1M)

ramdiskadm(1M)

rarpd(1M)

rcapadm(1M)

rcapd(1M)

rctladm(1M)

rdate(1M)

rdisc(1M)

reboot(1M)

rem_drv(1M)

remove_allocatable(1M)

removef(1M)

reparsed(1M)

repquota(1M)

restricted_shell(1M)

rexd(1M)

rexecd(1M)

rlogind(1M)

rmmount(1M)

rmt(1M)

rmvolmgr(1M)

rndc(1M)

rndc-confgen(1M)

roleadd(1M)

roledel(1M)

rolemod(1M)

root_archive(1M)

route(1M)

routeadm(1M)

routed(1M)

rpcbind(1M)

rpc.bootparamd(1M)

rpcinfo(1M)

rpc.mdcommd(1M)

rpc.metad(1M)

rpc.metamedd(1M)

rpc.metamhd(1M)

rpc.rexd(1M)

rpc.rstatd(1M)

rpc.rusersd(1M)

rpc.rwalld(1M)

rpc.smserverd(1M)

rpc.sprayd(1M)

rpc.yppasswdd(1M)

rpc.ypupdated(1M)

rquotad(1M)

rsh(1M)

rshd(1M)

rstatd(1M)

rtc(1M)

rtquery(1M)

runacct(1M)

rusersd(1M)

rwall(1M)

rwalld(1M)

rwhod(1M)

sa1(1M)

sa2(1M)

sadc(1M)

sar(1M)

sasinfo(1M)

savecore(1M)

sbdadm(1M)

scadm(1M)

sckmd(1M)

scmadm(1M)

sconadm(1M)

sdpadm(1M)

sendmail(1M)

sf880drd(1M)

sftp-server(1M)

shadowd(1M)

shadowstat(1M)

share(1M)

shareall(1M)

sharectl(1M)

share_nfs(1M)

share_smb(1M)

showmount(1M)

shutacct(1M)

shutdown(1M)

slpd(1M)

smattrpop(1M)

smbadm(1M)

smbd(1M)

smbiod(1M)

smbiod-svc(1M)

smbios(1M)

smbstat(1M)

smrsh(1M)

smtnrhdb(1M)

smtnrhtp(1M)

smtnzonecfg(1M)

smtp-notify(1M)

sndradm(1M)

sndrd(1M)

sndrsyncd(1M)

snmpdx(1M)

snmp-notify(1M)

snmpXwbemd(1M)

snoop(1M)

soconfig(1M)

soladdapp(1M)

soldelapp(1M)

solstice(1M)

sppptun(1M)

spray(1M)

sprayd(1M)

srptadm(1M)

sshd(1M)

ssh-keysign(1M)

startup(1M)

statd(1M)

stclient(1M)

stmfadm(1M)

stmsboot(1M)

strace(1M)

strclean(1M)

strerr(1M)

sttydefs(1M)

su(1M)

sulogin(1M)

svadm(1M)

svcadm(1M)

svccfg(1M)

svc.configd(1M)

svc.ipfd(1M)

svc.startd(1M)

swap(1M)

sync(1M)

syncinit(1M)

syncloop(1M)

syncstat(1M)

sysconfig(1M)

sysdef(1M)

syseventadm(1M)

syseventconfd(1M)

syseventd(1M)

syslogd(1M)

talkd(1M)

tapes(1M)

tcxconfig(1M)

telnetd(1M)

tftpd(1M)

th_define(1M)

th_manage(1M)

tic(1M)

tncfg(1M)

tnchkdb(1M)

tnctl(1M)

tnd(1M)

tninfo(1M)

tpmadm(1M)

traceroute(1M)

trapstat(1M)

ttymon(1M)

tunefs(1M)

turnacct(1M)

txzonemgr(1M)

tzreload(1M)

tzselect(1M)

uadmin(1M)

ucodeadm(1M)

ufsdump(1M)

ufsrestore(1M)

umount(1M)

umountall(1M)

umount_smbfs(1M)

unlink(1M)

unshare(1M)

unshareall(1M)

unshare_nfs(1M)

システム管理コマンド - パート 3

pppd

- ポイントツーポイントプロトコルデーモン

形式

pppd [tty_name] [speed] [options]

機能説明

ポイントツーポイントプロトコル (PPP) は、シリアルのポイントツーポイントリンク上でデータグラムを伝送する方法を提供します。PPP は、シリアルリンク上でのデータグラムのカプセル化機能、拡張可能なリンク制御プロトコル (LCP)、およびさまざまなネットワークレイヤープロトコルの確立と設定を行う一群のネットワーク制御プロトコル (NCP) の 3 つの部分から構成されています。

カプセル化方式は、カーネル内のドライバコードによって提供されます。pppd は、基本的な LCP 認証機能、およびインターネットプロトコル (IP) と IPv6 の確立と設定を行ういくつかの NCP (IP 制御プロトコル (IPCP) および IPV6CP と呼ばれる) を提供します。

オプション

ここでは、pppd のオプションについて説明します。

オプションファイル

オプションは、ファイルおよびコマンド行から読み込まれます。pppd は、コマンド行のオプションを処理する前に、/etc/ppp/options$HOME/.ppprc、および /etc/ppp/options.ttyname ファイルからこの順にオプションを読み込みます。(options.ttyname ファイルの読み込み前に、端末名を取得するためにコマンド行オプションがスキャンされる。)options.ttyname ファイル名を構築するために、端末名から先頭の /dev/ が取り除かれ、残ったスラッシュ文字 (/) がドットで置き換えられます。たとえば、シリアルデバイス /dev/cua/a の場合、/etc/ppp/options.cua.a が読み込まれます。

オプションファイルの内容は、スペースで区切られた一連の文字列として構文解析されます。スペースを含む文字列は二重引用符 (") で囲むことで 1 つの文字列として解釈されるようになります。バックスラッシュ (\) は、直後の 1 文字をクォートします。ハッシュ文字 (#) はコメントの始まりとして解釈され、行末までがコメントとみなされます。オプションファイル中での file および call のオプションの使用制限はありません。

よく使われるオプション

<tty_name>

指定したデバイスを介して通信します。必要に応じて、前に /dev/ 文字列が追加されます。デバイス名が指定されていない場合や標準入力に接続された端末の名前が指定された場合、pppd はその端末を使用し、バックグラウンド実行のためのフォークを行いません。このオプションの値が特権ソースから読み込まれた場合、非特権ユーザーがそれを上書きすることはできません。

<speed>

ボーレートを <speed> に設定します (10 進数)。デフォルトでは、ボーレートは変更されません。通常、このオプションはダイアルアウトにのみ必要です。

asyncmap <map>

async 文字マップを <map> に設定します。このマップは、シリアル回線上でどの制御文字が正常に受信できないかを記述するものです。pppd は、これらの文字を 2 バイトのエスケープシーケンスとして送信するよう、相手に依頼します。引数は 32 ビットの 16 進数であり、各ビットがエスケープする文字を表しています。ビット 0 (00000001) は文字 0x00 を表し、ビット 31 (80000000) は文字 0x1f つまり '^_' を表します。複数の asyncmap オプションが指定された場合、それらの値の論理和が採用されます。asyncmap オプションが指定されていない場合、pppd は値 0 のネゴシエーションを試みます。相手が同意した場合、標準の制御文字はエスケープされなくなります。ネゴシエーションを無効にし、すべての制御文字をエスケープするには、default-asyncmap オプションを使用します。

auth

ネットワークパケットの送受信を許可する前に、相手に自己認証を要求します。システムにデフォルト経路が設定されている場合、このオプションはデフォルトです。auth または noauth オプションが指定されていない場合、pppd は、システムでまだ経路設定されてない IP アドレスだけを使用することを相手に許可します。

call name

ファイル /etc/ppp/peers/name からオプションを読み込みます。pppd が root 以外によって実行される場合でも、このファイルには noauth などの特権オプションを含むことができます。文字列 name はスラッシュ (/) で始まってはいけません。また、パス名の一部に連続するピリオド ("..") を含めることはできません。

callback number

Microsoft CBCP を使用して指定の電話番号にコールバックするように要求します。

connect script

script で指定された実行可能ファイルまたはシェルコマンドを使用して、シリアル回線をセットアップします。通常、このスクリプトでは chat(1M) プログラムを使用してモデムにダイアルコマンドを送り、リモート PPP セッションを開始します。このオプションの値が特権ソースから読み込まれた場合、非特権ユーザーがそれを上書きすることはできません。

crtscts

シリアルポートのデータフロー制御にハードウェアフロー制御 (RTS/CTS) を使用します。crtsctsnocrtsctscdtrcts、または nocdtrcts オプションが指定されていない場合、シリアルポートのハードウェアフロー制御の設定は変更されずにそのままになります。一部のシリアルポートでは、実際の RTS 出力がなく、このモードを使用して単方向のフロー制御を実装します。シリアルポートは、モデムから CTS によって要求されると伝送を中断しますが、コンピュータへの送信を停止するようにモデムに要求することはできません。このモードでは、DTR をモデム制御回線として使用できます。

defaultroute

IPCP ネゴシエーションが正常に完了すると、相手をゲートウェイとするデフォルト経路をシステムのルーティングテーブルに追加します。このエントリは、PPP 接続が切断された際に削除されます。nodefaultroute オプションが指定されている場合、このオプションは特権オプションとなります。

disconnect script

pppd が接続を切断したあとに、script で指定された実行可能コマンドまたはシェルコマンドを実行します。通常、このスクリプトは、ハードウェアモデム制御信号を使用できない場合にモデムを切断するために使用されます。モデムがすでに切断されている場合には、disconnect は実行されません。このオプションの値が特権ソースから読み込まれた場合、非特権ユーザーがそれを上書きすることはできません。

escape xx,yy,...

伝送時にエスケープする文字を指定します。相手が async 制御文字マップでエスケープを要求しているかどうかには影響されません。エスケープする文字は、コンマで区切った 16 進数のリストで指定します。制御文字しか指定できない asyncmap オプションとは異なり、escape オプションではほとんどの文字を指定できます。ただし、16 進表記で 0x20 から 0x3f までと 0x5e の文字はエスケープできません。

file name

オプションをファイル name から読み込みます。このオプションをコマンド行または $HOME/.ppprc で使用する場合、pppd を起動するユーザーが読み取ることのできるファイルでなければなりません。このオプションにかかわらず常に pppd で読み込まれるファイルのリストについては、オプションファイルを参照してください。

init script

script で指定された実行可能コマンドまたはシェルコマンドを実行して、シリアル回線を初期化します。通常、このスクリプトでは chat(1M) プログラムを使用してモデムを設定し、自動応答を有効にします。このオプションの値が特権ソースから読み込まれた場合、非特権ユーザーがそれを上書きすることはできません。

lock

シリアルデバイスに対する排他的アクセスを確実に行うために、UUCP 形式のロックファイルを作成するよう pppd に指示します。

mru n

最大受信ユニット (MRU) 値を n に設定します。pppd は、相手に n バイトを超えるパケットを送信しないよう要求します。最小の MRU 値は 128 です。デフォルトの MRU 値は 1500 です。低速のリンクでは 296 を推奨します (TCP/IP ヘッダー 40 バイト + データ 256 バイト)。IPv6 の場合、MRU は 1280 以上でなければなりません。

mtu n

最大転送単位 (MTU) 値を n に設定します。相手が MRU ネゴシエーションを通じてこれより小さい値を要求してこないかぎり、pppd は、PPP ネットワークインタフェースを通して送信するデータパケットのサイズを n バイト以下にするよう、カーネルのネットワークコードに要求します。IPv6 の場合、MTU は 1280 以上でなければなりません。

passive

LCP で「passive」オプションを有効にします。このオプションを指定すると、接続を開始しようとしても相手から応答がない場合、pppd は有効な LCP パケットを受動的に待ち続けます。このオプションを指定しなければ、相手から応答がない場合に pppd は終了します。

オプション

<local_IP_address>:<remote_IP_address>

ローカルインタフェースとリモートインタフェースの IP アドレスを設定します。どちらか一方を省略することもできますが、コロンは必要です。IP アドレスは、ホスト名または 10 進数ドット表記 (例: :10.1.2.3) で指定します。noipdefault オプションが指定された場合を除き、デフォルトのローカルアドレスは、そのシステムの最初の IP アドレスです。リモートアドレスは、オプションで指定されていない場合には相手から取得されます。したがって、単純な場合にはこのオプションは不要です。このオプションでローカルまたはリモートの IP アドレスを指定すると、IPCP ネゴシエーションで相手がこの指定と異なるアドレスを送ってきた場合、pppd はこれを拒否します。ただし、ipcp-accept-localipcp-accept-remote オプションが指定されている場合にはこの限りではありません。

allow-fcs fcs-type

相手への送信データに使用してもよい FCS タイプを設定します。fcs-type には、「crc16」、「crc32」、「null」、または整数をコンマで区切って指定します。デフォルトでは、既知のタイプすべてが許可されています。このオプションを指定すると、その指定に含まれていないタイプを相手が要求した場合、指定のタイプだけを要求する LCP Configure-Nak が送信されます。

allow-ip address(es)

相手が自己認証を行わずに使用してもよい IP アドレスまたはサブネットを指定します。このパラメータの構文解析方法は、秘密情報ファイルで許可される IP アドレスのリストの各要素が構文解析される方法と同じです。詳細については、認証の節を参照してください。

bsdcomp nr,nt

相手に、BSD-Compress 方式を使用して送信パケットを最大コードサイズ nr ビットで圧縮することを要求し、相手への送信パケットを最大コードサイズ nt ビットで圧縮することに同意します。nt が指定されていない場合は、デフォルトで nr の値が使用されます。nrnt には、9 から 15 の範囲の値を使用できます。より大きな値を使用すると、圧縮率は向上しますが、圧縮辞書のためにより多くのカーネルメモリーが消費されます。nr または nt に値 0 を指定すると、その方向の圧縮は無効になります。BSD-Compress 圧縮を完全に無効にするには、nobsdcompbsdcomp 0 を指定してください。このオプションの値が特権ソースから読み込まれた場合、非特権ユーザーがその値を超えるコードサイズを指定することはできません。

cdtrcts

シリアルポートのデータフロー制御に標準でないハードウェアフロー制御 (DTR/CTS など) を使用します。crtsctsnocrtsctscdtrcts、または nocdtrcts オプションが指定されていない場合、シリアルポートのハードウェアフロー制御の設定は変更されずにそのままになります。一部のシリアルポートには、実際の RTS 出力がありません。そのようなシリアルポートでは、このモードを使用して双方向のフロー制御を実装します。ただし、このフロー制御モードでは、DTR をモデム制御回線として使用できません。

chap-interval n

このオプションが指定された場合、pppdn 秒に 1 度、相手へのチャレンジを繰り返します。

chap-max-challenge n

CHAP チャレンジの最大転送回数を n 回に設定します (デフォルト値は 10)。

chap-restart n

CHAP 再開の間隔 (チャレンジの再送のタイムアウト) を n 秒に設定します。デフォルトは 3 です。

connect-delay n

接続スクリプトが終了したあと、相手からの有効な PPP パケットを n ミリ秒まで待機します。この待機時間が経過するか、相手から有効な PPP パケットが受信されると、pppd は最初の LCP パケットを送信してネゴシエーションを開始します。デフォルト値は 1000 (1 秒) です。待機時間が適用されるのは、connect または pty オプションの使用時のみです。

datarate n

ptynottyrecord、または socket オプションの使用時の最大データ速度を n (バイト/秒) に設定します。

debug

接続のデバッグ機能を有効にします。このオプションを指定した場合、pppd は送受信したすべての制御パケットの内容を可読形式でログに記録します。パケットは、daemon 機能を使用し、syslog を経由して debug レベルで記録されます。この情報は、/etc/syslog.conf を適切に設定することによって、ファイルに記録できます。

default-asyncmap

asyncmap ネゴシエーションを無効にし、すべての制御文字を送受信両方向でエスケープさせます。

default-fcs

FCS 代替ネゴシエーションを完全に無効にします。デフォルトでは、FCS 代替オプションは相手に送信されませんが、オプションは受け入れられます。相手がこのオプションを指定した場合は、LCP Configure-Reject が送信されます。

default-mru

MRU (最大受信ユニット) ネゴシエーションを無効にします。このオプションを指定すると、pppd はデフォルトの MRU 値 1500 バイトを送受信両方向で使用します。

deflate nr,nt,e

相手に、deflate 方式を使用して送信パケットを最大ウィンドウサイズ 2**nr バイトで圧縮することを要求し、相手への送信パケットを最大ウィンドウサイズ 2**nt バイト、エフォートレベル e (1 から 9) で圧縮することに同意します。nt が指定されていない場合は、デフォルトで nr の値が使用されます。e を指定しないと、そのデフォルトは 6 になります。nrnt には、9 から 15 の範囲の値を使用できます。より大きな値を使用すると、圧縮率は向上しますが、圧縮辞書のためにより多くのカーネルメモリーが消費されます。(zlib のバグのため、値 8 は使用不可。) nr または nt に値 0 を指定すると、その方向の圧縮は無効になります。deflate 圧縮を完全に無効にするには、nodeflatedeflate 0 を指定してください。(注: 相手がどちらにも対応できる場合、pppd は BSD-Compress よりも deflate 圧縮を優先して要求する。)このオプションの値が特権ソースから読み込まれた場合、非特権ユーザーがその値を超えるコードサイズを指定することはできません。

demand

要求時のみ、つまりデータトラフィックが存在する場合のみ、リンクを開始します。このオプションを使用する場合、リモート IP アドレスを、ユーザーがコマンド行で指定するか、オプションファイルで指定する必要があります。pppd は、相手に接続することなく、まず IP トラフィック用にインタフェースを設定して使用可能にします。トラフィックが現れると、pppd は相手に接続し、ネゴシエーションや認証などの処理を実行します。これが完了すると、pppd はリンクを介してデータパケットの送受信を開始します。demand オプションは暗黙的に persist オプションを指定します。この動作が望ましくない場合、demand オプションのあとに nopersist オプションを使用してください。idle および holdoff オプションも demand オプションとともに使用できます。

domain d

認証のために使用するローカルホスト名にドメイン名 d を付加します。たとえば、gethostname()porsche という名前が返される場合に、完全指定のドメイン名が porsche.Quotron.COM であれば、domain Quotron.COM と指定できます。このように設定すると、pppd は、秘密情報ファイルの中の秘密情報を調べる場合や、相手に対して自己認証を行うときのデフォルト名として、porsche.Quotron.COM を使用します。このオプションは特権オプションです。

endpoint endpoint-value

エンドポイント判別子を設定します (通常は RFC 1990 マルチリンク PPP 処理に使用される)。endpoint-value は、クラス識別子とクラスに依存する値で構成されます。クラス識別子は、「null」、「local」、「IP」、「MAC」、「magic」、「phone」、または 10 進整数のいずれかです。クラスに依存する値が存在する場合は、コロン (:) またはピリオド (.) で識別子から区切ります。この値には、「IP」クラスの場合は標準のドット区切り 10 進表記 IP アドレス、「MAC」クラスの場合は (必要に応じてコロンまたはドットで区切った) 16 進数 6 桁の Ethernet アドレス、あるいは、必要に応じてコロンまたはドットでバイトを区切った 16 進表記の任意のバイト文字列を指定できます。このオプションは使用可能ですが、この実装はマルチリンクをサポートしていません。

fcs fcs-type

相手からの送信データに使用してもらいたい FCS タイプを設定します。fcs-type には、「crc16」、「crc32」、「null」、または整数をコンマで区切って指定します。デフォルトでは、FCS 代替オプションは指定されず、媒体に依存する FCS タイプが使用されます。このオプションを指定した場合、相手が LCP Configure-Nak を送信したときは、指定したタイプだけが使用されます。共通のタイプがない場合、FCS 代替オプションは次の LCP Configure-Request から省略され、デフォルトに戻ります。

hide-password

このオプションを指定すると、pppd は PAP パケットの内容をログに記録するときにパスワード文字列を除外します。これはデフォルトです。

holdoff n

リンクの切断から再開まで何秒待つかを指定します。persist または demand オプション使用時にのみ、このオプションは有効です。アイドルであったためにリンクが切断された場合は、この抑止期間は適用されません。

ident string

LCP 識別文字列を設定します。デフォルト値は、--version オプションで表示されるものに似たバージョン文字列です。

idle n

リンクのアイドル状態が n 秒続いた場合は切断するように pppd に指定します。データパケット (つまり IP パケット) の送受信が行われていないとき、リンクはアイドル状態とみなされます。demand オプションを使用せずに persist オプションを使用する場合は、このオプションを使用しないでください。

ipcp-accept-local

このオプションを指定すると、別のオプションでローカル IP アドレスが指定されている場合でも、pppd は相手からのローカル IP アドレスの指定を受け入れます。

ipcp-accept-remote

このオプションを指定すると、別のオプションでリモート IP アドレスが指定されている場合でも、pppd は相手からのリモート IP アドレスの指定を受け入れます。

ipcp-max-configure n

IPCP Configure-Request の最大転送回数を n 回に設定します (デフォルト値は 10)。

ipcp-max-failure n

IPCP Configure-Reject の送信を開始するまでの IPCP Configure-NAK の最大送信回数を n 回に設定します (デフォルト値は 10)。

ipcp-max-terminate n

IPCP Terminate-Request の最大転送回数を n 回に設定します (デフォルト値は 3)。

ipcp-restart n

IPCP 再開の間隔 (再送のタイムアウト) を n 秒に設定します (デフォルト値は 3)。

ipparam string

ip-up と ip-down スクリプト用に追加のパラメータを指定します。このオプションを指定すると、string がこれらのスクリプトに 6 番目のパラメータとして指定されます。スクリプトの節を参照してください。

ipv6 <local_interface_identifier>,<remote_interface_identifier>

ローカルおよびリモートの 64 ビットのインタフェース識別子を設定します。どちらか一方を省略することもできます。識別子は、IPv6 アドレスの標準 ASCII 表記法で指定する必要があります (例: ::dead:beef)。ipv6cp-use-ipaddr オプションを指定すると、ローカル識別子とリモート識別子はそれぞれ対応する IPv4 アドレスから生成されます (前記を参照)。ipv6 <local>,<remote> オプションの代わりに ipv6cp-use-persistent オプションを使用することもできます。

ipv6cp-accept-local

相手のインタフェース識別子をローカルリンク識別子として受け入れます。

ipv6cp-max-configure n

IPv6CP Configure-Request の最大転送回数を n 回に設定します (デフォルト値は 10)。

ipv6cp-max-failure n

IPv6CP Configure-Reject の送信を開始するまでの IPv6CP Configure-NAK の最大送信回数を n 回に設定します (デフォルト値は 10)。

ipv6cp-max-terminate n

IPv6CP Terminate-Request の最大転送回数を n 回に設定します (デフォルト値は 3)。

ipv6cp-restart n

IPv6CP 再開の間隔 (再送のタイムアウト) を n 秒に設定します (デフォルト値は 3)。

ipv6cp-use-ipaddr

ローカルまたはリモートの IPv6 アドレスが指定されていない場合、対応する構成済み IPv4 アドレスをデフォルトのインタフェース識別子として使用します。このオプションを指定すると、ネゴシエーションで取得されたアドレスではなく、構成済みのアドレスが使用されます。このオプションを使用する場合、ローカルの IPv6 識別子を指定しないときは ipcp-accept-local オプション、リモートの IPv6 識別子を指定しないときは ipcp-accept-remote オプションを併用しないでください。

ipv6cp-use-persistent

一意に使用可能な永続的値をリンクローカルアドレスに使用します。

kdebug n

カーネルレベルの PPP ドライバのデバッグコードを有効にします。引数 n には、次の値のうち必要なものの合計を指定します。1 は一般的なデバッグメッセージ出力を有効にします。2 は受信したパケットの内容の出力を要求します。4 は送信したパケットの内容の出力を要求します。カーネルによって出力されるメッセージは、/etc/syslog.conf 設定ファイルで指定されているファイルに syslogd(1M) によって記録されます。障害の発生したリンクをデバッグする場合には、kdebug オプションを使用しないでください。代わりに、debug オプションを使用してください。

lcp-echo-failure n

このオプションを指定すると、LCP Echo-Request を n 回送信しても相手から有効な LCP Echo-Reply が受信されない場合、pppd は相手がダウンしているとみなします。このような場合、pppd は接続を切断します。このオプションを使用する場合は、lcp-echo-interval パラメータに 0 以外の値を指定する必要があります。このオプションを使用すると、ハードウェアモデム制御回線が使用できない状況で、モデムの切断などによって物理的な接続が切断されたあとに pppd を終了できます。

lcp-echo-interval n

このオプションが指定された場合、pppdn 秒に 1 度、相手に LCP Echo-Request フレームを送信します。通常、相手は Echo-Reply を送信して Echo-Request に応答します。このオプションを lcp-echo-failure オプションとともに使用して、相手との接続が切断されたことを検出できます。

lcp-max-configure n

LCP Configure-Request の最大転送回数を n 回に設定します (デフォルト値は 10)。

lcp-max-failure n

LCP Configure-Reject の送信を開始するまでの LCP Configure-NAK の最大送信回数を n 回に設定します (デフォルト値は 10)。

lcp-max-terminate n

LCP Terminate-Request の最大送信回数を n 回に設定します (デフォルト値は 3)。

lcp-restart n

LCP 再開の間隔 (再送のタイムアウト) を n 秒に設定します (デフォルト値は 3)。

linkname name

リンクの論理名を name に設定します。pppd は、そのプロセス ID を含む ppp-name.pid というファイルを /var/run 内に作成します。これは、特定の相手に対するリンクをどの pppd インスタンスが処理しているかを特定するのに役立ちます。これは特権オプションです。

local

モデム制御回線を使用しません。このオプションを指定すると、pppd は、モデムからの CD (Carrier Detect) 信号の状態を無視し、DTR (Data Terminal Ready) 信号の状態を変更しません。

logfd n

ログメッセージをファイル記述子 n に送信します。pppd は、ログメッセージを syslog に送るとともに、最大 1 つのファイルまたはファイル記述子に送信するため、このオプションと logfile オプションを同時に指定することはできません。デフォルトでは、stdout でシリアルポートが開いている場合を除き、pppd はログメッセージを stdout (ファイル記述子 1) に送信します。

logfile filename

ログメッセージを syslog に送るとともに、ファイル filename に追加します。このファイルは追加モードで開かれ、pppd を起動したユーザーの特権が割り当てられます。

login

PAP を使用した相手の認証にシステムパスワードデータベースを使用し、ユーザーをシステムの wtmp ファイルに記録します。アクセスが許可されるためには、/etc/ppp/pap-secrets ファイルとシステムパスワードデータベースの両方に、相手のエントリが存在する必要があります。

maxconnect n

ネットワークトラフィックの使用開始から n 秒後に (つまり、最初のネットワーク制御プロトコルの開始から n 秒後に) 接続を切断します。最初の NCP の開始時と、残り時間が 5 分、2 分、および 0.5 分になったときに、LCP Time-Remaining メッセージが送信されます。

maxfail n

接続試行が n 回連続して失敗すると終了します。値 0 は制限を設定しないことを意味します。デフォルト値は 10 です。

modem

モデム制御回線を使用します。このオプションはデフォルトです。このオプションを指定すると、pppd は (接続スクリプトが指定されていなければ) モデムからの CD (Carrier Detect) 信号を待ってからシリアルデバイスを開き、接続の終了時および接続スクリプトの実行前に DTR (Data Terminal Ready) 信号を短時間落とします。

ms-dns <addr>

pppd が Microsoft Windows クライアントのサーバーとして動作している場合、このオプションを指定すると、pppd は 1 つまたは 2 つの DNS (Domain Name Server) アドレスをクライアントに提供できます。このオプションの最初のインスタンスはプライマリ DNS アドレスを指定します。2 つ目のインスタンスがあれば、それはセカンダリ DNS アドレスを指定します。最初のインスタンスで指定された名前が複数の IP アドレスに解決される場合は、最初の 2 つのアドレスが使用されます。このオプションは、古いバージョンの pppd では dns-addr という名前でした。

ms-lanman

pppd が Microsoft サーバーにクライアントとして接続し、認証に MS-CHAPv1 を使用する場合、このオプションを指定すると、Microsoft NT ではなく LAN Manager のパスワード形式が使用されます。

ms-wins <addr>

pppd が Microsoft Windows クライアントまたは Samba クライアントのサーバーとして動作している場合、このオプションを指定すると、pppd は 1 つまたは 2 つの WINS (Windows Internet Name Services) サーバーアドレスをクライアントに提供できます。このオプションの最初のインスタンスはプライマリ WINS アドレスを指定します。2 つ目のインスタンスがあれば、それはセカンダリ WINS アドレスを指定します。ms-dns と同様に、指定された名前が複数の IP アドレスに解決される場合は、最初の 2 つのアドレスがプライマリおよびセカンダリとして使用されます。

name name

認証のために使用するローカルシステム名を name に設定します。これは特権オプションです。このオプションを指定すると、pppd は秘密情報ファイルの第 2 フィールドが name である行を使用して秘密情報を探し、相手の認証に使用します。さらに、user オプションで上書きされる場合を除き、ローカルシステムの認証を行うときに相手に送る名前として name を使用します。なお、pppdname にドメイン名を付加しません。

no-accm-test

LCP Echo-Request メッセージを使用した asyncmap (ACCM) チェックを無効にします。lcp-echo-failure が非同期回線に使用されている場合、pppd は最初の n 個の LCP Echo-Request メッセージにすべての制御文字を含めます。asyncmap が正しく設定されていない場合、リンクはランダムな障害で動作を継続するのではなく終了します。このオプションを指定すると、この機能は無効になります。

noaccomp

HDLC Address/Control 圧縮を双方向 (送受信) で無効にします。

noauth

相手に自己認証を要求しません。このオプションは特権オプションです。

nobsdcomp

BSD-Compresss 圧縮を無効にします。pppd は BSD-Compress 方式を使用したパケット圧縮を要求せず、同意もしません。noccp が指定されている場合、このオプションは不要です。

noccp

CCP (圧縮制御プロトコル) ネゴシエーションを無効にします。相手にバグがある場合や、pppd からの CCP ネゴシエーション要求で相手が混乱する場合にのみ、このオプションが必要です。CCP が無効になっている場合、BSD および deflate 圧縮を個別に無効にする必要はありません。

nocrtscts

シリアルポートのハードウェアフロー制御 (つまり RTS/CTS) を無効にします。crtsctsnocrtsctscdtrcts、または nocdtrcts オプションが指定されていない場合、シリアルポートのハードウェアフロー制御の設定は変更されずにそのままになります。

nocdtrcts

このオプションの機能は nocrtscts と同じです。どちらのオプションも、両方の形式のハードウェアフロー制御を無効にします。

nodefaultroute

defaultroute オプションを無効にします。root 以外のユーザーが pppd でデフォルト経路を作成できないようにするには、このオプションを /etc/ppp/options ファイルに記述してください。

nodeflate

deflate 圧縮を無効にします。pppd は deflate 方式を使用したパケット圧縮を要求せず、同意もしません。noccp が指定されている場合、このオプションは不要です。

nodeflatedraft

インターネットドラフトの (誤って割り当てられた) deflate 圧縮のアルゴリズム番号を使用しません。noccp が指定されている場合、このオプションは不要です。

nodetach

制御端末から切り離しません。このオプションを指定しないと、標準入力上の端末以外のシリアルデバイスが指定された場合、pppd はフォークしてバックグラウンドプロセスになります。

noendpoint

マルチリンクエンドポイント判別子オプションを送信せず、受け入れることもありません。

noident

LCP 識別の使用を無効にします。LCP 識別メッセージが相手に送信されることはありませんが、受信されたメッセージはログに記録されます。LCP 識別を完全に無効にするには、このオプションを 2 回指定します。この場合、pppd は受信した LCP 識別メッセージへの応答として LCP Code-Reject を送信します。

noip

IPCP ネゴシエーションと IP 通信を無効にします。相手にバグがある場合や、pppd からの IPCP ネゴシエーション要求で相手が混乱する場合にのみ、このオプションを使用してください。

noipv6

IPv6CP ネゴシエーションと IPv6 通信を無効にします。IPv6 はデフォルトでは有効になっていません。

noipdefault

ローカル IP アドレスが指定されていない場合にデフォルトで行われる、ホスト名からローカル IP アドレスを (可能であれば) 決定する動作を無効にします。このオプションを指定した場合には、IPCP ネゴシエーション時に相手がローカル IP アドレスを指定する必要があります (明示的にコマンド行で指定されているか、オプションファイルで指定されている場合を除く)。

nolog

ファイルやファイル記述子にログメッセージを送りません。このオプションを指定すると、logfd オプションと logfile オプションが取り消されます。nologfd はこのオプションの別名として機能します。

nomagic

マジックナンバーネゴシエーションを無効にします。このオプションを指定すると、pppd はループバック回線を検出できません。相手にバグがある場合にのみ、このオプションを使用してください。「Serial line is looped back」というエラーメッセージを回避するためにこのオプションを使用しないでください。

nopam

この特権オプションは、プラグイン可能な認証モジュール (PAM) の使用を無効にします。このオプションを指定すると、pppd は標準の認証メカニズムに戻ります。デフォルトでは、PAM は使用されません。

nopcomp

プロトコルフィールド圧縮ネゴシエーションを送受信両方向で無効にします。

nopersist

接続が確立されたあとで切断されると、実行を終了します。persist または demand オプションが指定されていない場合、これはデフォルトです。

noplink

このオプションを指定すると、pppd は I_PLINK の代わりに I_LINK を使用します。これはデフォルトです。I_LINK を使用しているとき、システムは (SIGKILL が使用された場合でも) 終了したインタフェースをクリーンアップしますが、ifconfig(1M) による PPP ストリームの unplumb や、モジュールの動的な挿入、削除は許可しません。ifconfig(1M) の modinsert、modremove、または unplumb をサポートする必要がある場合は、plink オプションを使用してください。

nopredictor1

Predictor-1 圧縮を受け入れず、同意もしません。このオプションは互換性のために受け入れられます。実装では、Predictor-1 圧縮はサポートされていません。

noproxyarp

proxyarp オプションを無効にします。ユーザーが pppd でプロキシ ARP エントリを作成できないようにするには、このオプションを /etc/ppp/options ファイルに記述してください。

notty

通常、pppd は端末デバイスを必要とします。このオプションを指定すると、pppd は擬似 tty のマスターとスレーブのペアを自分で割り当て、スレーブを端末デバイスとして使用します。pppd は、擬似 tty マスターとその標準入力および標準出力の間で文字を転送するために、文字分路として機能する子プロセスを作成します。このように、pppd は、その標準出力や標準入力が端末デバイスではない場合でも、標準出力で文字を送信し、標準入力で文字を受信します。このオプションを使用すると、すべての文字が文字分路プロセス経由で送受信される必要があるため、PPP インタフェースでのデータ転送の遅延と CPU オーバーヘッドが増加します。このオプションを使用する場合、デバイス名を明示的に指定することはできません。

novj

Van Jacobson 形式の TCP/IP ヘッダー圧縮を送受信両方向で無効にします。

novjccomp

Van Jacobson 形式の TCP/IP ヘッダー圧縮の接続 ID 圧縮を無効にします。このオプションを指定すると、pppd は Van Jacobson 形式で圧縮された TCP/IP ヘッダーから接続 ID を省略せず、相手にも省略を要求しません。novj が指定されている場合、このオプションは不要です。

pam

この特権オプションは、PAM の使用を有効にします。このオプションを指定すると、login オプションと PAP 認証が使用されている場合、pppdpam(3PAM) フレームワークを使用してサービス名「ppp」でユーザー認証を実行します。デフォルトでは、PAM は使用されません。

papcrypt

このオプションを指定すると、pppd は、/etc/ppp/pap-secrets ファイル内の秘密情報と等しい暗号化前のパスワードを受け入れません。このオプションは、pap-secrets ファイル内の秘密情報が crypt(3C) 形式である場合に使用してください。

pap-max-authreq n

PAP Authenticate-Request の最大転送回数を n 回に設定します (デフォルト値は 10)。

pap-restart n

PAP 再開の間隔 (再送のタイムアウト) を n 秒に設定します (デフォルト値は 3)。

pap-timeout n

相手が PAP による自己認証を行うまで pppd が待機する最大時間を、n 秒に設定します (制限を設定しない場合は 0)。デフォルト値は 30 秒です。

password string

相手への認証に使用するパスワード文字列。

persist

接続が切断されたときに実行を終了するのではなく、再接続を試みます。

plink

このオプションを指定すると、pppd は I_LINK の代わりに I_PLINK を使用します。デフォルトでは I_LINK が使用されます。その場合、システムは (SIGKILL が使用された場合でも) 終了したインタフェースをクリーンアップしますが、ifconfig(1M) による PPP ストリームの unplumb や、モジュールの動的な挿入、削除は許可しません。このオプションは、ifconfig(1M) の modinsert、modremove、または unplumb をサポートする必要がある場合に使用してください。plumbed オプションも参照してください。

plugin filename

共有ライブラリオブジェクトファイル filename をプラグインとして読み込みます。これは特権オプションです。filename でパスが明示的に指定されている場合を除き、読み込むオブジェクトは /etc/ppp/plugins /usr/lib/inet/ppp で (この順に) 検索されます。

plumbed

このオプションを指定すると、pppd は plumb されたインタフェースを探してセッションに使用します。IPv4 アドレス、IPv6 インタフェース ID、リンク MTU は、別の方法で指定されていない場合、選択されたインタフェースからコピーされます。このモードは、以前の aspppd 実装に似た機能を持っているため、ifconfig(1M) を使用する外部アプリケーションとともに pppd を使用する場合に役立つことがあります。

pppmux timer

PPP 多重化オプションのネゴシエーションを有効にし、転送多重化のタイムアウトを timer ミリ秒に設定します。

privgroup group-name

グループ group-name のメンバーに特権オプションの使用を許可します。これは特権オプションです。 group-name のメンバーが pppd を使用して root になる可能性も排除できないため、このオプションを使用するときは注意が必要です。これは group-name のメンバーを root または sys グループに入れることに等しいとみなしてください。

proxyarp

このシステムのアドレス解決プロトコル (ARP) テーブルに、相手の IP アドレスとこのシステムの Ethernet アドレスのエントリを追加します。このオプションを使用すると、ほかのシステムには、相手がローカルの Ethernet 上にあるように見えます。PPP リンク上のリモートアドレスは、Ethernet インタフェースに割り当てられているものと同じサブネットに属している必要があります。

pty script

特定の端末デバイスではなく、コマンド script をシリアル通信に使用することを指定します。pppd は擬似 tty のマスターとスレーブのペアを自分で割り当て、スレーブを端末デバイスとして使用します。script は、擬似 tty マスターを標準入力および標準出力として子プロセス内で実行されます。このオプションを使用する場合、デバイス名を明示的に指定することはできません。(注: record オプションを pty オプションとともに使用すると、子プロセスの標準入力および標準出力にパイプが適用される。)

receive-all

このオプションを指定すると、pppd は、相手からの制御文字をすべて、受信 asyncmap でマークされているものも含めて受け入れます。このオプションを指定しないと、pppdRFC 1662 で指定されている文字を破棄します。ダイアルバックの実装でよく見受けられるように、相手にバグがある場合にのみ、このオプションを使用するようにしてください。

record filename

このオプションを指定すると、pppd は送受信したすべての文字を filename というファイルに記録します。filename は、ユーザーのユーザー ID とアクセス権を使用して、追加モードで開かれます。このオプションでは、擬似 tty とプロセスを使用して、その擬似 tty と実際のシリアルデバイスの間で文字を転送するため、PPP インタフェースでのデータ転送の遅延と CPU オーバーヘッドが増加します。文字はタグ付き形式でタイムスタンプとともに記録され、pppdump(1M) プログラムを使用して可読形式で表示できます。通常、このオプションは pppd のカーネル部分 (特に CCP 圧縮アルゴリズム) のデバッグに使用され、接続構成の問題のデバッグには使用されません。debug オプションを参照してください。

remotename name

認証のために使用する仮定のリモートシステム名を name に設定します。Microsoft WindowsNT は CHAP チャレンジメッセージ内にシステム名を指定しないため、その問題を回避するためにこのオプションがよく使用されます。

refuse-chap

このオプションを指定すると、pppd は、標準のチャレンジハンドシェーク認証プロトコル (CHAP) を使用して相手に対する自己認証を行うことに同意しません。(MS-CHAP には影響しない。)

refuse-mschap

MS-CHAPv1 を使用して相手に対する自己認証を行うことに同意しません。このオプションが指定されている場合、相手からの MS-CHAPv1 認証の要求は LCP Configure-Nak で拒否されます。このオプションを指定しても、CHAP のほかの形式が無効になることはありません。

refuse-mschapv2

MS-CHAPv2 を使用して相手に対する自己認証を行うことに同意しません。このオプションが指定されている場合、相手からの MS-CHAPv2 認証の要求は LCP Configure-Nak で拒否されます。このオプションを指定しても、CHAP のほかの形式が無効になることはありません。

refuse-pap

このオプションを指定すると、pppd は、パスワード認証プロトコル (PAP) を使用して相手に対する自己認証を行うことに同意しません。

require-chap

標準の CHAP 認証を使用して自己認証を行うことを相手に要求します。MS-CHAP には影響しません。

require-mschap

MS-CHAPv1 認証を使用して自己認証を行うことを相手に要求します。

require-mschapv2

MS-CHAPv2 認証を使用して自己認証を行うことを相手に要求します。

require-pap

PAP 認証を使用して自己認証を行うことを相手に要求します。

show-password

このオプションを指定すると、pppd は PAP パケットの内容をログに記録するときに、パスワード文字列をログメッセージに含めます。

silent

このオプションを指定すると、pppd は相手から有効な LCP パケットを受信するまで、接続を開始するための LCP パケットを送信しません。これは旧バージョンの pppd の passive オプションと同様のオプションで、互換性のために残されていますが、現在の passive オプションをお勧めします。

small-accm-test

デフォルトでは、asyncmap (ACCM) の設定をチェックするとき、pppd は使用可能な 256 個の値をすべて使用します。no-accm-test を参照してください。このオプションを指定すると、標準の ACCM ネゴシエーションの影響を受ける 32 個の値だけがテストに使用されます。このオプションは、非常に低速のリンクで役立ちます。

socket host:port

TCP を使用して指定のホストとポートに接続し、この接続上で PPP を実行します。

sync

非同期ではなく同期 HDLC シリアル符号化を使用します。このオプションを指定する場合、pppd で使用されるデバイスに同期のサポートが組み込まれている必要があります。現在は、zsse、および hsi ドライバがサポートされています。

unit n

可能であれば、PPP インタフェースのユニット番号を n に設定します。

updetach

このオプションを指定すると、pppd は PPP 接続を確立したあと、制御端末から切り離します。このオプションが指定されている場合、接続スクリプト (通常は chat(1M)) によって stderr に送信されるメッセージと、debug オプションからのデバッグメッセージは、pppd の標準出力に送られます。

usehostname

認証のために使用するローカルシステム名として、ホスト名を (ドメイン名が指定されている場合はドメイン名を付加して) 使用することを強制します。このオプションは name オプションに優先します。name オプションは特権オプションなので、通常このオプションは不要です。

usepeerdns

最大 2 つの DNS サーバーアドレスを相手に要求します。相手からアドレスが提供された場合、それらは環境変数 DNS1 および DNS2 で /etc/ppp/ip-up スクリプトに渡されます。また、pppd は相手から提供されたアドレスを使用して、1 つまたは 2 つの nameserver 行を含む /etc/ppp/resolv.conf ファイルを作成します。

user name

相手に対してローカルシステムの認証を行うときに使用する名前を name に設定します。

vj-max-slots n

Van Jacobson の TCP/IP ヘッダー圧縮/圧縮解除コードで使用する接続スロット数を n に設定します。2 以上かつ 16 以下の値を指定する必要があります。

welcome script

PPP ネゴシエーション開始前かつ、(もしあれば) 接続スクリプトの完了後に、script で指定された実行可能コマンドまたはシェルコマンドを実行します。このオプションの値が特権ソースから読み込まれた場合、非特権ユーザーがそれを上書きすることはできません。

xonxoff

シリアルポートのデータフロー制御にソフトウェアフロー制御 (XON/XOFF) を使用します。

廃止されたオプション

次のオプションは廃止されました。

+ua name

PAP ユーザー名とパスワードをファイル name から読み込みます。このファイルには、名前とパスワードを表す 2 行が含まれている必要があります。相手が PAP 認証を要求したときに、この名前とパスワードが相手に送信されます。

+ipv6

インタフェース識別子を指定せずに IPv6 と IPv6CP を有効にします。

--version

バージョン番号を表示して終了します。

--help

短いヘルプメッセージを表示して終了します。

拡張機能説明

ここでは、pppd のその他の機能について説明します。

セキュリティー

システム管理者は pppd を使用して、サーバー自体やそのサーバーが稼働しているネットワークのセキュリティーを損なうことなく、正当なユーザーにサーバーマシンへの PPP アクセスを提供できます。相手の認証済み識別情報 (存在する場合) に基づいて相手が使用できる IP アドレスを制限し、また、非特権ユーザーが使用できるオプションを制限することで、アクセス制御が提供されます。潜在的に安全でない設定を許可するオプションは、特権オプションです。特権オプションが受け入れられるのは、システム管理者の制御下にあるファイル内でのみ、または pppd が root によって実行されている場合のみです。

デフォルトでは、pppd は、特定の IP アドレスへの経路がシステムに設定されていない場合に限り、認証されていない相手にその IP アドレスの使用を許可します。たとえば、より広いインターネットへの常時接続を備えたシステムの場合、通常はデフォルト経路が設定されているため、接続を確立するにはどの相手も自己認証を行う必要があります。そのようなシステムでは、auth オプションはデフォルトです。逆に、インターネットへの接続を 1 つだけ含む PPP リンクを備えたシステムでは、デフォルト経路が設定されていない可能性が高いため、相手は自己認証を行うことなく、実質的に任意の IP アドレスを使用できます。

セキュリティーに影響するオプションは特権オプションです。非特権ユーザーが pppd を実行する場合、コマンド行でも、ユーザーの $HOME/.ppprc ファイルでも、または file オプションを使用して読み込まれるオプションファイルでも、特権オプションを使用することはできません。特権オプションは、/etc/ppp/options ファイル内、または call オプションを使用して読み込まれるオプションファイル内で使用できます。root ユーザーが pppd を実行する場合、特権オプションは制限なく使用できます。/etc/ppp/options ファイルが存在しない場合は、root だけが pppd を起動できます。root 以外の通常ユーザーが pppd にアクセスするには、/etc/ppp/options ファイルを作成する必要があります (ただし、空でもよい)。

pppd はデバイスを開くとき、pppd を起動したユーザーのユーザー ID または root UID (つまり、0) を使用します。これは、デバイス名を指定したのがユーザーかシステム管理者かによって異なります。デバイス名が特権ソース (つまり、/etc/ppp/options または call オプションで読み込まれるオプションファイル) から読み込まれた場合、pppd は完全な root 特権を使用してデバイスを開きます。したがって、システム管理者が適切なファイルを /etc/ppp/peers に作成することで、ユーザーは通常であればアクセスできないデバイスを使用して PPP 接続を確立できるようになります。それ以外の場合、pppd は、pppd を起動したユーザーの実 UID を使用してデバイスを開きます。

認証

認証処理では、一方が他方に自分の名前と何らかの秘密情報を送ることにより、自分の身元を認めさせます。認証では、最初の一方が「クライアント」になり、他方が「サーバー」になります。認証用の名前にはそれぞれのインターネットホスト名を使用できますが、これは必須ではありません。

pppd は 4 つの認証プロトコルをサポートしています。つまり、パスワード認証プロトコル (PAP) と、3 つの形式のチャレンジハンドシェーク認証プロトコル (CHAP) です。PAP プロトコルの場合、クライアントは自己認証のために、自己の名前と平文パスワードをサーバーに送ります。CHAP の場合は、サーバーがチャレンジをクライアントに送ることで認証交換を開始します。これに対してクライアントは、自己の名前、および共有シークレットとチャレンジから得られるハッシュ値で応答する必要があります。

PPP プロトコルは対称的です。つまり、両者とも、他方に対する自己認証を要求される可能性があります。交換ごとに異なる認証プロトコルと名前を使用できます。

デフォルトでは、pppd は、要求された場合に自己認証を行い、相手に自己認証を要求しません。ただし、特定のプロトコルでは、自己認証を行うための秘密情報がない場合には pppd は自己認証を行いません。

pppd は認証用の秘密情報を /etc/ppp/pap-secrets ファイル (PAP) および /etc/ppp/chap-secrets ファイル (CHAP) に保存します。どちらのファイルも同じ形式を使用します。pppd は、ほかのシステムに対する自己認証、および自己に対するほかのシステムの認証に、秘密情報ファイルを使用します。

秘密情報ファイルでは、1 行に 1 つの秘密情報が格納されます。秘密情報は、クライアントとサーバーの特定の組み合わせに固有で、そのクライアントがそのサーバーに対して自己認証を行う場合にのみ使用できます。秘密情報ファイルの各行には、少なくとも 3 つのフィールドがあり、クライアント名、サーバー名、およびそのあとに秘密情報が格納されます。多くの場合、これらの 3 つのフィールドに続き、クライアントがサーバーに接続するために使用する IP アドレスが記述されます。

秘密情報ファイルは、クライアント名、サーバー名、および秘密情報が各フィールドに 1 つの文字列で記述されたものとして構文解析されます。1 つの文字列にスペース文字や特殊文字が含まれる場合は、クォートまたはエスケープする必要があります。3 つのフィールドのいずれでも、大文字と小文字は区別されます。

秘密情報がアットマーク (@) で始まっている場合は、秘密情報が含まれているファイルの名前がそのあとに続きます。クライアント名またはサーバー名が単一のアスタリスク (*) で表されている場合は、任意の名前に一致します。一致する対象を選択するとき、pppd はワイルドカードが最小となるものを選択します。pppd は、同じ行の残りの文字列を、そのクライアントに許可される IP アドレスと解釈します。3 つの文字列しかない行や、最初の文字列がハイフン (-) で始まっている行には、IP アドレスを記述できません。任意のアドレスを許可するには、アスタリスク (*) を使用します。感嘆符 (!) で始まっているアドレスは、そのアドレスが受け入れられないことを示します。アドレスの後ろにスラッシュ (/) と数値 n が付加されている場合は、サブネット全体 (最上位 n ビットに同じ値を持つすべてのアドレス) を示します。この形式で、アドレスの後ろにプラス記号 (+) が付加されている場合は、使用中の PPP ネットワークインタフェースのユニット番号に基づいて、サブネットの 1 つのアドレスが承認されることを示します。この場合、アドレスのホスト部分は、そのユニット番号に 1 を加えた値に設定されます。

相手を認証するとき、pppd は秘密情報ファイルで、最初のフィールドに相手の名前があり、2 番目のフィールドにローカルシステムの名前がある秘密情報を選択します。ローカルシステム名のデフォルトはホスト名であり、domain オプションが使用されている場合はドメイン名が付加されます。usehostname オプションが使用されている場合を除き、name オプションでこのデフォルトを上書きできます。

相手に対して自己認証を行うとき、pppd はまず、相手に対して自己の識別情報として使用する名前を決定します。この名前は user オプションで指定されます。user オプションが使用されていない場合、名前はデフォルトでローカルシステムのホスト名になります。次に、pppd は秘密情報ファイルで、最初のフィールドにローカルシステムの名前があり、2 番目のフィールドに相手の名前がある秘密情報を選択します。標準の CHAP 認証が使用される場合、相手の名前はチャレンジパケット内で送信されているため、pppd には相手の名前がわかります。しかし、MS-CHAP または PAP が使用される場合、pppd はユーザーが指定したオプションから相手の名前を決定する必要があります。ユーザーは相手の名前を直接 remotename オプションで指定できます。それ以外の場合、リモート IP アドレスが数値形式でなく名前で指定されたときは、その名前を相手の名前として使用します。これに失敗すると、pppd は相手の名前として NULL 文字列を使用します。

相手を PAP で認証するとき、提供されたパスワードは秘密情報ファイルのデータと比較されます。パスワードが秘密情報と一致しない場合、パスワードは crypt() を使用して暗号化され、再度秘密情報と比較されます。papcrypt オプションが指定されている場合、暗号化されていない最初の比較はセキュリティー向上のために省略されるため、エントリは暗号化された crypt(3C) 形式でなければなりません。

login オプションが指定されている場合は、ユーザー名とパスワードもシステムパスワードデータベースと照合されます。したがって、pap-secrets ファイルを設定することで、特定のユーザーだけに PPP アクセスを許可したり、ユーザーに使用を許可する IP アドレスのセットを制限したりできます。通常、login オプションを使用する場合、/etc/ppp/pap-secrets 内の秘密情報を "" とすることで、相手が提供する任意のパスワードに一致するようになります。これにより、同じ秘密情報を 2 か所で保持する必要がなくなります。login が使用されている場合に pam オプションを指定すると、pam(3PAM) を介したアクセス制御が有効になります。

IPCP (またはほかのネットワークプロトコル) を開始するには、その前に認証が完了している必要があります。相手が自己認証を要求されている場合にそれが失敗すると、pppd は LCP を閉じ、リンクを切断します。IPCP ネゴシエーションで得られたリモートホストの IP アドレスが受け入れられないものだった場合、IPCP は閉じられます。IP パケットは IPCP が開いているときだけ送受信されます。

自己認証できないホストに接続を許可し、制限された IP アドレスの 1 つの使用を許可するには、クライアント名と秘密情報に空の文字列を指定した 1 行を pap-secrets ファイルに追加します。

特定の相手に関する追加の pppd オプションは、秘密情報エントリの後ろに 2 つのダッシュ (––) で区切って指定できます。次に例を示します。

peername servername secret ip-address -- novj

ルーティング

IPCP ネゴシエーションが完了すると、pppd はカーネルに、PPP インタフェースで使用するローカル IP アドレスおよびリモート IP アドレスを通知します。また、リンクのリモート側へのホスト経路を作成して、IP パケットを交換できるようにします。ほかのマシンとの通信には、通常、ルーティングテーブルやアドレス解決プロトコル (ARP) テーブルをさらに変更する必要があります。ほとんどの場合、これには defaultrouteproxyarp オプションで十分ですが、さらに操作が必要になることもあります。さらに操作が必要な場合は、/etc/ppp/ip-up スクリプトまたは経路指定デーモンを使用してください。

リモートホスト経由のデフォルト経路を追加するには、defaultroute オプションを使用します。通常、このオプションは「クライアント」システム、つまり、PPP リンクを使用して一般的なインターネットにアクセスするエンドノードに使用されます。

たとえばサーバーマシンが LAN に接続されている場合など、ほかのホストがリモートホストと通信できるようにするために、プロキシ ARP の使用が望ましい場合もあります。proxyarp オプションを指定すると、pppd はリモートホストと同じサブネット上にあるネットワークインタフェースを探します。つまり、ブロードキャストと ARP をサポートし、ポイントツーポイントインタフェースやループバックインタフェースでない、現在動作中のインタフェースを探します。そのようなインタフェースが見つかった場合、pppd は、リモートホストの IP アドレスとその見つかったネットワークインタフェースのハードウェアアドレスを使用して、公開された永続的な ARP エントリを作成します。

demand オプションが使用されている場合、IPCP 開始時にインタフェースの IP アドレスは設定済みです。pppd は、インタフェースの設定に使用したものと同じアドレスをネゴシエーションで取得できない場合、インタフェースの IP アドレスをネゴシエーションで取得されたアドレスに変更します。これにより、既存の接続が中断される場合があります。動的 IP アドレス割り当てを実行する相手に要求時ダイアルを使用することはお勧めしません。

スクリプト

pppd は処理のさまざまな段階においてスクリプトを起動し、サイト固有の補助的な処理を実行します。これらのスクリプトは、シェルスクリプトまたは実行可能プログラムです。pppd はスクリプトが終了するまで待機しません。スクリプトは root として (実ユーザー ID および実効ユーザー ID を 0 に設定して) 実行されるため、ルーティングテーブルの更新や特権デーモンの実行などのタスクを実行できます。これらのスクリプトの内容によってシステムセキュリティーが損なわれないよう注意してください。pppd は標準入力、標準出力、および標準エラーを /dev/null にリダイレクトし、リンクの情報を指定するいくつかの環境変数を除いて環境変数を空にして、スクリプトを実行します。pppd の環境変数は次のとおりです。

DEVICE

シリアル tty デバイスの名前。

IFNAME

ネットワークインタフェースの名前。

IPLOCAL

リンクのローカル側の IP アドレス。IPCP が開始したときにのみ設定されます。

IPREMOTE

リンクのリモート側の IP アドレス。IPCP が開始したときにのみ設定されます。

PEERNAME

相手の認証された名前。相手が自己認証を行なった場合にのみ設定されます。

SPEED

tty デバイスのボーレート。

ORIG_UID

pppd を起動したユーザーの実ユーザー ID。

PPPLOGNAME

pppd を起動した実ユーザー ID のユーザー名。これは常に設定されます。

pppd は ip-down および auth-down スクリプト用に次の変数も設定します。

CONNECT_TIME

PPP ネゴシエーションの開始から接続切断までの秒数。

BYTES_SENT

接続中にシリアルポートのレベルで送信されたバイト数。

BYTES_RCVD

接続中にシリアルポートのレベルで受信されたバイト数。

LINKNAME

linkname オプションで設定された、リンクの論理名。

存在する場合、pppd は次のスクリプトを呼び出します。存在しなくてもエラーではありません。

/etc/ppp/auth-up

リモートシステムの自己認証が正常に行われたあとに実行されるプログラムまたはスクリプト。5 つのコマンド行引数 interface-name peer-name user-name tty-device speed を使用して実行されます。たとえば、noauth オプションが使用されているときなど、相手が自己認証を行わない場合、このスクリプトは実行されません。

/etc/ppp/auth-down

あらかじめ /etc/ppp/auth-up が実行された場合で、リンクがダウンしたときに実行されるプログラムまたはスクリプト。/etc/ppp/auth-up と同じ方法で、同じパラメータを使用して実行されます。

/etc/ppp/ip-up

リンクが IP パケットの送受信に使用可能になった (つまり、IPCP が完了した) ときに実行されるプログラムまたはスクリプト。6 つのコマンド行引数 interface-name tty-device speed local-IP-address remote-IP-address ipparam を使用して実行されます。

/etc/ppp/ip-down

リンクが IP パケットの送受信に使用不可になったときに実行されるプログラムまたはスクリプト。このスクリプトは、/etc/ppp/ip-up スクリプトの影響を元に戻すために使用できます。ip-up スクリプトと同じ方法で、同じパラメータを使用して実行されます。

/etc/ppp/ipv6-up

/etc/ppp/ip-up と同様ですが、リンクが IPv6 パケットの送受信に使用可能になったときに実行されます。6 つのコマンド行引数 interface-name tty-device speed local-link-local-address remote-link-local-address ipparam を使用して実行されます。

/etc/ppp/ipv6-down

/etc/ppp/ip-down と同様ですが、リンクが IPv6 パケットの送受信に使用不可になったときに実行されます。ipv6-up スクリプトと同じパラメータを使用して実行されます。

使用例

例 1 auth オプションを使用する

次の例では、/etc/ppp/options ファイルに auth オプションが含まれているものとします。

pppd は一般に ISP へのダイアルアウトに使用されます。これは pppd call isp コマンドを使用して実行できます。/etc/ppp/peers/isp ファイルには次のような行が含まれています。

cua/a 19200 crtscts connect '/usr/bin/chat -f /etc/ppp/chat-isp' noauth

この例では、chat(1M) を使用して ISP のモデムにダイアルし、必要なログインシーケンスを処理します。/etc/ppp/chat-isp ファイルは chat によって使用され、たとえば次のような内容を含んでいます。

ABORT "NO CARRIER" 
ABORT "NO DIALTONE" 
ABORT "ERROR" 
ABORT "NO ANSWER" 
ABORT "BUSY" 
ABORT "Username/Password Incorrect" 
"" "at" 
OK "at&f&d2&c1" 
OK "atdt2468135" 
"name:" "^Umyuserid" 
"word:" "\qmypassword" 
"ispts" "\q^Uppp" 
"~-^Uppp-~"

chat スクリプトの詳細については、chat(1M) のマニュアルページを参照してください。

例 2 pppdproxyarp とともに使用する

pppd では、ダイアルイン PPP サービスをユーザーに提供することもできます。ユーザーがすでにログインアカウントを持っている場合、PPP サービスを設定するもっとも簡単な方法は、ユーザーが自分のアカウントにログインして pppd を次の例のように実行することです。

example% pppd proxyarp

例 3 ユーザーが PPP 機能を使用できるようにする

ユーザーが PPP 機能を使用できるようにするには、そのユーザーのマシンに IP アドレスを割り当て、/etc/ppp/pap-secrets または /etc/ppp/chap-secrets にエントリを作成します。これにより、ユーザーのマシンは自己認証を行うことができます。たとえば、joespc というマシンを使用しているユーザー Joe が server というマシンにダイアルインし、joespc.my.net という IP アドレスを使用できるようにするには、次のエントリを /etc/ppp/pap-secrets または /etc/ppp/chap-secrets ファイルに追加します。

joespc server "joe's secret" joespc.my.net 

または、たとえば ppp という別のユーザー名を作成し、そのログインシェルを /usr/bin/pppd、ホームディレクトリを /etc/ppp とする方法もあります。この方法で pppd を実行する場合、オプションは /etc/ppp/.ppprc ファイルに記述します。

複雑なシリアル接続を使用している場合は、asyncmap a0000 を使用して、XON (^Q) や XOFF (^S) などの制御文字をエスケープすると役立つ場合があります。パスに telnet が含まれている場合は、^] をエスケープしてください (asyncmap 200a0000)。パスに rlogin コマンドが含まれている場合は、オプションに escape ff オプションを追加してください。これは、rlogin により、0xff、0xff、0x73、0x73、およびそれに続く 8 バイトで構成されるウィンドウサイズ変更シーケンスがストリームから削除されるためです。

終了ステータス

pppd の終了ステータスは、エラーやリンク切断理由を示します。終了ステータスの値は次のとおりです。

0

pppd は切り離されたか、接続が正常に確立されたあとで相手の要求で切断されました。

1

即時の致命的なエラーが発生しました。たとえば、重要なシステムコールが失敗しました。

2

指定されたオプションにエラーが検出されました。たとえば、同時に指定することのできないオプションが指定されている場合や、/etc/ppp/options が存在せずユーザーが root でない場合などです。

3

pppdsetuid-root でなく、起動したユーザーが root ではありません。

4

カーネルが PPP をサポートしていません。たとえば、PPP カーネルドライバが含まれていないか読み込み不可能です。

5

pppd は SIGINT、SIGTERM、または SIGHUP 信号が送信されたため終了しました。

6

シリアルポートをロックできませんでした。

7

シリアルポートを開くことができませんでした。

8

接続スクリプトが失敗し、ゼロ以外の終了ステータスを返しました。

9

pty オプションの引数として指定されたコマンドを実行できませんでした。

10

ネットワークプロトコルを実行できなかったため、PPP ネゴシエーションが失敗しました。

11

相手システムが自己認証に失敗したか、自己認証を拒否しました。

12

リンクは正常に確立されましたが、アイドルであったために切断されました。

13

リンクは正常に確立されましたが、接続時間制限に達したために切断されました。

14

コールバックのネゴシエーションが行われたため、まもなく着呼があります。

15

相手がエコー要求に応答しないためリンクが切断されました。

16

モデムの切断によってリンクが切断されました。

17

シリアルループバックが検出されたため PPP ネゴシエーションが失敗しました。

18

ゼロ以外の終了ステータスが返されたため、init スクリプトが失敗しました。

19

相手への認証が失敗しました。

ファイル

/var/run/spppn.pid

PPP インタフェースユニット n に対応する pppd プロセスのプロセス ID を格納します。

/var/run/ppp-name.pid

論理リンク名に対応する pppd プロセスのプロセス ID を格納します (linkname オプションを参照)。

/etc/ppp/pap-secrets

PAP 認証で使用するユーザー名、パスワード、および IP アドレスを格納します。このファイルは root が所有し、ほかのユーザーには読み書きできないようにする必要があります。そうでない場合、pppd は警告をログに記録します。

/etc/ppp/chap-secrets

すべての形式の CHAP 認証で使用する名前、秘密情報、および IP アドレスを格納します。/etc/ppp/pap-secrets ファイルは root が所有し、ほかのユーザーには読み書きできないようにする必要があります。そうでない場合、pppd は警告をログに記録します。

/etc/ppp/options

pppd のシステムデフォルトオプションを記述します。ユーザーデフォルトオプションやコマンド行オプションより前に読み込まれます。

$HOME/.ppprc

ユーザーのデフォルトオプションを記述します。/etc/ppp/options.ttyname より前に読み込まれます。

/etc/ppp/options.ttyname

使用中のシリアルポートのシステムデフォルトオプションを記述します。$HOME/.ppprc のあとで読み込まれます。このファイル名の ttyname 部分を構築するために、ポート名から先頭の /dev/ が取り除かれ (存在する場合)、スラッシュ文字 (/) があればドットに変換されます。

/etc/ppp/peers

このディレクトリのオプションファイルには、pppdroot 以外のユーザーによって起動された場合でも使用できる特権オプションを指定します。システム管理者がこのディレクトリにオプションファイルを作成することにより、非特権ユーザーは、信頼できる特定の相手に限り、相手に認証を要求せずにダイアルアウトできるようになります。

属性

属性についての詳細は、attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/network/ppp
インタフェースの安定性
確実

関連項目

chat(1M), ifconfig(1M), crypt(3C), pam(3PAM), attributes(5)

RFC 2472 – IP Version 6 Over PPP』、Haskin, D. および Allen, E. 著、Network Working Group 発行、1998 年 12 月

RFC 1144, Compressing TCP/IP Headers for Low-Speed Serial Links』、Jacobson, V. 著、Network Working Group 発行、1990 年 2 月

RFC 1334, PPP Authentication Protocols』、Lloyd, B. および Simpson, W. 著、Network Working Group 発行、1992 年 10 月

RFC 1332, The PPP Internet Protocol Control Protocol (IPCP)』、McGregor, G. 著、Network Working Group 発行、1992 年 5 月

RFC 1321, The MD5 Message-Digest Algorithm』、Rivest, R. 著、Network Working Group 発行、1992 年 4 月

RFC 1661, The Point-to-Point Protocol (PPP)』、Simpson, W. 著、Network Working Group 発行、1994 年 7 月

RFC 1662, HDLC-like Framing』、Simpson, W. 著、Network Working Group 発行、1994 年 7 月

注意事項

次の信号は pppd の動作に影響を与えます。

SIGINT、SIGTERM

リンクを切断し、シリアルデバイスの設定を復元してから、実行を終了します。

SIGHUP

リンクを切断し、シリアルデバイスの設定を復元し、シリアルデバイスを閉じます。persist または demand オプションが指定されている場合、pppd はシリアルデバイスを再度開き、抑止期間を置いてから新しい接続を開始しようとします。それ以外の場合、pppd は終了します。抑止期間中に SIGHUP を受信すると、pppd は抑止期間をすぐに終了します。

SIGUSR1

debug オプションのステータスを切り替え、リンクのステータス情報をログに出力します。

SIGUSR2

この信号を受信すると、pppd は圧縮のネゴシエーションを再度行います。これは、致命的な圧縮解除エラーの結果として圧縮が無効になったあとで、再度圧縮を有効にする場合に役立ちます。通常、致命的な圧縮解除エラーは実装のバグを示します。

診断

メッセージは LOG_DAEMON 機能を使用して syslog デーモンに送られます。エラーメッセージやデバッグメッセージを確認するには、/etc/syslog.conf ファイルを編集してメッセージの送り先となるデバイスやファイルを指定するか、updetach または logfile オプションを使用します。

debug オプションを指定すると、送受信されたすべての LCP、PAP、CHAP、または IPCP 制御パケットの内容がログに記録されます。これは、PPP ネゴシエーションが成功しない場合や、認証が失敗する場合に役立ちます。

SIGUSR1 信号を送信することによっても、デバッグを有効にしたり無効にしたりできます。この信号は、pppd プロセスに対するトグルとして機能します。