1.\" manual page [] for ppp 0.93
2.\" $Id:$
|
1.\" manual page [] for ppp 0.94 beta2 + alpha 2.\" $Id: ppp.8,v 1.1.1.1 1995/01/31 06:29:58 amurai Exp $ |
3.\" SH section heading 4.\" SS subsection heading 5.\" LP paragraph 6.\" IP indented paragraph 7.\" TP hanging label 8.TH PPP 8 9.SH NAME 10ppp \- Point to Point Protocol (aka iijppp) 11.SH SYNOPSIS 12.B ppp 13[ 14.I -auto | -direct -dedicated 15] [ 16.I system 17] 18.SH DESCRIPTION 19.LP
|
20 This is user process \fIPPP\fR software package. Normally, \fIPPP\fR is implemented as a part of kernel and hard to debug and/or modify its behavior. However, in this implementation, \fIPPP\fR is implemented as a user process with the help of tunnel device driver.
|
20This is user process \fIPPP\fR software package. Normally, \fIPPP\fR 21is implemented as a part of kernel and hard to debug and/or modify its 22behavior. However, in this implementation, \fIPPP\fR is implemented as 23a user process with the help of tunnel device driver. |
24.LP 25 26.SH Major Features 27 28.TP 2
|
26o
27Provide interactive user interface. Using its command mode, user can easily enter commands to establish the connection with the peer, check the status of connection, and close the connection.
28
|
29o Provide interactive user interface. Using its command mode, user can 30easily enter commands to establish the connection with the peer, check 31the status of connection, and close the connection. And now, all 32functions has password protected if describe your hostname/password in 33secret file or exist secret file itself. 34 |
35.TP 2
|
30o
31Supports both of manual and automatic dialing. Interactive mode has ``term'' command which enables you to talk to your modem directory. When your modem is connected to the peer, and it starts to speak \fIPPP\fR, \fIPPP\fR software detects it and turns into packet mode automatically. Once you have convinced how to connect with the peer, you can write chat script to define necessary dialing and login procedure for later convenience.
|
36o Supports both of manual and automatic dialing. Interactive mode has 37``term'' command which enables you to talk to your modem 38directory. When your modem is connected to the peer, and it starts to 39speak \fIPPP\fR, \fIPPP\fR software detects it and turns into packet 40mode automatically. Once you have convinced how to connect with the 41peer, you can write chat script to define necessary dialing and login 42procedure for later convenience. 43 |
44.TP 2
|
33o
34Supports on-demand dialup capability. By using auto mode, \fIPPP\fR program will act as a daemon and wait for the packet send to the peer. Once packet is found, daemon automatically dials and establish the connection.
|
45o Supports on-demand dialup capability. By using auto mode, \fIPPP\fR 46program will act as a daemon and wait for the packet send to the peer. 47Once packet is found, daemon automatically dials and establish the 48connection. |
49 50.TP 2 51o
|
38Can act as server which accept incoming \fIPPP\fR connection.
39
|
52Can act as server which accept incoming \fIPPP\fR connection. 53 |
54.TP 2 55o 56Supports PAP and CHAP authentification. 57 58.TP 2
|
45o
46Supports packet filtering. User can define three kinds of filters; ifilter for incoming packet, ofilter for outgoing packet and dfilter to define dialing trigger packet.
|
59o 60Supports Proxy Arp. |
61 62.TP 2
|
49o
50Tunnel driver supports bpf. That is, user can use tcpdump to check packet flow over the \fIPPP\fR link.
|
63o Supports packet filtering. User can define four kinds of filters; 64ifilter for incoming packet, ofilter for outgoing packet, dfilter to 65define dialing trigger packet and afilter to keep alive a connection 66by trigger packet. |
67 68.TP 2
|
69o Tunnel driver supports bpf. That is, user can use tcpdump to check 70packet flow over the \fIPPP\fR link. 71 72.TP 2 |
73o 74Supports \fIPPP\fR over TCP capability. 75 76.TP 2 77o 78Supports IETF draft Predictor-1 compression. 79 80.TP 2
|
61o
62Runs under BSDI-1.1 and FreeBSD-1.1. Patch for NeXTSTEP 3.2 is also available on the net.
|
81o Runs under BSDI-1.1 and FreeBSD-1.1. Patch for NeXTSTEP 3.2 is also 82available on the net. |
83 84.SH MANUAL DIALING
|
65.LP
|
85 86 % ppp 87 User Process PPP written by Toshiharu OHNO.
|
88 -- If you write your hostname and password in ppp.secret, 89 you can't do anything even quit command -- 90 ppp on tama> quit 91 what ? 92 ppp on tama> pass <password> |
93 -- You can specify modem and device name using following commands.
|
70 ppp> set line /dev/cua01
71 ppp> set speed 38400
72 ppp> set parity even
73 ppp> show modem
|
94 ppp ON tama> set line /dev/cua01 95 ppp ON tama> set speed 38400 96 ppp ON tama> set parity even 97 ppp ON tama> show modem |
98 -- Modem related parameters are shown in here
|
75 ppp>
|
99 ppp ON tama> |
100 -- Use term command to talk with your modem
|
77 ppp> term
|
101 ppp ON tama> term |
102 at 103 OK 104 atdt123456 105 CONNECT 106 107 login: ppp 108 Password: 109 -- PPP started in remote side --- 110 111 -- When peer start to speak PPP, the program will detect it 112 -- automatically and back to command mode.
|
89 ppp>
|
113 ppp on tama> |
114 \fBPPP\fR> 115 116 -- NOW, you are get connected !! Note that prompt has changed to 117 -- capital letters
|
94 PPP> show lcp
|
118 PPP ON tama> show lcp |
119 120 -- You'll see LCP status -- 121
|
98 PPP> show ipcp
|
122 PPP ON tama> show ipcp |
123 124 -- You'll see IPCP status -- 125 -- At this point, your machine has host route to the peer. 126 -- If your want to add default route entry, then enter 127
|
104 PPP> add 0 0 HISADDR
|
128 PPP ON tama> add 0 0 HISADDR |
129 130 -- Here string `HISADDR' represents IP address of connected peer. 131
|
108 PPP>
|
132 PPP ON tama> |
133 -- Use applications (i.e. ping, telnet, ftp) in other windows 134
|
111 PPP> show log
|
135 PPP ON tama> show log |
136 137 -- Gives you some logging messages 138
|
115 PPP> close
|
139 PPP ON tama> close |
140 141 -- Connection is closed, and modem will be hanged. 142
|
119 ppp> quit
|
143 ppp ON tama> quit |
144 % 145.LP
|
146 |
147.SH AUTOMATIC DIALING 148 149.LP
|
125To use automatic dialing, you must prepare Dial and Login chat script.See example definition found in ppp.conf.sample(Format of ppp.conf is pretty simple.)
126.LP
|
150To use automatic dialing, you must prepare Dial and Login chat script. 151See example definition found in ppp.conf.sample (Format of ppp.conf is 152pretty simple.) |
153 154.TP 2 155o 156Each line contains one command, label or comment. 157 158.TP 2 159o 160Line stating with # is treated as a comment line. 161 162.TP 2 163o 164Label name has to start from first column and should be followed by colon (:). 165 166.TP 2 167o 168Command line must contains space or tab at first column. 169 170.LP
|
145If ppp.conf is ready, specify destination label name when you invoke ppp. Commands associated with destination label is executed when ppp command is invoked. Note that commands associated with ``default'' label is ALWAYS executed.
|
171If ppp.conf is ready, specify destination label name when you invoke 172ppp. Commands associated with destination label is executed when ppp 173command is invoked. Note that commands associated with ``default'' 174label is ALWAYS executed. |
175 176Once connection is made, you'll find that prompt is changed to 177 178 capital \fIPPP\fR>. 179 180 % ppp pm2 181 ...
|
153 ppp> dial
|
182 ppp ON tama> dial |
183 dial OK! 184 login OK!
|
156 PPP>
|
185 PPP ON tama> |
186
|
158If ppp.linkup file is available, its contents are executed when \fIPPP\fR link is connected. See example which add default route. The string HISADDR matches with IP address of connected peer.
159.LP
|
187If ppp.linkup file is available, its contents are executed when 188\fIPPP\fR link is connected. See example which add default route. 189The string HISADDR matches with IP address of connected peer. |
190
|
191 |
192.SH DAIL ON DEMAND 193 194.LP
|
164 To play with demand dialing, you must use -auto option. Also, you must specify destination label with proper setup in ppp.conf. It must contain ``ifaddr'' command to define peer's IP address. (refer /etc/ppp/ppp.conf.sample)
165.LP
|
195 To play with demand dialing, you must use -auto option. Also, you 196must specify destination label with proper setup in ppp.conf. It must 197contain ``ifaddr'' command to define peer's IP address. (refer 198/etc/ppp/ppp.conf.sample) |
199
|
200 |
201 % ppp -auto pm2demand 202 ... 203 % 204 205.LP
|
172When -auto is specified, \fIPPP\fR program works as a daemon. But, you are still able to use command features to check its behavior.
173.LP
|
206When -auto is specified, \fIPPP\fR program works as a daemon. But, 207you are still able to use command features to check its behavior. |
208
|
209 |
210 % telnet localhost 3000 211 ...
|
177 PPP> show ipcp
|
212 PPP on tama> show ipcp |
213 .... 214 215.LP
|
181 Each ppp has associated port number, which is computed as "3000 + tunnel_device_number". If 3000 is not good base number, edit defs.h. When packet toward to remote network is detected, \fIPPP\fR will take dialing action and try to connect with the peer. If dialing is failed, program will wait for 30 seconds. Once this hold time expired, another trigger packet cause dialing action. Note that automatic re-dialing is NOT implemented.
182.LP
|
216 Each ppp has associated port number, which is computed as "3000 + 217tunnel_device_number". If 3000 is not good base number, edit defs.h. 218When packet toward to remote network is detected, \fIPPP\fR will take 219dialing action and try to connect with the peer. If dialing is failed, 220program will wait for 30 seconds. Once this hold time expired, another 221trigger packet cause dialing action. Note that automatic re-dialing is 222NOT implemented. |
223
|
224 |
225 To terminate program, use 226
|
186 PPP> close
|
227 PPP on tama> close |
228 \fBppp\fR> quit all 229 230.LP 231 Simple ``quit'' command will terminates telnet connection, but \fIPPP\fR program itself is not terminated. You must use ``quit all'' to terminate the program running as daemon. 232.LP 233 234.SH PACKET FILTERING 235 236.LP 237This implementation supports packet filtering. There are three filters; ifilter, ofilter and dfilter. Here's some basics. 238.LP 239 240.TP 2 241o 242Filter definition has next syntax. 243 244 set filter-name rule-no action [src_addr/src_width] [dst_addr/dst_width] 245 [proto [src [lt|eq|gt] port ] [dst [lt|eq|gt] port] [estab] 246 247 a) filter-name should be ifilter, ofilter or dfiler. 248 249 b) There are two actions permit and deny. If given packet is matched 250 against the rule, action is taken immediately. 251 252 c) src_width and dst_width works like a netmask to represent address range. 253 254 d) proto must be one of icmp, udp or tcp. 255 256.TP 2 257o 258Each filter can hold upto 20 rules. Rule number starts from 0. Entire rule set is not effective until rule 0 is defined. 259 260.TP 2 261o 262If no rule is matched with a packet, that packet will be discarded (blocked). 263 264.TP 2 265o 266Use ``set filer-name -1'' to flush all rules. 267 268.LP 269 See /etc/ppp/ppp.conf.filter.example 270.LP 271 272.SH RECEIVE INCOMING PPP CONNECTION 273 274.LP 275 To receive incoming \fIPPP\fR connection request, follow next steps. 276.LP 277 278 a) Prepare bidir entry in your /etc/gettytab 279 280 bidir.38400:\ 281 :bi:ap:hf:tc=38400-baud: 282 283 b) Edit /etc/ttys to enable getty on the port where modem is attached. 284 285 cua00 "/usr/libexec/getty stdir.38400" dialup on 286 287 Don't forget to send HUP signal to init process. 288 289 # kill -HUP 1 290 291 c) Prepare account for incoming user. 292 293ppp:*:21:0:PPP Login User:/home/ppp:/usr/local/bin/ppplogin 294 295 d) Create /usr/local/bin/ppplogin file with next contents. 296 297 #!/bin/sh 298 /usr/local/bin/ppp -direct 299 300 You can specify label name for further control. 301 302.LP 303 Direct mode (-direct) lets \fIPPP\fR to work with standard in and out. Again, you can telnet to 3000 to get command mode control. 304.LP 305 306.SH SETTING IDLE TIMER 307 308.LP 309 To check/set idletimer, use ``show timeout'' and ``set timeout'' command. 310.LP 311 312 Ex. ppp> set timeout 600 313 314.LP 315 Timeout period is measured in secs and default value is 180 or 3 min. To disable idle timer function, use ``set timeout 0''. 316.LP 317 318.LP 319 In -auto mode, idle timeout cause \fIPPP\fR session closed. However, \fIPPP\fR program itself is keep running. Another trigger packet cause dialing action. 320.LP 321 322.SH Predictor-1 compression 323 324.LP 325 This version supports CCP and Predictor type 1 compression based on current IETF-draft specs. As a default behavior, \fIPPP\fR will propose to use (or willing to accept) this capability and use it if peer agrees (or requests). 326.LP 327 328.LP 329 To disable CCP/predictor function completely, use ``disable pred'' and ``deny pred'' command. 330.LP 331 332.SH Controlling IP address 333 334.LP
|
294 \fIPPP\fR uses IPCP to negotiate IP addresses. Each side of node informs IP address that willing to use to the peer, and if requested IP address is acceptable, \fIPPP\fR returns ACK to requester. Otherwise, \fIPPP\fR returns NAK to suggest the peer to use different IP address. When both side of nodes agrees to accept the received request (and send ACK), IPCP is reached to open state and network level connection is established.
295.LP
|
335 \fIPPP\fR uses IPCP to negotiate IP addresses. Each side of node 336informs IP address that willing to use to the peer, and if requested 337IP address is acceptable, \fIPPP\fR returns ACK to 338requester. Otherwise, \fIPPP\fR returns NAK to suggest the peer to use 339different IP address. When both side of nodes agrees to accept the 340received request (and send ACK), IPCP is reached to open state and 341network level connection is established. |
342
|
343 |
344.LP
|
298 To control, this IPCP behavior, this implementation has ``set ifaddr'' to define MY and HIS IP address.
299.LP
|
345 To control, this IPCP behavior, this implementation has ``set 346ifaddr'' to define MY and HIS IP address. |
347
|
348 |
349.TP3 350ifaddr src_addr dst_addr 351 352.LP
|
305 Where, src_addr is the IP address that my side is willing to use, and dst_addr is the IP address which his side should use.
|
353Where, src_addr is the IP address that my side is willing to use, and 354dst_addr is the IP address which his side should use. |
355.LP 356 357.TP3 358ifaddr 192.244.177.38 192.244.177.2 359 360For example, above specification means 361 362.TP
|
314o
315I strongly want to use 192.244.177.38 as my side. I'll disagree when peer suggest me to use other addresses.
|
363o I strongly want to use 192.244.177.38 as my side. I'll disagree when 364peer suggest me to use other addresses. |
365 366.TP 2
|
318o
319I strongly insists peer to use 192.244.177.2 as his side address. I don't permit him to use any IP address but 192.244.177.2. When peer request other IP address, I always suggest him to use 192.244.177.2.
|
367o I strongly insists peer to use 192.244.177.2 as his side address. I 368don't permit him to use any IP address but 192.244.177.2. When peer 369request other IP address, I always suggest him to use 192.244.177.2. |
370 371.LP 372 This is all right, when each side has pre-determined IP address.
|
323However, it is often the case one side is acting as a server which
324controls IP address and the other side should obey the direction from him.
325In order to allow more flexible behavior, `ifaddr' command allows user to specify IP address more loosely.
326.LP
|
373However, it is often the case one side is acting as a server which 374controls IP address and the other side should obey the direction from 375him. In order to allow more flexible behavior, `ifaddr' command 376allows user to specify IP address more loosely. |
377
|
378 |
379.TP 2 380ifaddr 192.244.177.38/24 192.244.177.2/20 381
|
331 Number followed by slash (/) represents number of bits significant in IP address. That is, this example means
|
382 Number followed by slash (/) represents number of bits significant in 383IP address. That is, this example means |
384 385.TP 2
|
334o
335I'd like to use 192.244.177.38 as my side address, if it is possible. But I also accept any IP address between 192.244.177.0 and 192.244.177.255.
|
386o I'd like to use 192.244.177.38 as my side address, if it is 387possible. But I also accept any IP address between 192.244.177.0 and 388192.244.177.255. |
389 390.TP 2
|
338o
339I'd like to make him to use 192.244.177.2 as his side address. But I also permit him to use any IP address between 192.244.176.0 and 192.244.191.255.
|
391o I'd like to make him to use 192.244.177.2 as his side address. But 392I also permit him to use any IP address between 192.244.176.0 and 393192.244.191.255. |
394 395 Notes: 396 397.TP 2
|
344o
345As you may have already noticed, 192.244.177.2 is equivalent to say 192.244.177.2/32.
|
398o As you may have already noticed, 192.244.177.2 is equivalent to say 399192.244.177.2/32. |
400 401.TP 2
|
348o
349As an exception, 0 is equivalent to 0.0.0.0/0. Means, I have no idea about IP address and obey what he says.
|
402o As an exception, 0 is equivalent to 0.0.0.0/0. Means, I have no idea 403about IP address and obey what he says. |
404 405.TP 2
|
352o
353192.244.177.2/0 means that I'll accept/permit any IP address but I'll try to insist to use 192.244.177.2 at first.
|
406o 192.244.177.2/0 means that I'll accept/permit any IP address but 407I'll try to insist to use 192.244.177.2 at first. |
408 409.SH Connecting with service provider 410 411.LP 412 1) Describe provider's phone number in DialScript. Use ``set dial'' or 413 ``set phone'' command. 414 415 2) Describle login procedure in LoginScript. Use ``set login'' command. 416 417.TP 4183) Use ``set ifaddr'' command to define IP address. 419 420 o If you know what IP address provider uses, then use it as his address. 421 422 o If provider has assigned particular IP address for you, then use it 423 as my address. 424 425 o If provider assigns your address dynamically, use 0 as my address. 426 427 o If you have no info on IP addresses, then try 428 429 set ifaddr 0 0 430.TP 2 4314) If provider request you to use PAP/CHAP auth method, 432add next lines into your ppp.conf. 433 434.TP 3 435.B enable pap (or enable chap) 436.TP 3 437.B disable chap (or disable pap) 438.TP 3 439.B set authname MyName 440.TP 3 441.B set authkey MyPassword 442.TP 3 443 444.LP
|
391Please refer /etc/ppp/example/ppp.conf.iij for some real examples.
|
445Please refer /etc/ppp/ppp.conf.iij for some real examples. |
446.LP 447 448.SH Logging facility 449 450.LP
|
397 \fI\fIPPP\fR\fR is able to generate following level log info as /var/log/ppp.log
398.LP
|
451 \fI\fIPPP\fR\fR is able to generate following level log info as 452/var/log/ppp.log |
453
|
454 |
455.TP 456.B Phase 457Phase transition log output 458.TP 459.B Chat 460Generate Chat script trace log 461.TP 462.B LQM 463Generate LQR report 464.TP 465.B LCP 466Generate LCP/IPCP packet trace 467.TP 468.B TCP/IP 469Dump TCP/IP packet 470.TP
|
416HDLC
|
471.B HDLC |
472Dump HDLC packet in hex 473.TP 474.B Async 475Dump async level packet in hex 476 477.LP
|
423 ``set debug'' command allows you to set logging output level,
424and multiple levels can be specified.
425Default is equivalent to ``set debug phase lcp''.
|
478``set debug'' command allows you to set logging output level, and 479multiple levels can be specified. Default is equivalent to ``set 480debug phase lcp''. |
481 482.SH For more details 483 484.TP 2 485o 486Please read Japanese doc for complete explanation. 487Well, it is not useful for non-japanese readers, 488but examples in the document may help you to guess. 489 490.TP 2 491o 492Please read example configuration files. 493 494.TP 2 495o 496Use ``help'', ``show ?'' and ``set ?'' command. 497 498.TP 2 499o 500NetBSD and BSDI-1.0 has been supported in previous release, 501but no longer supported in this release. 502Please contact to author if you need old driver code. 503 504.SH FILES 505.LP 506\fIPPP\fR may refers three files, ppp.conf, ppp.linkup and ppp.secret.
|
452These files are placed in /etc/ppp,
453but user can create his own files under HOME directory as .ppp.conf,
454.ppp.linkup and .ppp.secret.
455the ppp always try to consult to user's personal setup first.
|
507These files are placed in /etc/ppp, but user can create his own files 508under HOME directory as .ppp.conf,.ppp.linkup and .ppp.secret.the ppp 509always try to consult to user's personal setup first. |
510 511.TP
|
458.B $HOME/ppp/.ppp.[linkup|secret]
|
512.B $HOME/ppp/.ppp.[conf|linkup|secret] |
513User depend configuration files. 514 515.TP 516.B /etc/ppp/ppp.conf 517System default configuration file. 518 519.TP 520.B /etc/ppp/ppp.secret 521A authorization file for each system. 522 523.TP 524.B /etc/ppp/ppp.linkup 525A checking file when 526.I ppp 527establishes network level connection. 528 529.TP 530.B /var/log/ppp.log 531Logging and debug information file. 532 533.TP 534.B /var/spool/lock/Lck..* 535tty port locking file. 536 537.SH BUGS
|
484A Proxy arp is not support, yet.
485The TTS is little bit longer than pppd2.1, it's under improving ;-)
|
538 539.SH HISTORY
|
488This programm has deliverd into core since FreeBSD-2.1
489by Atsushi Murai (amurai@spec.co.jp).
|
540This programm has deliverd into core since FreeBSD-2.1 by Atsushi 541Murai (amurai@spec.co.jp). |
542 543.SH AUTHORS 544Toshiharu OHNO (tony-o@iij.ad.jp)
|