]> Cypherpunks.ru repositories - nncp.git/blob - doc/integration/ppp.texi
Add various documentation indices
[nncp.git] / doc / integration / ppp.texi
1 @node PPP
2 @cindex PPP
3 @cindex serial link
4 @cindex serial connection
5 @section Serial connection
6
7 It is not trivial to run online @command{nncp-daemon},
8 @command{nncp-call} and @command{nncp-caller} commands over the serial
9 link, because it is link without built-in error detection. For efficient
10 usage you have to use some kind of window-sliding error correction
11 protocol, like Kermit, ZMODEM, UUCP's g-protocol and similar well known
12 ones.
13
14 However TCP is already satisfying and existing protocol for the same
15 purposes. So it would be more easier to bring up the IP interconnection
16 and use TCP over it. Most distributions already have
17 @url{https://en.wikipedia.org/wiki/Point-to-point_protocol, PPP}
18 protocol out-of-box.
19
20 Ordinary man page for @command{ppp} in FreeBSD is enough for being able
21 to setup it:
22
23 @itemize
24
25 @item Enable PPP-aware default terminal to run @command{ppplogin} script:
26
27 @example
28 /etc/gettytab:
29     default:pp=/usr/local/bin/ppplogin:@dots{}
30 @end example
31
32 @example
33 /usr/local/bin/ppplogin:
34     #!/bin/sh
35     exec /usr/sbin/ppp -direct incoming
36 @end example
37
38 @item Enable listening on necessary UART:
39
40 @example
41 /etc/ttys:
42     ttyU0 "/usr/libexec/getty 3wire.115200" vt100 on
43 @end example
44
45 @item
46 Create @code{incoming} PPP profile, allowing authenticated @code{ppp}
47 user to log in:
48
49 @example
50 /etc/ppp/ppp.conf:
51     incoming:
52         allow ppp
53         disable deflate pred1 mppe protocomp vjcomp ipcp dns
54         enable lqr # null-modem cables might not have carrier detection
55 /etc/ppp/ppp.secret:
56     ppp PASSWORD
57 @end example
58
59 @item
60 Configure PPP client to access that server:
61
62 @example
63 /etc/ppp/ppp.conf:
64     outgoing:
65         set device /dev/cuaU0
66         set speed 115200
67         set dial
68         set login
69         set authname ppp
70         set authkey PASSWORD
71         disable deflate pred1 mppe protocomp vjcomp ipcp dns
72         enable lqr
73 @end example
74
75 @end itemize
76
77 That configuration does not negotiate any kind of IPv4 addresses,
78 routing or DNS servers. Also all compression is turned off, because
79 NNCP's traffic is encrypted and uncompressible. Only IPV6CP will
80 negotiate IPv6 link-local addresses, on which you can run @ref{MCD,
81 multicast discovered} daemons for simplicity.