This file is indexed.

/usr/share/doc/HOWTO/pl-html/PPP-HOWTO.pl.html is in doc-linux-pl-html 2002.06.14-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<META HTTP-EQUIV="content-type" content="text/html; charset=iso-8859-2">
<TITLE>Linux PPP HOWTO</TITLE>


</HEAD>
<BODY>
<H1>Linux PPP HOWTO<BR></H1>

<H2>Robert Hart, 
<A HREF="mailto:hartr@hedland.edu.au">hartr@hedland.edu.au</A><BR>
v2.2, 25 sierpnia 1996<BR>
<B>Wersja polska:Piotr Pogorzelski 
<A HREF="mailto:piotr.pogorzelski@ippt.gov.pl">piotr.pogorzelski@ippt.gov.pl</A><BR></B>
w1.0, luty 1997</H2>
<P><HR>
<EM>Prezentujemy w jaki sposób pod³±czyæ komputer PC z Linuxem do serwera
PPP, w jaki sposób za pomoc± PPP po³±czyæ ze sob± dwie sieci oraz jedn± z
metod sworzenia z twojego Linuxa serwera PPP.</EM>
<HR>
<P><B>Prawa autorskie</B>
<P>Prawa autorskie nale¿± do autora dokumentu. Udziela siê pozwolenia na
dystrybycjê tego dokumnetu w formie elektronicznej, na p³ytkach CD,
pod warunkiem, ¿e zostanie zachowana oryginalna forma dokumentu.
Udziela siê równie¿ pozwolenia na na wydrukowanie niniejszego dokumentu
do u¿ytku prywatnego.
<P>Prawa autorskie do t³umaczenia (c)1997 piotr.pogorzelski@ippt.gov.pl.
<P>Zabrania siê publikowania fragmentów lub ca³o¶ci tego dokumnetu bez zgody
autora, za wyj±tkiem przypadków opisanych powy¿ej.
<P>
<P><B>Dystrybucja</B>
<P>
<P>W miarê powstawania nowych wersji niniejszy dokument bêdzie wysy³any
do pl.comp.os.linux.odpowiedzi. W postaci HTML mo¿na go zawsze zobaczyæ
pod adresem
<A HREF="http://www.jtz.org.pl/Html/PPP-HOWTO.pl.html">http://www.jtz.org.pl/Html/PPP-HOWTO.pl.html</A><P>W formie bardziej nadaj±cej siê do druku, mo¿na go znale¼æ tutaj:
<A HREF="ftp://www.jtz.org.pl/HOWTO/">ftp://www.jtz.org.pl/HOWTO/</A>.
<P>
<P>Najnowsza wersja tego dokumentu w wersji angielskiej dostêpna jest pod adresem
<A HREF="http://sunsite.unc.edu/pub/Linux/docs/HOWTO/PPP-HOWTO">http://sunsite.unc.edu/pub/Linux/docs/HOWTO/PPP-HOWTO</A>.
Lub w róznych innych formatach (SGML, ASCII, postscript, DVI) 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/other-formats">ftp://sunsite.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/other-formats</A>.
<P><B>Podziêkowania</B>
<P>
<P>
<P>W przygotowaniu tego dokumentu pomaga³o mi wiele osób. Specjalne podziêkowania 
dla Ala Longyeara, za pomoc w zrozumieniu samego PPP (je¶li
znajdziecie jakie¶ b³êdy, to s± to moje b³êdy, nie jego), Gregowi
Hankinsowi (opiekunowi Linux Howto) i Danielowi Berinsonowi za pomoc
przy linuxdoc-sgml kiedy mialem z nim k³opoty(3dbu przed terminem
publikacji), oraz Debi Trackett (MaximumAccess.com) za wiele pomocnych
sugestii na temat stylu, zawarto¶ci, porz±dku i prostoty i jasno¶ci obja¶nieñ.
<P>
<P>I na koniec dziêkujê wielu ludziom, którzy kontaktuj±c siê ze mn±
poczt± elektroniczn± przesy³ali swoje uwagi. Jak w przypadku
wszystkich autorów, nasz± jedyn± wystarczaj±c± zap³at± jest
satysfakcja, ¿e uda³o siê nam pomóc wielu ludziom. Pisz±c ten dokument
sp³acam czê¶æ d³ugu, jaki ja - iwszyscy u¿ytkownicy Linuxa-
zaci±gn±³em wobec ludzi, którzy napisali i opiekuj± siê systemem,
który wybra³em.
<P>
<H2><A NAME="s1">1. Wprowadzenie</A></H2>

<P>PPP (Point to Point Protocol) jest mechanizmem umo¿liwij±cym tworzenie
i utrzymowanie po³±czeñ w standardzie IP (Internet Protocol) i innych
przez linie szeregowe - bezpo¶rednio miêdzy komputerami za pomoc±
kabla bezmodemowego, zestawione pol±zcenie sesji telnet, po³±czenie
miêdzy dwoma komputerami zestawione za pomoc± modemów i linii
telefonicznych. Za pomoca PPP mo¿esz po³±czyæ Linuxa z serwerem PPP i
mieæ dostêp d ozasobów sieci, do których ma dostêp sam serwer (no
prawie wszystkich), tak jakby twój komputer by³ bezpo¶rednio
przy³±czony do sieci.
<P>
<P>Mo¿esz równie¿ ze swojego Linuxa zrobiæ serwer WWW, tak aby inni
u¿ytkownicy mogli dzwoniæ do twojego komputera i korzystaæ z zasobów
twojego komputera i sieci do której jest przy³±czony.
<P>
<P>Poniewa¿ PPP jest protoko³em typu ka¿dy-z-ka¿dym, dlatego mo¿esz
wykorzystaæ dwa komputery PC z Linuxem do po³±czenia ze sob± dwóch
sieci (lun np. sieci lokalnej do internetu).
<P>Jedn¿ z zasadniczych ró¿nic pomiêdzy PPP i sieci± Ethernet jest
przepustowo¶æ. Standardowa sieæ Ethernet pracuje z maksymaln±
teoretyczn± przepustowo¶ci± 10 Mbs  (milionów bitów na sekunde),
podczas gdy modemy pracuj± z prêdko¶ciami do 33.6 kbps (tsiecy bitów
na sekunde). Równie¿ w zale¿no¶ci od rodzaju po³±czenia PPP mog±
zaistnieæ ograniczenia w wykorzystaniu pewnych us³uch lub programów u¿ytkowych.
<P>
<H2>1.1 Klienci i serwery</H2>

<P>PPP jest protoko³em typu ka¿dy-z-ka¿dym; nie ma (technicznej) ró¿nicy
miêdzy komputerme który nawi±zuje po³±czenie i komputerem które na nie
odpowiada. Jednak wygodnie jest my¶leæ o tym jako o systemie
<B>klient</B> i  <B>serwer</B>. 
<P>
<P>Kiedy dzwonisz aby bawiazæ po³±czenie jeste¶ <B>klientem</B>. Komputer z
którym chcesz siê po³±czyæ jest <B>serwerem</B>.
<P>
<P>Kiesdy konfigurujesz Linuxa, aby mog³ odpowiadaæ na przychodzace
po³±zcenia, wtedy konfigurujesz <B>serwer</B>.
<P>
<P>Ka¿dy kompuer PC z Linuxem, mo¿e byæ zarówno klientem i serwerem -
nawet równocze¶nie, je¶li masz tylko wiêcej ni¿ jeden port szeregowy
(i modem, jesli to jest konieczne). Tak jak stwierdzili¶my wcze¶niej,
tak naprawdê nie ma ró¿nicy pomiêdzy klientem i serwerem, przynajmniej
tak d³ugo, jak dotyczy to samego PPP od momentu zestawienia po³±czenia.
<P>
<P>W tym dokumencie komputery które inicjuj± po³±czenie ("dzwoni± do")
nazwyamy <B>KLIENTAMI</B>. Komputery, ktróre odbieraj± po³±czenie,
sprawdzaj± to¿szamo¶æ dzwoni±cego (za pomoca hase³ lub innych
mechanizmów) nazwyamy <B>SERWERAMI</B>.
<P>
<P>Ludzi najbardziej interesuje korzystanie z PPP jako klient w celu
nawiazaniu po³±czenia z serwerem i po³±czeniu ich komputera lub ca³ej
sieci lokalnej z Internetem.
<P>
<P>Procedura opisana w tym dokumencie pozwoli ci na zestawienie
po³±zcenia z Inernetem a nawet zautomatyzowanie ca³ej tej procedyry.
<P>
<P>Pdamy równie¿ kilka wskazówek w jaki sposób skonfigurowaæ Linuxa jako
<B>serwer</B> PPP i jak po³±czyæ ze sob± dwie sieci (z pe³nym
routingiem) , co jest czêsto nazywane zestawianiem po³±czenia sieci
WAN - Wide Area Network.
<P>
<H2>1.2 Ró¿nice pomiêdzy dydtrybucjami Linuxa</H2>

<P>Istnieje wiele ró¿nych dystrybucji Linuxa, i ka¿da posiada w³asne
sposoby na wykonywanie pewnych standardowych zadañ.
<P>W szczególno¶ci istniej± dwa ró¿ne sposoby jakich u¿ywa Linux
(i Unix) do uruchomienia systemu, sonfigurowania interfejsów itp.
<P>
<P>Mówimy o stylu <B> stylu BSD inicjowania systemu</B> i <B>stylu systemu
V</B>. Mo¿esz czêsto spotkaæ za¿arte dyskusja nad wy¿szosci± jednego
systemu nad drugim. Je¶li ciê to bawi mo¿esz siê przy³±czyæ.
<P>
<P>Prawdopodobnie najbardziej rozpowszechnionymi dystrybucjami s±:
<P>
<P>
<UL>
<LI>Slackware<BR>
która korzysta ze stlu BSD</LI>
<LI>Red Hat (and its sibling Caldera)<BR>
zbli¿ona do stylu Systemu V.</LI>
</UL>
<P>
<P>Styl BSD polega na przetrzymywaniu plików inicjalizuj±cych system w
katlogu <CODE>/etc/...</CODE>, a mianowicie:
<HR>
<PRE>
        /etc/rc
        /etc/rc.local
        /etc/rc.serial
</PRE>
<HR>
<P>
<P>Pliki inicjalizacjne w wersji Systemu V s± przecowywane w licznych
podkatalogach katalogu <CODE>/etc/rc.d/...</CODE> :
<P>
<HR>
<PRE>
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 init.d
-rwxr-xr-x   1 root     root         1776 Feb  9 05:01 rc
-rwxr-xr-x   1 root     root          820 Jan  2  1996 rc.local
-rwxr-xr-x   1 root     root         2567 Jul  5 20:30 rc.sysinit
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc0.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc1.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc2.d
drwxr-xr-x   2 root     root         1024 Jul 18 18:07 rc3.d
drwxr-xr-x   2 root     root         1024 May 27  1995 rc4.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc5.d
drwxr-xr-x   2 root     root         1024 Jul  6 15:12 rc6.d
</PRE>
<HR>
<P>
<P>Je¶li chcesz wiedzieæ, w którym z tych plików jest inicjowana twoja
karta sieciowa i tablice routingu, musisz poszukaæ w tych plikach
odpowiednichj poleceñ, które to wykonuj±.
<P>
<P>Niektóre dystrybucje (RedHat i Caldera) posiadaj± progeam pod X
s³u¿±cy do konfiguracji systemu PPP. W tym dokumencie nie opisujemy
tych specyficznych narzêdzi. Je¶li masz z nimi k³opot skontaktuja siê
bezpo¶rednio z dystrybutorami.
<P>
<H2><A NAME="s2">2. Numery IP</A></H2>

<P>Ka¿de urz±dzenie przy³±czaj±ce komputer do Internetu musi posiadaæ
w³asny, niepowtarzalny numer IP. Jest on przydzielany  w ka¿dym kraju
centralnie przez odpowiednie instytucje.
<P>
<P>Je¶li przy³±czasz do Internetu sieæ lokaln± (LAN) <B>musisz</B>
korzystaæ z numerów IP z w³asnej puli adresów IP (dla ka¿dego
komputera, urz±dzenia w sieci lokalnej). Nie mo¿esz braæ adresów z
powietrza i korzystaæ z nich d o³±czeia siê z inn± siecia, gdy¿ w
najlepszym wypadku to nie bedzie dzia³aæ, a w najgorszym moze zk³óciæ
pracê innych systemów, których numery pokrywaj± siê z wybranymi przez ciebie.
<P>
<P>Pamiêtajm ¿e numery IP podawane  w tym dokumencie (poza kilkoma
wyj±tkami) nale¿± do puli numerów dla sieni nie przy³±czonych do
internetu, zarezerwowane dla sieci, które nigdy nie bed± do niego
przy³±czone. 
<P>
<P>Klasy numrów IP, zarezerwowwane dla sieci, które nigdy nie bêd±
przy³aczone fo Interntu wygl±daj± nastêpuj±co:
<UL>
<LI>One A Class Address<BR>
10.0.0.0 - 10.255.255.255</LI>
<LI>16 B Class Addresses<BR>
172.16.0.0 - 172.31.255.255</LI>
<LI>256 C Class Addresses<BR>
192.168.0.0 - 192.168.255.255</LI>
</UL>
<P>
<P>Je¶li posiadasz siec, krora <B>nie</B> otrzyma³a adresów od instytucji
do tego celu przeznaczonej, powiniene¶ u¿ywac numerów z jendej z
przedstawionej pozy¿ej grup.
<P>
<P>
<P>Te numery <B>nigdy</B> nie powinny byæ u¿ywane w internecie. Mog± byæ z
powodzeniem u¿ywane w lokalnych sieciach Ethernet na komputerach,
które s± przy³aczone do internetu. JEst to mo¿liwe poniewa¿ numery IP
s± przydzielane urz±dzeniom a nie komputerom. Tak wiêc podczas gdy
karta sieciowa twojego komputera moze byæ skonfigurawana do uzywania
numeru 10.0.0.1, mo¿esz byæ jednocze¶nie przy³±czony do internetu za
pomoc± protoko³u PPP i interfejs PPP na twoim komputerze otrzyma
zupelnie inny (zarejestrowany do u¿ycia w Internecie) numer IP. Twoj
serwer bêdzie posiada³ po³±czenie z internetem, lecz inne twoje
komputery w sieci lokalnej nie bêd±.
<P>
<P>Jednak wykorzaystuj±c mo¿liwo¶ci linuxa o nazwie masqueradeing i
narzêdzie ipfwadm, mo¿esz dostêpniæ pozosta³ym komputerom dostêp do
internetu (z pewnymi ograniczeniami).
<P>Wiecej inforamcji na ten temat mo¿na znale¼æ w dokumencie IP
Masquerade mini HOWTO pod adresem
<A HREF="http://sunsite.icm.edu.pl/pub/Linux/sunsite/HOWTO/mini/IP-Masquerade">Linux IP Masquerade mini HOWTO</A><P>
<P>Wiekszo¶c u¿ytkwoników, która jest zinteresowana pod³±czeniem przez
PPP swojego komputera do internetu przy wykorzystaniu w tym celu
serwera dostarczanego przez swojego dostawcê Internetu nie musi
staraæ sieo przydzia³ w³asnego numeru IP.
<P>
<P>Je¶li pragniesz przy³±czyæ do internetu ma³± podsieæ, dostawcy
Internetu (ISP) mog± zapewniæ dedykowan± podsieæ kilku numerów z puli
w³asnych numerów IP.
<P>W przypadku wiêkszo¶ci u¿ytkowników przy³±czaj±cych za pomoc± PPP
w³asny komputer do Internetu, wiêkszo¶æ dostawców stosuje
<B>dynamicznie przydzielany</B> numer IP. To znaczy, zê w fazie
po³±czenia, serwer PPP przeka¿e twojemu komputerowi, który numer IP masz
przydzielony na czas zestawionego po³±czenia.
<P>
<P>W przypadku dynamicznego rpzydzielania adresów IP, za ka¿dym razem
kiedy siê ³±czysz mo¿em otrzymaæ <B>inny</B> numer IP. MA t oznaczenie
dla programów pracuj±cych na twoim komputerze w trybie serwera,
np. sendmail , ftpd, httpd i inne. Ogranizcenia wynik³e z
dysnamicznego przydzia³u adresów (i spsoby ich obej¶ciatam gdzie jest
to mo¿liwe) s± omówione dalej.
<P>
<H2><A NAME="s3">3. Cel tego dokumentu</A></H2>

<H2>3.1 Konfiguracja klienta PPP</H2>

<P>Krok po kroku opisujemy w jaki sposób nawi±zaæ po³±czenie miêdzy
modemami i zestawiæ po³±czenie IP za pomocaprotoko³u PPP. Zak³adamy,
¿e j±dro ma wkompilowan± obs³ugê PPP (lub jest skompilowany odpowiedni
modu³) oraz zosta³ zainstalwoane niezbêdne oprogramowanie. (Nie
podajemy w jaki sposób skonfigurowaæ/skompilowaæ j±dro, dowiesz siê na
ten temat z innych dokumentów).
<P>
<H3>Korzystanie z DIPa - NIE, korzystaj z CHATa</H3>

<P>Choæ DIP (standardowe narzêdzei do zestawiania po³±czenia w trybie
SLIP) mo¿e byæ równie¿ wykorzystane do zestawienia po³±czenia PPP,
jednak skrypty dio tego wymagane s± znacznie bardziej
skomplikowane. Dlatego nie opisujemy jak korzystaæ z DIPa do tworzenia
po³aczenia PPP.
<P>
<P>Zamiast tego opisujemy standardowe oprogramowanie wykorzystywane w tym
celu, praê programów chat/pppd.
<P>
<H2>3.2 Konfiguracja serwera PPP</H2>

<P>Pdajemy wskazówki w jaki sposób skonfigurowaæ serwer PPP (pozwalaj±cy
innym na nawi±zywanie po³aczeñ modemowych i zestawianie po³±czeñ PPP).
<P>
<P>Pamiêtaj, ¿e zrobiæ z Linuxa serwer PPP mo¿na na mnóstwo sposobów. W
tym dokumenci autor przedstawia w jaki sposób autor skonfigurowa³
kilkana¶cie takich serwerów, ka¿dy po 16 modemów.
<P>
<P>Ta metoda zosta³a sprawdzona w dzia³aniu. Jednak nie musi byæ
najlepsz±. Je¶li któs ma sprytniejsz±,lepsza konfiguracjê swerwera
PPP, nie wahajcie siê napisaæ na ten temat do autora niniejszego dokumentu.
<P>
<H2>3.3 Po³±æzenie dwóch sieci LAN, lub sieci LAN z Internetem</H2>

<P>Przedstawiamy podstawowe informacje na temat ³±czenia dwóch sieci LAN,
lub sieci LAN z Internetem przy wykorzystaniu oritiko³u PPP.
<P>
<H2>3.4 W chwili obecnej ten dokument nie obejmuje...</H2>

<P>
<UL>
<LI>Przy³±czenia i konfiguraji modemu (szczegów³ów)<BR>
patrz Serial-JTZ.</LI>
<LI>Zestawiania po³±czeñ PPP za pomoc± DIPa<BR>
Korzystaj z CHATa</LI>
<LI>Korzystaniaz Z Scoks lub IP Masqueradeing<BR>
Istneij± bardzo dobre dokumenty na ten temat</LI>
</UL>
<P>
<H2><A NAME="s4">4. Wersje opisywanych programów</A></H2>

<P>Ten dokument zak³ada, zê korzystasz zjadra Linuxa w wersji 1.2.x  i
PPP w wersji 2.1.2 lub j±dra w wersji 1.3.x/2.0.x u PPP 2.2
<P>
<P>Mo¿liwe jest korzystanie PPP w wersji 2.2.0 z j±drem 1.2.13 lecz
wymagane s± odpwiednie ³aty. Ten dokument <B>NIE</B> omawia tego przypadku.
<P>
<P>Powiniene¶ równie¿ wiedizeæ, ¿e nie mo¿na u¿ywaæ PPP 2.1.2 z j±drem 2.0.X.
<P>
<P>Pamiêtajm ze ten dokument nie porusza problemów zwi±zanych z
wykorzysatniem ³adowalnych modu³ów j±dra w wersji 2.0.x. Przeczytaj
kerleld mini-HOWTO i dokumetacje kernel/module w dystrybucji j±der
2.0.x ( w katalogu <CODE>/usr/src/linux/Documentation</CODE>.
<P>
<P><B>Poniewa¿ ten dokument jest rpzeznaczony dla pocz±tkuj±cych
u¿ytkowników, mocno zalecamy korzystanie z wersji linuxa i
towarzysz±cego oprogramowania, których wspo³raca jest uwa¿ana za stabiln±.</B>
<P>
<H2><A NAME="s5">5. Inne po¿yteczne/wa¿ne dokumenty</A></H2>

<P>Radzimy zapoznaæ siê z :-
<UL>
<LI>dokumentacj± towarzysz±c± oprogramowaniu PPP<BR>
(Zobacz <CODE>/usr/doc...</CODE>)</LI>
<LI>stronami podrêcznika dla programów pppd i chat<BR>
(napisz <CODE>man chat</CODE> i <CODE>man pppd</CODE> )</LI>
<LI>Linux Network Administration Guide (NAG)<BR>
<A HREF="http://sunsite.unc.edu/mdw/LDP-books/nag-1.0/nag.html">The Network Administrators' Guide</A></LI>
<LI>Net-2/3 JTZ<BR>
<A HREF="http://www.jtz.org.pl/Html/NET-3-HOWTO.pl.html">Linux NET-2/3-HOWTO</A></LI>
<LI>Dokumentacj± j±dra w katalogu /usr/src/linux/Documentation</LI>
<LI>¦wietnymi ksi±¿kami dotycz±cymi Unix/Linux wydanymi przez O'Reilly and
Associates. (
<A HREF=" http://www.ora.com/">O'Reilly and Associates On-Line Catalogue</A>). Je¶li nie mia³e¶ do¶wiadczenia z
Linuxem/Unixem <B>biegnij</B> do najbli¿szej ksiêgarni.</LI>
</UL>
<P>
<P>Najlepszym punktem pocz±tkowym dokumentacji Linuxa po polsku jest
<A HREF="http://www.jtz.org.pl/">Strona    macierzysta polskich t³umaczeñ dokumentacji Linuxa</A><P>
<P>Choæ do zestawienia po³±czenia PPP wystarcz± informacje zawarte w tym
dokumencie bez konieczno¶ci czytania innych, lecz radzimy to zrobiæ ,
przez co uzyskasz lepsze zrozumienie ca³ego zagadnienia. Bedziesz w
stanie samemu wykrywaæ problemy (lub choæby zadawaæ m±drzejsze pytania
na pl.comp.os.linux).
<P>
<P>Wspomniane dokumenty (jak zreszt± ca³a masa innych, w³±czaj±c
odpowiednie RFC) dostarczaj± dodatkowej, szczegó³owej informacji od
tej jak± mo¿na by³o przedstawiæ w niniejszym dokumencie.
<P>
<P>Je¶li masz zamiar pod³±czyæ do Internetu sieæ lokaln± LAN, powiniene¶
posiadaæ podstawowe informacje na temat sieci TCP/IP. Prócz
wspomnianych wcze¶niej dokuentów na pewno bardzo warto¶ciowymi bêd±
dla ciebie pozycje wydawnictwa O'Reilly: <CODE>&quot;</CODE>TCP/IP
Network Administration<CODE>&quot;</CODE> i <CODE>&quot;</CODE>Building
Internet Firewalls<CODE>&quot;</CODE>.
<P>
<H2>5.1 Po¿yteczne Listy dyskusyjne na temat Linuxa</H2>

<P>Istnieje wiele list dyskusjnych na temat Linuxa, jako forum wymiany
informacji miêdzy u¿ytkownikami o ró¿nym poziomie znajomo¶ci
tematu. Zachêcamy do korzystania z tych, które ciê interesuj± i w
miarê mo¿liwo¶ci dostarczania tam w³asnego wk³adu.
<P>
<P>Czê¶æ z list jest przeznaczowna dla bardzo zaawansowanych u¿ytkowników
lub specjalistów w danym temacie. Choæ nikt nie bêdzie narzeka³ je¶li
siê na tak± listê zapiszesz, lecz nie bêdziesz wysy³a³ ¿adnych pytañ,
lecz je¶li zadasz pocz±tkuj±ce pytania na takich listach, mo¿esz
spodzieaæ siê goro±cych odpowiedzi. Nie jest tak dlatego, ze guru
nienawidz± pocz±tkuj±cych, lecz dlatego, ¿e przeznaczeniem tych list
jest obs³uga konkretnych problemów ma odpowiednio wysokim poziomie trudno¶ci.
<P>
<P>Zachêcamy do do³±czenia siê do list, które nie maj± szcególnyc
hwywmagañ c odo uczestników, lecz pamiêtaj aby twoje wiadomo¶ci by³y
¶ci¶le zwi±zane z tematem listy.
<P>
<P>Dobrym punktem startowym na temat list i grup dyskusyjnych o Linuxe
jest strona
<A HREF="http://summer.snu.ac.kr/~djshin/linux/mail-list/index.shtml">Linux Mailing List Directory</A><P>
<H2><A NAME="s6">6. Konfigurajca j±dra</A></H2>

<P>Aby¶ mog³ korzystaæ z PPP j±dro Linuxa musi byæ skompilowane w taki
sposób aby wspomagaæ jego obs³ugê. Je¶li jeszcze nie posiadasz,
zaopatrz siê w kod ¼ród³owy j±dra - je¶li jest zainstalowany
znajdziesz go w katalogu <CODE>/usr/src/linux</CODE>.
<P>
<P>Sprawd¼ zawarto¶æ tego katalogu, wiele dystrybucji podczas instalacji
wgrywaj± równie¿ pliki ¼ród³owe j±dra.
<P>
<P>¬ród³a j±dra mo¿ne równie¿ zfobyæ przez Internet z
<CODE>sunsite.unc.edu</CODE> lub jego licznych kopii.
<P>
<H2>6.1 Instalacja plików ¼ród³owych j±dra Linuxa</H2>

<P>
<P>Krótka instrukcja jak zdobyæ i zainstalowaæ ¼ród³a j±dra Linuxa. Pe³n±
inforamcjê na ten temat zawiera dokument 
<A HREF="http://www.jtz.org.pl/Html/Kernel-HOWTO.pl.html">Linux Kernel HOWTO</A>.
<P>
<P>Aby zainstalowaæ i skompilowaæ j±dro Linuxa musisz byæ zalogowany jako
administrator(root).
<P>
<OL>
<LI>zmieñ katalog roboczy na <CODE>/usr/src</CODE><BR>
<CODE>cd /usr/src</CODE></LI>
<LI>Sprawd¼ <CODE>/usr/src/linux</CODE> czy s± ju¿tam zainstalowane
pliki ¼ród³owe j±dra.</LI>
<LI>Je¶li nie masz ¼róde³, pobierz je z 
<A HREF="ftp://sunsite.icm.edu.pl/pub/Linux/helsinki/v2.0">ftp://sunsite.icm.edu.pl/pub/Linux/helsinki/v2.0</A><BR> 
Je¶li szukasz starszych wersji j±dra np. 1.2.x zobacz 
<A HREF="ftp://sunsite.icm.edu.pl/pub/Linux/helsinki/v1.2">ftp://sunsite.icm.edu.pl/pub/Linux/helsinki/v1.2</A> 
</LI>
<LI>Wybierz odpowiedni± wersjê - zwykle najnowsz±. Pobierz j± i
umie¶æ w katalogu <CODE>/usr/src</CODE>.<BR>
Uwaga: plik 'tar' jest plikiem-archiwum - zwykle skompresowanym, tak
jak pliki archiwa zawieraj±ce ¼ród³a j±dra Linuxa - zawieraj±cym wiele
innyc plików i katalogów. TO jest taki Linuxowy odpowiednik DOSowego
archiwum zip.
</LI>
<LI>Je¶li masz ju¿ zainstalowane pliki ¼ród³owe, lecz chcesz
od¶wie¿yæ wersjê j±dra musisz usun±c stare pliki. Wydaj polecenie:<BR>
<CODE>rm -rf /usr/src/linux</CODE></LI>
<LI>teraz rozkompresuj i zainstaluj ¼ród³± wydaj±c polecenie:
<CODE>tar xzf linux-2.0.29.tar.gz</CODE></LI>
<LI>NAstêpnie, <CODE>cd /usr/src/linux</CODE> , przezcytaj plik
README. Zawiera doskona³e wyja¶nienie w jaki sposób skonfogurowaæ i
skompilowaæ nowe j±dro. Przeczytaj ten plik (mozesz go wyderukowaæ,
gdy¿ papierowa kopia mo¿e byæ przydatna podczas konfiguracji i
kompilacji j±dra).</LI>
</OL>
<P>
<H2>6.2 Rozpoznanie sprzêdtu</H2>

<P>MUSISZ wiedzieæ jakiego rodzaju karty posiadasz. W niektórych
przypadkach (karty d¼wiêkowe) musisz równie¿ znaæ ró¿ne inne
ustawienia (np przerwanie IRQ, adrew We/Wy i podobne).
<P>
<H2>6.3 Kompilacja j±dra - Wersja 1.2.13 </H2>

<P>Aby rozpocz±æ proces konfiguracji, wykonaj  polecenia opisane w pliku
README. Rozpozcynasz proces konfiguracji j±dra poleceniem
<P>
<BLOCKQUOTE><CODE>
<PRE>
make config
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Aby korzystaæ z PPP, musisz skonfigurowaæ j±dro tak, aby zosta³a
do³±czniea obs³uga PPP w j±drze (PPP wymaga zarówno obs³ugi protoko³u
przez j±dro, jak i samego programu pppd).
<P>
<HR>
<PRE>
  PPP (point-to-point) support (CONFIG_PPP) [n] y
</PRE>
<HR>
<P>
<P>Odpowiedz na nastêpne pyania zgodnie z posiadanycm sprzêtem i
po¿±danyc hcech systemu. Nastêpnie wykonaj kolejne polecenie
przedstawione w pliku README.
<P>
<P>Jadro 1.2.13 tworzy jedynie 4 urz±dzenia PPP. W przypadku korzystania
z kart wieloportowych musisz poprawiæ pliki ¼ród³owe j±dra. (Zobacz
README.linux, czê¶æ dystrybucji palietu PPP-2.1.2.
<P>
<P>Uwaga: dialog komfiguracyjny j±dra w wersji 1.2.13 nie pozwala na
cofanie siê do pytañ na które ju¿ zosta³± podana odpowied¼. Wiêc je¶li
pomylisz siê musisz przerwaæ program (naciskaj±c <B>Ctrl-C</B> i
powtórzenie polecenia <CODE>make config</CODE>.
<P>
<H2>6.4 Kompilacja j±dra - wersje 1.3.x i 2.0.x </H2>

<P>W przypadku j±dra 2.0.x mo¿esz wykorzystaæ przedstawion± wcze¶ñiej
procedurê. W celu przwid³oweg ozinstalowania plików ¼ród³owych wykonuj
instrukcje z pliku README. Nastêpnie rozpocznij konfiguracjê wydaj±c
polecenie: 
<P>
<BLOCKQUOTE><CODE>
<PRE>
make config
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Mo¿esz spróbowaæ innego sposobu, a mianiwicie
<BLOCKQUOTE><CODE>
<PRE>
make menuconfig
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Ta metoda przywo³uje program konfiguracyjny oparty o listê prostych w
obs³udze menu, z osi±galn± pomoc± on-line.
<P>
<P>Jesnieje równie¿ bardzo rekomentowana wersja pod X
<BLOCKQUOTE><CODE>
<PRE>
make xconfig
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Obs³uga PPP mo¿e byæ wkompilowana bezpo¶rednio w j±dro lub jako
oddzielny modu³. Je¶li bêdziesz korzyst±³ z PPP tylko od czasu do
czasu, wtedy polecamy skompilowanie PPP jako oddzielnego modu³u. Je¶li
korzystasz zporgramu 'kerneld', modul PPP zostanie za³adowany
automatycznie w momencie gdy j±dro zostanie poproszone o obs³ugê
protoko³u PPP. W ten sposób oszczedzasz cenna pamiêc operacyjn± w
systuacji kiedy nie korzystasz z PPP, poniewa¿ kod jadra musis w
ca³o¶ci znajdowaæ sie w pamiêci operacujnej komputera, lecz modu³y
³wadowane przez kerneld saautomatyczne usuwane z pamiêci jêsli nikt z
nich nie korzysta.
<P>
<P>W tym celu musisz w³±czyæ obs³ygê ³adowania modu³ow:
<HR>
<PRE>
        Enable loadable module support (CONFIG_MODULES) [Y/n/?] y
</PRE>
<HR>
<P>Aby dodaæ obs³ugê PPP odpowiedz na nastêpuj±ce pytanie:
<HR>
<PRE>
        PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?]  
</PRE>
<HR>
<P>
<P>Je¶li chcesz aby to by³ ³adowalny modu³ odpowiedz <B>M</B>. Je¶li bma
byæ wkompilowany bezpo¶rednio w j±dro odpowiedz <B>Y</B>.
<P>
<P>W przeciwieñstwie do j±dra w wersji 1.2.13 j±dro 2.0.x tworzy
ur¿adzenie PPP w locie wtedy, kiedy s± potrzebne i nie trzeba zmieniaæ
¼ródê³ j±dra aby dodaæ wiêcej ni¼ 4 kana³y PPP.
<P>
<H2>6.5 Uwaga na temat PPP-2.2 i <CODE>/proc/net/dev</CODE></H2>

<P>Jesli korzystasz z PPP-2.2 stwierdzisz, zê efektem ubocznym tworzenia
kana³ów PPP w locie jest fakt, ¿e nie s± one wykazywane w pliku
/proc/net zanim nie zostanie utworzone przez uruchomiony program pppd.
<P>
<HR>
<PRE>
[hartr@archenland hartr]$ cat /proc/net/dev
Inter-|   Receive                  |  Transmit
 face |packets errs drop fifo frame|packets errs drop fifo colls carrier
    lo:  92792    0    0    0    0    92792    0    0    0     0    0
  eth0: 621737   13   13    0   23   501621    0    0    0  1309    0
</PRE>
<HR>
<P>
<P>Je¶li ju¿ jakie¶ po³±czenia zostan± nawi±zane, na serwerze PPP bêdziesz
móg³ obej¿eæ listê urz±dzeñ podobn± do tej poni¿ej:
<P>
<HR>
<PRE>
[root@kepler contrib]# cat /proc/net/dev
Inter-|   Receive                  |  Transmit
 face |packets errs drop fifo frame|packets errs drop fifo colls carrier
    lo: 428021    0    0    0    0   428021    0    0    0     0    0
  eth0:4788257  648  648  319  650  1423836    0    0    0  4623    5
  ppp0:   2103    3    3    0    0     2017    0    0    0     0    0
  ppp1:  10008    0    0    0    0     8782    0    0    0     0    0
  ppp2:    305    0    0    0    0      297    0    0    0     0    0
  ppp3:   6720    7    7    0    0     7498    0    0    0     0    0
  ppp4: 118231  725  725    0    0   117791    0    0    0     0    0
  ppp5:  38915    5    5    0    0    28309    0    0    0     0    0
</PRE>
<HR>
<P>
<H2>6.6 Ogólne ueagi na temat konfiguracji j±dra</H2>

<P>Je¶li konfigurujesz swojego Linuxa jako serwer PPP, musisz wkompilowaæ
w j±dro  obs³ugê forwardowania pakietów (IP forwarding). Jest to
równie¿ konieczne, je¶li twoj Linux ma ³±czyæ ze sob± dwie sieci LAN
lub przy³±czyæ lokaln± sieæ LAN do Internetu. 
<P>
<P>Je¶li przy³±czasz sieæ LAN do Internetu (lub ³±czysz ze sob± dwie
sieci LAN) powiniene¶ po¶wiêciæ du¿o uwagi bezpieczeñstwu. Dlatego
obowi±zkowe wydaje siê w takim przypadku wkompilowanie obs³ugi
firewalla (IP Firewalling).
<P>
<P>Bêdziesz tego potrzebowa³ równie¿ w przypadku,  gdy chcesz skorzystaæ
z IP masquerade w celu pod³±czenia do internetu sieci lokalnej
pracuj±cej na zastrze¿onych klasach numerów IP.
<P>
<P>Jak ju¿ zainstalujesz nowe j±dro i zrestartujesz komputer aby by³o
aktywne, wtedy mo¿esz rozpocz±æ konfigurowanie i testy po³±czenia PPP.
<P>
<H2><A NAME="s7">7. Zbieranie niezbêdnych inforamcji na temat us³ugi PPP</A></H2>

<P>Zanim bêdziesz w stanie ustanowiæ po³±czenie PPP z serwerem, musisz
zdobyæ nastêpuj±ce informacje (od administratora opiekuj±cego sie serwerem):
<P>
<UL>
<LI>Numer telefomu pod jaki nale¿y dzwoniæ aby skorzystaæ z
us³ugi<BR> Je¶li znajdujesz siê za central± PABX potrzebujesz
równie¿ numer wyj¶ciowy, po którym otrzymujesz sygna³ centrali -
zwukle ejst o zero (0) lub dziewiêæ (9).
</LI>
<LI> Serwer korzysta z DYNAMICZNYCH czy STATYCZNYCH numerów
IP?<BR>
Je¶li serwer korzysta ze STATYCZNYCH numerów IP, wtedy musisz wiedzieæ
które numery IP u¿ywaæ. Wiêkszo¶æ dostawców Internetu korzysta z
DYNAMICZNIE przydzielanych numerów IP. Jak wspomnieli¶my ma to pewne
skutki na rodzaje us³ug z których mog³by¶ chcieæ skorzystaæ.
</LI>
<LI>Je¶li korzystasz ze statycznych numerów IP dowiedz siê jescze
jaki numer sieci i maskê sieciow± (nemtask) u¿ywa twój dostawce.
</LI>
<LI>Jakie s± numery IP serwera DNS u twojego dostawcy Internetu?<BR>
Powinny byæ co najmniej dwa, choæ niezbêdny jest tylko jeden.
</LI>
<LI>Czy serwer wymaga u¿ycia PAP/CHAP?<BR>
Je¶li tak, musisz jeszcze znaæ "id" o "secret" których masz u¿ywaæ
przy zestawianiu po³aczenia (zwykle jest to twój identyfikator i has³o).
</LI>
<LI>Czy serwer automatycznie uruchamia PPP czy musisz wydaæ
dodatkowe polecenia po zalogowaniu siê na serwerze?<BR>
Je¶li musisz wydaæ jakie¶ polecenie aby uruchomiæ PPP dowiedz siê
jakie jest to polecenie?</LI>
</UL>
<P>
<P>Zapisz dok³adnie wszystkie te informacje - bêdziesz z nich korzystaæ.
<P>
<H2>7.1 Testowanie modemu dla po³±czeñ wychodz±cych</H2>

<P>Powiniene¶ siê upewniæ ¿e twój modem jest poprawnie pod³±czony i
skonfigurowany, i wiesz do którego portu szeregowego jest pod³±czony.
<P>
<P><B>Pamiêtaj</B>:-
<UL>
<LI>DOS com1: = Linux /dev/cua0 (i /dev/ttyS0)</LI>
<LI>DOS com2: = Linux /dev/cua1 (i /dev/ttyS1)<BR>
itd.</LI>
</UL>
<P>
<P>Korzystaj±c z programu komunikacyjnego (mp minicom), wybierz numer telefoniczny
serwera PPP do którego chcesz siê przy³±czyæ za pomoc± PPP.
<P>
<P>(Uwaga: W tym stadium <B>nie</B> staramy siê nawi±zaæ po³±czenia PPP -
jednynie chcemy siê upewniæ, ¿e posiadamy poprawny numer telefonu,
chcemy sorawdziæ, ¿e nasz modem dzia³a poprawnie i chcemy dowiedzieæ
siê jakie <B>dokladnie</B> komunikaty wysy³a w czasie logowania siê
serwer PPP).
<P>
<P>Podzcas cza³ego tego procesu powiniene¶ prowadziæ bardzo dok³adne
notatki wszelkich zachêt i komunikatów wysy³anych przez serwer lub
najlepiej w³±czyæ rejestrownianie wszystkiego do pliku (log file).
Szczególnie nas interesuje ca³a procedura logowania siê do systemu, w
jaki sposób serwer zachêca ciê do wprowadzenia identyfikatora, a potem
has³a i jakie komunikaty wy¶wietla podczas uruchamiania PPP.
<P>
<P>Warto zadzwoniæ co najmniej dwukrionie. Niektóre serwery zmieniaj±
sposób zachêcania do wprowadzania informacji (np. z czasem). Dwie
najwa¿niejsze zachêty jakie potrzebujesz znaæ to:-
<UL>
<LI>zachêta do wprowadzenia identyfikatora u¿ytkownika;</LI>
<LI>zachêta do wprowadzenia has³a;</LI>
</UL>
<P>
<P>Je¶li w celu uruchomieania na serwerze PPP musisz wydaæ jakie¶
polecenie, musisz równie¿ zanotowaæ jak wygl±da zacheta serwera do
wywdawani poleceñ, po tym jak ju¿ siê zalogujesz do serwera.
<P>
<P>Je¶li serwer automatycznie uruchamia PPP zaraz po tym jak siê
zalogujesz, zobaczysz na ekranie serie smieci - to serwer PPP przesy³a
inforamcje niezbêdne do konfiguracji i zestawienia po³±czenia PPP.
<P>
<P>To powinno wygl±daæ mniej wiêcej tak:-
<P>
<BLOCKQUOTE><CODE>
<PRE>
~y}#.!}!}!} }8}!}$}%U}"}&amp;} } } } }%}&amp; ...}'}"}(}"} .~~y}
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>(pojawia siê raz za razem)
<P>
<P>W tym momencie mo¿esz przerwaæ po³±czenuie (zwykle wpisz szybko +++, a
gdy twój modem odpowie OK wydaj polecenie ATHO).
<P>
<P>W niektórych systemach PPP musi zostaæ uruchomione przez
u¿ytkownika. Zwykle jest tak dlatego, ze serwer zosta³ skonfigurowany
w ten sposób aby umo¿liwiæ po³±czenia PPP i zwyk³e sesje terminalowe
przy wykorzystaniu tego samego konta. W takim przypadku, jak ju¿
siêzalogujesz na serwerze musisz wydaæ to polecenie. Ponownie
zobaczysz smiecie pojawiaj±ce siê na ekranie - to serwer PPP próbuje
nawi±zaæ po³±czenie z twoim komputerem. Mo¿esz od³ozyæ s³uwawkê.
<P>
<P>Je¶li nie zobaczysz na ekranie wspomnianych wcze¶niej ¶mieci wszystko
wskazuje (choæ nie na pewno), ¿e pope³ni³e¶ jaki¶ b³±d.
<P>
<P>Mo¿e siê zdarzyæ taki przypadek, ze trafi³e¶ na serwer pracuj±cy w
trybie pasywnym - to znaczy taki, który nie wysy³a komunikatów zanim
klient (twój komputer) nie rozpocznie zestawiania po³±czenia PPP.
<P>
<P>Jednak¿e wiêkszo¶æ serwerów jest w tym wzg³êdzie aktywna i powiniene¶
jednak zobaczyæ te ¶miecie.
<P>
<P>Je¶li nie mo¿esz uruchomiæmodemu, przeczytaj dokumentacjê, która mu
towarzyszy, strony podrêcznika dotycz±ce oprogramowania
komunikacyjnego z którego korzystasz (man minicom) i
Serial-JTZ!. Kiedy siê z tym uporasz powtórz ca³± procedurê.
<P>
<H2><A NAME="s8">8. Uwaga na temat portów szeregowych i ich przepustowwo¶ci</A></H2>

<P>Je¶li korzystasz z szybkich (zewnêtrznych) modemów (14400 Bodów i
wiêcej) twój port szeregowy musi umo¿liwiaæ przesy³anie inforamcji z
odpowiedni± prêdko¶ci± jaka mo¿e wygenerowaæ modem, sczególnie gdy
modem posiada kompresjê sprzêtow±.
<P>
<P>To wymaga korzystania z portów z nowoczesnymi uk³±dami UART (Universal
Asynchronous Receiver Transmitter) takimi jak 16550A. Je¶li korzystasz
ze starego komputera (lub star± kartê portów szeregowych) ca³kiem
mo¿liwe, ¿e korzystasz z uk³adów UART 8250, które mog± powodowaæ
klopoty przy korzystaniu z modemów o du¿ej prêdko¶ci.
<P>
<P>Linux potrafi powiedzieæ jakiego rodzaju uk³adu u¿ywasz. Skorzystaj z
polecenia 
<BLOCKQUOTE><CODE>
<PRE>
setserial -a /dev/ttySx
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Je¶li nie posiadasz uk³adów 16550A, kup now± kartê portów szeregowych
zawieraj±c± te uklady (cena poni¿êj $ 50).
<P>
<P>Uwaga: pierwsze wersje uk³adu 16550 mia³y bl±d. Zosta³ on szybko
rozpoznany i powstala nowa poprawiona wersja tego uk³adu 16550A. Cze¶æ
b³êdnych uk³adów dosta³a siê jednak do obiegu. Prawdopodobieñstwo, ¿e
natrafisz na takie uk³ady jest niezwykle ma³e, lecz sprawdzaj±c uk³ady
szukaj oznaczenia 16550A, sczególnie w starszych kartach.
<P>
<H2><A NAME="s9">9. Konfiguracja modemu</A></H2>

<P>Muszi poprawnie skonfigurowaæ modem, <B>przeczytaj jego
dokumentacjê</B>. Wiêkszo¶æ modemów jes dotarczana z <B>ustawieniami
fabrycznymi</B>, które w³±czaj± opcje wymagane dla PPP. Minimalna
konfiguracja powinna okre¶laæ:-
<UL>
<LI>Sprzêtowe sterowanie prze³aniem danych (RTS/CTS)
(<CODE>&amp;</CODE>K3 w wielu modemach Hayes)</LI>
</UL>
<P>Inne ustawienia (standardowe polecenia modemów Hayes), którym
powiniene¶ siê przyj¿eæ to:
<UL>
<LI>E1 Echo poleceñ w³±czone ON(wymagane przez program chat)</LI>
<LI>Q0 Przekazywanie kodów wynikowych ON(wymagane przez program chat)</LI>
<LI>S0=0 Automatyczne odpowiadanie na po³±czenie OFF (chyba, ¿e
chcesz aby twój modem "podnosi³ s³uchawkê")</LI>
<LI><CODE>&amp;</CODE>C1 Carrier Detect ON Tylko po po³±czeniu</LI>
<LI><CODE>&amp;</CODE>S0 Data Set Ready (DSR) zawsze ON</LI>
<LI>(zale¿nie od systuacji)   Data Terminal Ready</LI>
</UL>

(ON - w³aczone; OFF - wy³±czone)
<P>Warto równie¿ siê dowiedzieæ w jaki sposób pracuje po³±czenie miêdzy
modemem i twoim komputerem. Wiekszo¶æ nowoczesnych modemów pozwala na
pracê z USTALON¡ predko¶ci±, pozwalaj±c jednocze¶nie na zmianê
prêdko¶ci po³±czenia przez liniê telefoniczn± na najwiêksz± jak±
potrafi przenie¶æ sama linia i obs³u¿yæ zdalny modem.
<P>
<P>Jest to znany jako tryb pracy z dzielon± prêdko¶cia. Je¶li twoj modem
potrafi to obs³u¿yæ, zblokuj interfejs szeregowy modemu na najwieksz±
prêdko¶æ jak± porafi obs³u¿yæ (zwykle 115200 bps lub 38400 bps dla
modemów 14400 bodów).
<P>
<P>Skorzystaæ z oprogramowania komunikacyjnego (np minicom) aby
dowiedzieæ siê wiêcej na temat konfiguracji modemu i skonfiguruj go do
pracy z PPP. Wiekszo¶æ modemów pokazuje aktualne ustawienia po wydaniu
polecenia  AT<CODE>&amp;</CODE>V, lecz sprawd¼ to w dokumentacji modemu.
Je¶li przypadkiem naba³aganisz w ustawieniach, mo¿esz powróciæ do
ustawieñ fabrycznych wydaj±c polecenie AT<CODE>&amp;</CODE>F. W wiêkszo¶ci
modemów jakie spotka³em ustawienia fabryczne by³y wystarczajace do
poprawnej wspó³pracy z PPP, lecz powiniene¶ to sprawdziæ.
<P>
<P>Zachowaæ konfiguracjê modemu w pamiêci modemu (zwukle poleceniem
AT<CODE>&amp;</CODE>W - sprawdz w dokuentacji).
<P>
<P>Zachowanie prawid³owej konfiguracji w modemie, w³±czenie modemu, lub
jego zerowanie j± uaktywnia. Dziêki temu w znaczny sposób uraszcza siê
skrypty niezbêdne do zestawienia po³±czenia PPP.
<P>
<H2>9.1 Uwagi na temat sterowania przep³ywem danyc przez porty szeregowe</H2>

<P>Kiedy informacje podró¿uj± przez linie szeregowe, mo¿e siê zdarzyæ, ¿e
dane przybywaj± szybciej, ni¿ komputer jest w stanie je obs³u¿yæ
(komputer mo¿e byæ zajêty czym¶ innym - pamiêtaj Linux jest systemem
wielozadaniowym i wielou¿ytkownikowym). Aby zapewniæ, ¿e informacja
nie zostanie utracona konieczne jest odpowiednie sterowanie
przep³ywem danych (dane  nie miescz± siê w buforze i s± tracowne).
<P>
<P>Istniej± dwie metody:-
<UL>
<LI>Sygnalizacja spr¿etowa (Clear To Send/Request to Send - CTS/RTS)</LI>
<LI>Sygnalizacja programowa (control S i control Q).</LI>
</UL>
<P>
<P>Podczas, gdy ta ostatnia mo¿e byæ wystarczaj±ca w przypadku termianli
(danych tekstowych), po³±czenia PPP korzystaj± z wszystkich 8-miu
bitów i moze siê zdarzyæ, ¿e gdzie¶ w strumieniu danych znajdzie siê
znak odpowiadaj±cy sygna³owi Control Q lub Control S. Wiêc je¶li modem
zostanie skonfigurowany do obs³ugi sysgna³ów programowych, wszystko
mo¿e gwa³townie przestaæ dzia³aæ.
<P>
<P>Dal PPP korzystaj±cego z danych 8-mio bitowych sprzetowe sterowanie
przep³ywaem danych jest absolutnie niezbêdne.
<P>
<H2><A NAME="s10">10. Korzystanie z PPP, a uprawnienia administratora</A></H2>

<P>Poniewa¿ PPP musi skonfigurowaæ urz±dzenia sieciowe, zmodyfikowaæ
tabele routingu itp. musi wtedy posiadaæ uprawnienia administratora.
<P>
<P> Je¶li po³±czenie PPP zestawia u¿ytkownik inny ni¿ root, wtedy
program pppd musi mieæ ustawiony bit setuid i nale¿eæ do aministratora
(setuid root) :-
<P>
<BLOCKQUOTE><CODE>
<PRE>
-r-sr-xr-x   1 root     root        95225 Jul 11 00:27 /usr/sbin/pppd
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Je¶li /usr/sbin/pppd nie ma takich atrybutów, musisz jako
<B>administrator (root)</B> wydaæ polecenie :-
<BLOCKQUOTE><CODE>
<PRE>
chmod u+s /usr/sbin/pppd
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Powu¿sze polecenie umozliwia uruchomienie programu pppd z
uprawnieniami administratora <B>nawet</B> przez zwyk³ego u¿ytkwonika. W
ten sposób zwyk³y u¿ytkownik mo¿e zainicjowaæ po³±czenie PPP, a sam
program bêdzie posiada³ odpowiednie uprawnienia do skonfigurowania
urz±dzeñ sieciowych i modyfikacji tabeli routingu.
<P>
<P>Programy z ustawionym bite, suid s± potencjalnymi dziurami w systemie
zabezpieczeñ i powiniene¶ byæ nies³ychanie ostro¿ny w ustawianiu biru
suid dla programów, których w³a¶cicielem jest administrator
(root). Cze¶æ programów (w³±czaj±c pppd) by³a napisana ze specjalnym
uwzglednieniem minimalizowania niebezpieczeñstwa wykoklego z
wykonywania tego programu jako administrator, wiêc powiniene¶ tym
razem czuæ siê bezoieczny (choæ nie dajemy ¿adnych gwarancji).
<P>
<P>W zale¿no¶ci od sposobu pracy twojego systemu - sczego³nie je¶li chesz
umo¿liwiæ KA¯DEMU u¿ytkownikowi twojego systemu inicjowanie po³±czeñ
PPP powiniene¶ zmieniæ atrybuty sktyptów do w³±czania/wy³±czania PPP
tak, aby te pliki mog³y byc czytane i wykonywane przez wszystkich.
<P>
<P>Jednak¿e je¶li NIE chcesz aby ka¿dy mog³ uruchomiæ PPP (np twoje
dzieci posiadaj± konta na twoim komputerze i nie chesz aby pod³acza³y
siê do internetu bez twojego nadzoru) musisz utworzyæ odzielna grupê
PPP (zmieñ plik /etc/group) a nastêpnie:-
<UL>
<LI>Zmieñ wla¶ciciela i grupê skryptów ppp-on/off na root,PPP
</LI>
<LI>Zmieñ atrybuty plików ppp-on/off aby mog³y byæ
czytane/uruchamiane tylko przez w³a¶ciæiela i cz³onków grupy
<BLOCKQUOTE><CODE>
<PRE>
  -rwxr-x---   1 root     PPP           587 Mar 14  1995 /usr/sbin/ppp-on
  -rwxr-x---   1 root     PPP           631 Mar 14  1995 /usr/sbin/ppp-off
</PRE>
</CODE></BLOCKQUOTE>

</LI>
<LI>Wy³±cz pozostalym wszelkie prawa dostêpu do tych plików.
</LI>
<LI>dodaj do grupy PPP (plik /etc/group) u¿ytkowników, którzy s±
uprawnieni do zestawiania po³±czenia PPP.</LI>
</UL>
<P>
<P>Nawet je¶li tak post±pisz, zwykli u¿ytkownicy NADAL nie bêd± w stanie
zamkn±æ po³±czenia PPP!. Pamiêtaj, ¿e k±zdy mo¿e wy³±czyæ modem.
<P>
<P>Na moim domowym PC <B>NIE</B> ustawiam bitu suid dla pppd. Abyuruchomiæ
po³±czenie muszê zalogowaæ sie jako administrator - czyli znaæ
has³o. W ten sposób kontrolujê dostêp mojego syna do Internetu.
<P>
<H2><A NAME="s11">11. Ustawianie plików konfiguracyjnych PPP</A></H2>

<P>Je¶li nawet chcesz aby PPP by³o dostêpne dla wszystkich u¿ytkowników,
podczas wykonywania opisyuwanych poni¿ej modyfikacji plików i katalogów
musisz pracowaæ jako administrator.
<P>
<P>PPP korzysta z kilku plików podczas zestawiania po³±czenia. Ich nazwy
i po³o¿enie s±inne dla PPP w wersji 2.1.2 i 2.2.
<P>
<P>W przypadku PPP 2.1.2 s± to:-
<P>
<HR>
<PRE>
/usr/sbin/pppd          # plik binarny
/usr/sbin/ppp-on        # skrypt do nawi±zywania po³aczenia
/usr/sbin/ppp-off       # skrypt kasuj±cy po³±czenie
/etc/ppp/options        # plik z opcjami totyczacymi wszystkich po³±czeñ
/etc/ppp/options.ttyXX  # opcje specyficzne dla po³±czeñ przez ten port
</PRE>
<HR>
<P>
<P>For PPP 2.2 the files are:-
<P>
<HR>
<PRE>
/usr/sbin/pppd                  # plik binarny
/etc/ppp/scripts/ppp-on         # skrypt do nawi±zywania po³aczenia
/etc/ppp/scripts/ppp-on-dialer  # skrypt do wybierania numeru serwera
/etc/ppp/scripts/ppp-off        # skrypt dla programu chat
/etc/ppp/options                # plik z opcjami totyczacymi wszystkich po³±czeñ
/etc/ppp/options.ttyXX          # opcje specyficzne dla po³±czeñ przez ten port
</PRE>
<HR>
<P>
<P>Jak widaæ w katalogu /etc powiniene¶ znale¼æ podkatalog ppp:-
<P>
<BLOCKQUOTE><CODE>
<PRE>
drwxrwxr-x   2 root     root         1024 Oct  9 11:01 ppp
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Je¶li nie istnieje musisz go utworzyæ.
<P>
<P>Je¶li ten katalog ju¿ istnieje, powinien zawieraæ plik wzrocowy o
nazwie <B>options.tpl</B>. Poni¿ej przedstawiamy zawarto¶æ tego pliku.
<P>
<P>Powiniene¶ go wydrukowaæ poniewa¿ zawiera wyja¶nienie wszystkich opcji
PPP (dobrze siê z nimi zapoznaæ w po³±czeniu ze stronami podrêcznika
dotycz±cymi programu pppd (man pppd)). Choæ mog³byæ u¿yæ tego pliku
jako
podstawy d utworzenia pliku <CODE>/etc/ppp/options</CODE>, prawdopodobnie
lepiej jest go utworzyæ od pocz±tku, tak aby nie zawiera³ tych
wszyskich komentarzy - bêdzie znacznie ³atwiejszy w utrzymaniu.
<P>
<P>Je¶li posiadasz wiele linii modemowych (przypadek serwera PPP),
powiniene¶ utworzyæ plik <CODE>/etc/ppp/options</CODE> z opcjami wspólnymi
dla wszystkich portów i je¶li jest to konieczne utworzyc indywidualne
pliki dla ka¿dej linii oddzielnie, które bêd± zawiera³y indywidualne
ustawienia wymagane dla konkretnego portu.
<P>
<P>S± to pliki o nazwach <CODE>options.ttyx1&lt;</CODE>, <CODE>options.ttyx2</CODE> itd.
(x X oznacza odpowiedni± literê oznaczj±ca port szeregowe twojego
komputera). 
<P>
<P>Jednak w przypadku pojedynczego po³±czenia PPP ca³kowicie wystarczy
jeden plil <CODE>/etc/ppp/options</CODE>. Ostatecznie mog³by¶ podaæ
wszystkie te parametry w wierszu poleceñ programu pppd.
<P>
<P>£atwiej jest opiekowaæ siê konfiguracj±, która korzysta z plików
<CODE>/etc/ppp/options.ttySx</CODE>.  Je¶li korzystasz z PPP aby ³±czyæ
siê z ró¿nymi serwerami, mo¿esz utworzyæ dla ka¿dego serwera wlasny
plik konfiguracyjny i przekazywaæ jego nazwê jako argument polecenia
uruchamiaj±cego po³±czenie PPP.
<P>
<H2>11.1 Plik options.tpl </H2>

<P>Czêsæ dystrybucji PPP wydaje siê byæ pozbawiona pliku options.tpl,
dlatego tutaj podajemy jego pe³n± tre¶æ. Zamiast zmieniaæ ten plik,
lepiej stworzyæ <CODE>/etc/ppp/options</CODE> od nowa. Rownie¿ nie
wprowadzaj zmian bezpo¶rednio do tego pliku. Zrob wpierw jego kopiê i
j± modyfikuj. W razie klopotów mo¿esz wtedy rozpocz±æ wszystko na nowo.
<P>
<HR>
<PRE>
# /etc/ppp/options -*- sh -*- ogólne opcje pppd
# created 13-Jul-1995 jmk
# autodate: 01-Aug-1995
# autotime: 19:45

# Do sestawienia po³±czenia miêdzy modemami wykorzystaj program lub
# skrypt. Bedzie tozwyklê program "chat", który wybierze numer
# zaloguje siê i uruchomi ppp po drugiej stronie
#connect "echo Musisz zainstalowaæ program do nawi±zania po³±czenia modemowego"

# Wykonaj ten program, lub skrypt po tym, Jak pppd zerwie po³±czenie.
# ten skrypt mo¿e w przypadku braku sprzêtowego sterowania modemem
# wydaæ modemowi aby od³o¿y³ s³uchawkê.
#disconnect "chat -- \d+++\d\c OK ath0 OK"

# async character map -- 32-bit hex; ka¿dy bit oznacza znak, który
# musi byæ poprzedzony znakiem escape (escaped char), tak aby pppd mog³
# go odebraæ. 00000001 oznacza '\x01', a 0x80000000 oznacza '\x1f'.
#asyncmap 0

# Wymaga potwierdzenia to¿szamoaæi przed zezwoleniem na
# wysy³anie/odbiór pakietów sieciowych

#auth

# Do sterowania przep³ywem inforamcji przez port szeregowy skorzystaj
# ze sprzêtowego sterowania modemem (tzn. RTS/CTS).
#crtscts

# Do sterowania przep³ywem inforamcji przez port szeregowy skorzystaj
# ze programowego sterowania modemem (tzn/ XON/XOFF).
#xonxoff

# Po zakoñczonych sukcesem negocjacjach IPCP dodaj to tabeli routingu
# domy¶ln± trasê, u¿ywaj±c jako bramê komputer po drugiej stronie
# po³±czenia ppp. Trasa ta jest usuwana z tabeli routingu w momencie
# zerwania po³±czenia PPP.
#defaultroute

# Okre¶la, które znaki musz± byæ przesy³±ne specjalnie (escaped) -
# niezale¿nie czy druga strona (za pomoc± opcji asyncmap) za¿±da³a aby
# by³y w taki sposób przesy³ane, czy nie. Znaki s± podane jako ci±gi
# liczb w notacji szesnastkowej, rozdzielone przecinkami. Zauwa¿, ¿e
# mo¿esz tu  wpisaæ niemal ka¿dy znak, w przeciwieñstwie do parametru
# asyncmap, który jako swoje argumenty przyjmuje jedynie znaki steruj±ce
# (control characters). Znaki, które nie mog± byæ przesy³ane w sposób
# specjalny to znaki, których kody zawieraj± siê w przedziale 0x20-0x3f
# i znak 0x5e. 
#escape 11,13,ff

# Nie korzystaj z sygna³ów strowania modememe
#local

# Okre¶la, ¿e pppd w celu zapewnienia wy³±czn¶ci w dostêpie do portów
# szeregowych powinno korzystaæ z plików blokady w stylu UUCP.
#lock

# Krzystaj z sysgna³ów sterownai modemem. Na Ultrixie, ta opcja
# oznacza spzêtowe sterownie przep³ywem danych, tak jak to w³±cza opcja
# crtscts.
# (Ta pcja nie jest w pe³ni zaimplementowana)
#modem

# Nadaj zmienej MRU [Maximum Receive Unit - Najwiêkszy blok
# otrzymywany] warto¶æ &lt;n>. Pppd poprosi drug± stronê o nie przysy³anie
# wiêkszych pakietów ni¿ &lt;n> bajtów. Minimalna warto¶æ MRU wynosi
# 128. Warto¶ci± domy¶ln± jest 1500. W przypadku wolnych ³±czy zaleca
# siê wartosæ 296 (40 bajtów na nag³ówek TCP/IP i 256 bajtów danych)
#mru 542

# Ustawienie netmaski interfejsu sieciowego. 32-wu bitowa w notacji
# dajtowo-dziesiêtnej (np. 255.255.255.0).
#netmask 255.255.255.0

# Wy³±czenie opcji negocjowania adresu IP z serwerem. Je¶li ta opcja bêdzie
# w³±czona adres IP musi zostaæ podany jako parametr po³±czenia (w pliku 
# opcji lub w wierszu poleceñ, lub przekazany przez serwer w czasie 
# negocjacji IPCP. 
#noipdefault

# W³±cza pasywne zachowanie LCP. PPP spróbuje nawi±zaæ po³±czenie,
# je¶li to siê nie uda, zamiast zakoñczenia pracy (normalne zachowanie
# gdy ta opcja jest wy³±czona) bedzie oczekiwa³ na poprawny pakiet LCP
# nades³any przez drugi komputer.
#passive

# PPP nie bêdzie wysy³a³o ¿adnych pakietów LCP, w celu nawi±zania
# po³±czenia. Bêdzie jedynie nas³uchiwa³o na nadej¶cie takich pakietów
# z drugiej strony po³±czenia (zachowanie opcji "passive" w starszych
# wersjach pppd)
#silent

# Nie ¿±daj i nie pozawalaj na ustalenie jakichkolwiek opcji w czasie
# negocjacji LCP czy IPCP (wykorzystaj warto¶ci domy¶lne).
#-all

# Wy³±czenia kompresji negocjacji adresu/sterowania (wykorzystaj
# ustawienie domy¶lne, tzn pole adres/sterowanie wy³aczone).
#-ac

# Wy³±cz negocjacje opcji asyncmap (skorzystaj z domy¶lnej warto¶ci
# asyncmap, czyli przesy³aj w sposób specjalny jedynie znaki steruj±ce.
#-am

# Nie twórz procesu potomnego w tle ( w przeciwnym wypadku pppd
# zachowa siê w ten sposób jesli podany port oznacza urz±dzenie szeregowe)
#-detach

# Wy³±cz negocjacjê adresu IP (pppd musi otrzymac jako parametr adres
# IP komputera na drugim koñcu po³±czenia - w wierszu poleceñ lub
# pliku opcji)
#-ip

# Wy³±cz negocjacjê numeru magicznego/specjalnego/charakterystycznego
# (magic number). W ten sposób pppd nie wykryje urz±denia pêtli zwrotnej.
#-mn

# Wy³±cz negocjacjê parametru MRU [Maximal Receive unit]. Wykorzystaj
# warto¶ædomy¶ln± 1500.
#-mru

# Wy³±cz negocjacjê pola protoko³u (skorzystaj z opcji domyslnej:
# kompresja wy³±czona).
#-pc

# Za¿±daj aby druga strona przedstawi³a siê za pomoc± protoko³u PAP.
#+pap

# Nie zgadzaj siê na przedstawianie siê za pomoc± PAP
#-pap

# Za¿±daj aby druga strona przedstawi³a siê za pomoc± protok³u CHAP
# [Cryptographic Handshake Authentication Protocol].
#+chap

# Nie zagadzaj siê na przedstawienei siê za pomoc± CHAP.
#-chap

# Wy³±cz negocjacjê kompresji nag³ówków IP w styly Van
# Jacobsena. Skorzystaj z warto¶ci domy¶lnej: brak kompresji.
#-vj

# Zwiêksz posiom odpluskwiania (to camo co opcja -d). Pppd bêdzie
# rejestrowa³o zawarto¶æ wszystkich wys³anych i otrzymanych pakietów
# kontrolnych w formie nadaj±cej siê do interpretacji przez
# cz³owieka. Rejestrowanie dokonuje siê za pomoc± dzienników systemowych
# (syslog) na poziomie `debug' z warto¶cia `daemon'. Informacje te mog±
# byæ zapisywane w pliku. Przeczytaj o pliku konfiguracyjnym
# /etc/syslog.conf  (man syslog.conf). Je¶li pppd zosta³o skompilowane z
# w³±czeniem dodatkoweg oodpluskwiania, wiadomo¶ci bêd± rejestrowane z
# waro¶ci± `local2' zamiast `daemon'.
#debug

# W celach przedstawiania siê i weryfikacji to¿samo¶ci do nazwy
# komputera dodaj domenê &lt;d>. Np. je¶li funkcja gethostbyname()
# przekazuje warto¶æ `porshe', lecz pe³na nazwa komputera jest
# `porsche.Quotron.COM' musisz skorzystaæ z tej opcji i podaæ domenê
# Quotron.COM. 
#domain &lt;d>

# W³±cz kod udpluskwiania na poziomie drajwera j±dra. Argument n jest
# liczba sk³adaj±c± siê z sumy poszczególnych elementów: 1 w³±czenie
# ogólnych komunikatów odpluskwiaj±cych, 2 - wy¶wietlanie zawarto¶ci
# przychodz±cych pakietów, 4 wy¶wietlanie zawarto¶ci pakietów wysy³anych.
#kdebug n

# Nadaj parametrowi MTU [Maximum Transmit Unit] waro¶æ&lt;n>. Je¶li druga
# strona w czasie negocjacji nie zarz±da mniejszej warto¶æMTU, pppd
# poprosi aby kod j±dra wywy³a³ przez interfejs ppp pakiety o wielko¶ci
# nie przekraczaj±cej n bajtów.  
#mtu &lt;n>

# Do celów weryfikacji to¿samo¶ci przyjmij nazwê &lt;n>.
#name &lt;n>

# Do celów weryfikacji to¿samo¶ci w protokole PAP przyjmij nazwê
# uzytkownika równ± &lt;u>. 
#user &lt;u>

# Wymu¶ wykorzystywanie do celów weryfikacji to¿samo¶ci przyjêcie
# nazwy komputera jako nazwy systemu próbuj±cego nawi±caæ po³±czenie. 
#usehostname

# Do celów weryfikacji to¿samo¶ci przyjmij nazwê zdalnego systemu
# równ± &lt;n>.
#remotename &lt;n>

# Dodaj pozycjê do systemowej tabeli ARP [Address Resolution Protocol]
# z adresem IP systemu po drugiej stronie po³±czenia i twoim adresem
# Ethernetowym. 
#proxyarp

# Do celów weryfikacji to¿samo¶ci w protokole PAP skorzystaj z
# systemowej bazy hase³. 
#login

# Pppd bêdzie wysy³a³o do systemu po drugiej stronie ramki LCP
# echo-request (¿±danie echa) co n sekund. Pod Linuxe, echo-request jest
# wysy³any wtedy, gdy z drugiej strony w ci±gu ostanich n sekund nie
# nadszed³ ¿aden pakiet. Zwykle druga sptrona powinna odpowiedzieæ na
# echo-request wyw³aj±c echo-reply (odpowied¼ na ¿±danie echa). Wraz z
# opcj± lcp-echo-failure mo¿e byæ wykorzystana do wykrywania przerwania
# po³±czenia przez drug± stronê.
#lcp-echo-interval &lt;n>

# Je¶li po n ramkach echo-request nie nadejdzie ¿adna rama echo-reply
# pppd potraktuje to jako zerwanie po³±czenia przez drug± stronê. Je¶li
# tak siê stanie pppd przerwie po³±czenie. Korzystanie ztej opcji wymaga
# podania niezerowego parametru w opcji lcp-echo-interval. Zwykle
# korzysta siê z tej opcji w celu wykrycia fizycznego przerwania
# po³±zenia (np od³o¿enie s³uchawki przez modem) w systucajch, gdy nie
# stosuje siê sprzêtowych liniisterowania modemem.
#lcp-echo-failure &lt;n>

# Przyjij przerwê miêdzy w³aczaniem negocjacji LCP równ± &lt;n> sekund
# (retransmission timeout). Domy¶lnie 3
#lcp-restart &lt;n>

# Przyjmij maksymaln± liczbê transmisjji polecenia przerwania ¿±dania
# (terminate-request) w protokole LCP. Domy¶³nie 3.
#lcp-max-terminate &lt;n>

# Przyjmij maksymaln± liczbê transmisjji polecenia konfiguracyjnego
# protoko³u LCP równ± &lt;n>. Domy¶³nie 10.
#lcp-max-configure &lt;n>

# Ustaw maksymaln± liczbê zwróconych w protokole LPC ¿±dañ
# configura-NAK, zanim rozpocznie siê transmisja poleceñ
# configure-Reject. Domy¶lnie 10.
#lcp-max-failure &lt;n>

# Ustaw przerwê w protokole IPCP (retransmission timeout) równ± &lt;n>.
# Domy¶³nie 3.
#ipcp-restart &lt;n>

# Ustaw maksymaln± liczbê transmisji polecenia terminate-request protoko³u
# IPCP równ± &lt;n>. Domy¶lnie 3.
#ipcp-max-terminate &lt;n>


# Ustaw maksymaln± liczbê transmisji polecenia configure-request protoko³u
# IPCP równ± &lt;n>. Domy¶lnie 10.
#ipcp-max-configure &lt;n>

# Ustaw maksymaln± lizcbê zwróconych  poleceñ configure-NAK  protoko³u
# IPCP zanim rozpocznie siê wysy³anie poleceñ configure-Reject równ±
# &lt;n>. Domy¶³nie 10.
#ipcp-max-failure &lt;n>

# Ustaw przerwê miêdzy uruchamianiem protoko³u PAP (retransmission
# timeout) rown± &lt;n> sekund. Domy¶³nie 3.
#pap-restart &lt;n>

# Ustaw maksymaln± liczbê transmisji polecenia authenticate-request
# protoko³u PAP równ± &lt;n>. Domy¶³nie 10.

#pap-max-authreq &lt;n>

# Ustaw przerwê miêdzy uruchamianiem protoko³u CHAP (retransmission
# timeout) równ±  &lt;n> sekunt. Domy¶lnie 3.
#chap-restart &lt;n>

# Ustaw liczbê wys³anych ¿±dañ rozpoczêcia protoko³u CHAP równ± &lt;n>. 
# Domy¶³nie 10.
#chap-max-challenge

# Pppd bêdzie próbowa³o nawi±zaæ po³±czenie z drug± stron± co &lt;n>
# sekund. 
#chap-interval &lt;n>

# Pppd zakceptuje podany przez drug± stronê nasz lokalny adres IP,
# nawet je¶li zosta³ on podany równie¿ jako opcja dla programu pppd.
#ipcp-accept-local

# Pppd zakceptuje podany przez drug± stronê jej adres IP,
# nawet je¶li zosta³ on podany równie¿ jako opcja dla programu pppd.
#ipcp-accept-remote
</PRE>
<HR>
<P>
<P>
<H2>11.2 Których opcji powinienem u¿ywaæ?</H2>

<P>Jak zwykle: to zale¿y.
<P>
<P>Przedstawiay dwie podstawowowe wersje pliku options, które dotycz±
wiêkszo¶ci przypadków. 
<P>
<P>Je¶li nasza propozycja nie zadzia³a, PRZECZYTAJ PLIK WZORCOWY
(<CODE>/etc/ppp/options.tpl</CODE>) <B>i</B> strony podrêcznika programu
pppd (man pppd) <B>i</B> porozmawiaj z administratorem/lud¼mi
zajmuj±cymi siê obs³ug± u¿ytkowników  serwera, z którym starasz siê
nawi±zaæ po³aczenie.
<P>
<H3>/etc/ppp/options (bez PAP/CHAP)</H3>

<P>W przypadku po³±czeñ, które nie wymagaj± weryfikacji PAP/CHAP powinien
wystarczyæ taki plik.
<HR>
<PRE>
# /etc/ppp/options (bez PAP/CHAP)
#
# Zapobiegnij od³±czaniu siê od terminala przez program pppd.
-detach
# Je¶li korzystasz ze statycnych numerów IP, wpisz tutaj swój numer
0.0.0.0:
#
# Korzystaj z linii sterowania modemu
modem
# korzystaj z plików blokady w stylu uucp, zapewniaj±c sobie wy³±czny
# dostêp do urz±dzeñ szeregowych
lock
# korzystaj ze sprzêtorwego sterowana przep³ywem danych 
crtscts
# po nawi±zaniu po³aczenia dodaj do tabli routingu domy¶ln± trasê dla
# biegn±c± w³a¶nie przez to po³±czenie
defaultroute
# Znaki specjalne maj± byæ przesy³ane normalnie
asyncmap 0
# maksymalny rozmiar pakietu wychodz±cego 552 bajty
mtu 552
# maksymalny rozmiar pakietu przychodz±cego 552 bajty
mru 552
#
#-------KONIEC /etc/ppp/options (bez PAP/CHAP)
</PRE>
<HR>
<P>
<H3>/etc/ppp/options (korzystamy z PAP/CHAP)</H3>

<P>Je¶li serwer wymaga jednak weryfikacji PAP lub CHAP powiniene¶
spróbowaæ opcji pokazanyhc powy¿ej z dodatkowymi kilkoma wierszami
jakie przedstawiamy poni¿ej
<HR>
<PRE>
#
# zmus pppd do korzystania do przedstawiania siê identyfikatorem
# u¿ytkownika jakim pos³ugujesz sie uswojego dostawcy
name &lt;twój identyfikator u dostwcy>  # musisz zmieiæ ten wiersz
#
# Je¶li musisz korzystaæ z protoko³ów PAP lub CHAP, usuñ znaki
# komentarza z kolejnych dwóch wierszy
#+chap
#+pap
#
# Je¶li korzystasz z ZAKODOWANYCH hase³ w pliku /etc/ppp/pap-secrets
# to usuñ znak komentarza z wiersza poni¿ej
#+papcrypt
</PRE>
<HR>
<P>
<H2><A NAME="s12">12. Konfiguracja pliku /etc/resolv.conf</A></H2>

<P>Podczas gdy my, Ludzie lubimy podawaæ adresu komputerów w postaci ich
nazw, komputery korzystaj± z liczb. W sieci TCP/IP (czym jest
Internet) nazwymay koputery ich nazwami, aka¿dy z komputerów ¿yje we
w³asnej <CODE>dquot;</CODE>domenie<CODE>dquot;</CODE>. Np. moj komputer nazywa
siê <B>archenland</B> i nale¿y do domeny
<B>hedland.edu.au</B>. Czyli adres mojego komputera w postaci ³atwej
do pos³ugiwania siê przez cz³owieka jest
archenland.hedland.edu.au. Inne komputery w Internecie rozpoznaj± go
jednak przez przydzielony mu adres IP.
<P>T³umaczenie (resolving) nazwy komputera i domeny na numerki, które s±
niezbêdne do nawiazania po³±czenia jest wykonywane przez komputery
oferuj±ce us³ugê o nazwie DNS (Domain Name Service).
<P>
<P>Podczas zestawiania po³±czenia PPP musisz powiedzieæ swojemu
komputerowi sk±d mo¿e pobieraæ informacje na temat numeru IP
przydzielonego do nazwy komputera, tak aby¶ <B>ty</B> móg³ u¿ywaæ nazw
komputerów, lecz twój <B>komputer</B> by³ w stanie zamieniæ je na
odpowiednie numery IP.
<P>
<P>Jednym ze sposobów jest umieszcenie nazwy i numeru ka¿dego komputra,
którym bêdziesz siêchcia³ po³±czyæ w pliku /etc/hosts ( w
rzeczywisto¶cie jest to niemo¿liwe przy po³±czeniach z Internetem),
innym rozwi±zaniem jest podawanie numerów komputerow zamiast ich nazw
(mo¿liwe jedynie w przypadku ma³ych sieci)
<P>
<P>Najlepiej w taki sposób skonfigurowaæ Linuxa, aby sam wiedzia³ sk±d
pobraæ niezbêdne informacje - automatycznie. Tej us³ugi dostarzca
system DNS. Wszystkiego c opotrzebujesz jest umiesczenie w pliku
/etc/resolv.conf numeru IP serera udostêpniaj±cego us³ugê DNS.
<P>
<P>Ludzie opiekujacy siê serwerem PPP powinni dostarczyæ ci dwa numery IP
serwerów DNS (tylko jeden jest niezbêdny, lecz drugi jest przydatny w
przypadku, gdy nast±pi awaria pierwszego)
<P>
<P>Plik /etc/resolv.conf powinien wygl±daæ mniej wieæej tak:-
<P>
<P>
<HR>
<PRE>
domain domena.twojego.dostawcy.internetu
nameserver 10.25.0.1
nameserver 10.25.1.2
</PRE>
<HR>
<P>
<P>Popraw ten plik (utwórz je¶li jest to konieczne) i wprowa¼
opdpowiednie inforamcje. Pownien mieæ nastêpuj±ce atrybuty:-
<P>
<BLOCKQUOTE><CODE>
<PRE>
-rw-r--r--   1 root     root           73 Feb 19 01:46 /etc/resolv.conf
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Je¶li posiadasz ju¿ dzia³aj±cy plik /etc/resolv.conf, poniewa¿ jeste¶
przy³±czony do sieci LAN, po prostu dodaj numery IP serwera DNS.
<P>
<H2><A NAME="s13">13. Skekretny plik PAP/CHAP </A></H2>

<P>Je¶li korzystasz z weryfikacja to¿szamo¶æi pap lub chap, musisz
równie¿ utworzyæ odpowiedni plik sekretny:
<HR>
<PRE>
/etc/ppp/pap-secrets
/etc/pp/chap-secrets
</PRE>
<HR>
<P>
<P>Podstawow± cech± tych plików jest to, ¿e maj± uwiarygodniaæ to¿szamo¶æ
<B>komputera (systemu)</B> a nie <B>u¿ytkownika</B>.
<P>
<P>&quot;Tak? A jaka to róznica ?&quot; s³yszê jak zadajesz to pytanie.
<P>
<P>Taka, ¿e po zestawieniu po³±czenia PPP z serwerem <B>KA¯DY</B>
u¿ytkownik twojego komputera mo¿e korzyst±c z tego po³±czenia - nie
tylko ty. To w³a¶nie dlatego mo¿esz za pomoc± PPP zestawiæ po³±czenie
WAN ³±cz±ce ze sob± dwie sieci LAN.
<P>
<P>Twój dostawca poza podaniem ci identyfikatora u¿ytkownika i has³a
wymaganego do przy³±zenia siê do jego systemu prawdopodobnie nie
bêdzie zainteresowany jaki± nazwê nada³e¶ swojemu komputerowi, dlatego
prawdopodobnie powienien¶ korzystaæ z identyfikatora u¿ytkownika jaki
masz u dostawcy jako nazwy swojego koputera [mówimy o PAP/CHAP]. 
<P>
<P>Dokonuje sie tego za pomoc± opcji <CODE>name username</CODE> programu
pppd. Je¶li muszisz wiêc podawaæ swój identyfikator w systemie
dostawcy dodaj do pliku <CODE>/etc/ppp/options</CODE> wiersz
<P>
<HR>
<PRE>
name twoj_identyfikator_obowi±zuj±cy_u_dostawcy
</PRE>
<HR>
<P>
<P>Technicznie rzecz bior±c tak naprawdê powieniene¶ korzysztaæ z 
<CODE>usertwoj_identyfikator_obowi±zuj±cy_u_dostawcy</CODE> dla PAP, lecz pppd
jest na tyle inteligentny aby zinterpretowaæ <CODE>name</CODE> jako
<CODE>user</CODE> je¶li tylko serwer za¿±da u¿ycia PAP. Zalet± 
korzystania z opcji <CODE>name</CODE> jest, to, ¿e jest ona równie¿ poprawna
dla CHAP.
<P>
<P>Poniewa¿ PAP/CHAP s³u¿y so sprawdzania to¿szamo¶ci komputerów,
potrzebujesz równie¿ podaæ nazwê zdalnego komputera. Poniewa¿ jednak
wiêkszo¶æ korzysta tylkoz jednego dostawcy, mo¿e w pliku sekretnym
w miejscu nazwy zdalnego komputera wstawiæ znak uniwersalny (*).
<P>
<P>Wrto równie¿ pamiêtaæ, ¿e wielu dostawców korzysta z wielokrotnych
farm modemowych pod³±czonych do ró¿nych serwerów, dostêpnych pod
WSPÓLNYM numerem telefonicznym. Dlatego nie mo¿na byæ pewnym, do
którego komputera zostaniemy przy³±czeni.
<P>
<H2>13.1 Plik sekretny PAP</H2>

<P>Plik <CODE>/etc/ppp/pap-secrets</CODE> wygl±da mniej wiêcej tak
<HR>
<PRE>
# Secrets for authentication using PAP
# client        server       secret     acceptable local IP addresses
</PRE>
<HR>
<P>
<P>æ¿tery pola rodzielaone odstêpami.
<P>
<P>Pwiedzmy, ¿e twój dostawca nada³ ci nazwe <CODE>fred</CODE> i has³o
<CODE>flintstone</CODE>. Wrtedy w pliku <CODE>/etc/ppp/options.ttySx</CODE>
ustawi³ by¶ opcjê <CODE>name fred</CODE>, a w pliku
<CODE>/etc/ppp/pap-secrets</CODE> dopisa³
<P>
<HR>
<PRE>
# Has³a do weryfikacji to¿samo¶ci za pomoc± protoko³u PAP
# client        server  secret          dopuszczalny lokalny adres IP
fred            *       flintstone
</PRE>
<HR>
<P>
<P>To oznacza, ¿e w przypadku po³±zcenia lokalnego komputera o nazwie
<CODE>frd</CODE> (któr± u¿ywa pppd choæ to nie musis byæ prawdziwa nazwa tego
komputera) z dowolnym serwerm PPP nale¿y u¿ywaæ has³a <CODE>flintstone</CODE>.
<P>
<P>Zauwa¿, ¿e nie musimy podawaæ lokalnego adresu IP, cgyba ¿e jeste¶my
ZMUSZENI do korzystania zkonkretnego, STATYCZNEGO adresu IP.
<P>
<P>
<P>Je¶li ³±czysz sie korzystaj±c z PAP z kilkoma ró¿nymi serwerami,
powiniene¶ albo zaran¿owaæ to w taki spsób aby na ka¿dym serwerze
posiadaæ inny identyfikator username lub poznaæ nazwy zdalnych
serwerów, z którymi siê ³±czysz. W ten sposób bêdziesz móg³ dodaæ do
pliku <CODE>pap-secrets</CODE> kolejne wiersze definiuj±ce has³o po³±czenia -
pod warunkiem, ¿e nadasz prawid³ow± warto¶æ
opci tt/name/ odpowiedni± dla ka¿dego serwera z którym nawi±zujesz po³±czenie,
<P>
<H2>13.2 Sekretny plik CHAP</H2>

<P>Aktualna wersja porgramu pppd wymaga korzystania z wzajemnych metod
potwierdzania to¿samo¶ci - to znaczy musisz pozwoliæ aby twój komputer
mog³ zweryfikowac odleg³y serwer <B>i</B> aby odleg³y serwer mog³
zweryfikowaæ twój ompuer.
<P>
<P>Jêsli twój komputer nazywa siê <CODE>fred</CODE> a zdalny serwer nazywa siê
<CODE>barney</CODE>, to podpowiednie pliki <CODE>/etc/ppp/options.ttySx</CODE> na
twoim komputerze powinny zawieraæ <CODE>name fred remotename barney</CODE>, a
na zdalnym serwerze na odwrót <CODE>name barney remote name fred</CODE>.
<P>
<P>Plik <CODE>/etc/chap-secrets</CODE> dla komputera fred wygl±da tak
<HR>
<PRE>
# Has³a do weryfiakcji tozsamo¶ci za pomoc± protoko³u CHAP
# client        server  secret            dopuszczalny lokalny adres IP
fred            barney  flintstone
</PRE>
<HR>
<P>
<P>a dla komputera barney, tak
<P>
<HR>
<PRE>
# Has³a do weryfiakcji tozsamo¶ci za pomoc± protoko³u CHAP
# client        server  secret            dopuszczalny lokalny adres IP
barney          fred    flintstone
</PRE>
<HR>
<P>
<P>
<H2><A NAME="s14">14. Reczne zestawianie po³±czeniea PPP</A></H2>

<P>Teraz kiedy masz ju¿ utworzone pliki <CODE>/etc/ppp/options</CODE> i
<CODE>/etc/resolv.conf</CODE> ( i je¶li jest to konieczne pliki
<CODE>/etc/ppp/pap|chap-secrets</CODE>) mo¿esz sprawdziæ poprawno¶æ
konfiguracji przez rêczne zestawienie po³±czenia PPP. (Kiedy bêdziemy
potrafili zestawiæ po³±czenie PPP rêcznie, zautomatyzowanie ca³ego
procesu bêdzie bardzo proste).
<P>
<P>W tym celu twój program komunikacyjny musi mieæ mo¿liwo¶æ zkoñczenia
pracy BEZ zerowania modemu. Minicom to potrafi - ALT Q (lub w
starszych wersjacj CTRL A Q).
<P>
<P>Pamiêtaj aby byæ zlogowanym jako root.
<P>
<P>Uruchom program komuniikacyjny (np minicom), wybierz numer do serwera
PPP i zaloguj siê jak zwykle. Je¶li do uruchomienia PPP wymagane jest
wydanie specjalnego polecenia zrób to. Zobaczysz teraz ¶miecie o
których pisali¶my wcze¶niej.
<P>
<P>Je¶li korzystasz z pap/chap, wtedy tu¿ po nawi±zaniu po³±czenia ze
zdalnym serwerem powiniene¶ od razy zobaczyæ wspomniane ¶miecie, bez
potrzeby logowania siê (choæ w niektórych przypadkach mo¿e to byæ
rozwi±zane inaczej).
<P>
<P>Teraz zakoñcz pracê programu komunikacyjnego, bez zerowania linii
(przerywania po³±czenia modemowego) - je¶li u¿ywasz minicomu wci¶cnij
ALT Q lub CTRL A Q. Nastepnie w wierszu zachêty (jako root) napisz
<P>
<BLOCKQUOTE><CODE>
<PRE>
pppd -d -detach /dev/cuaX &amp;
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Opcja -d w³±cza odpluskwianie - rozpoczyna siê rozmowa maj±ca na celu
zestawienie po³±czenia PPP. Jest ona rejestrowana w dziennikach (log
files) co jest przydatne w razie k³opotów.
<P>
<P>Naturalnie powiniene¶ apisaæ <CODE>cua0</CODE> lub <CODE>cua1</CODE>  itd. -
prawdziw± nazwê portu do którego przy³aczony jest modem, <B>nie</B> cuaX!.
<P>
<P>Diody twojego modemu powinny migotaæ podczas zestawiania po³±czenia
PPP. Samo zestawienie po³±czenia trwa któtk± chwilê.
<P>
<P>W tym momencie mo¿esz przyj¿eæ siê interfejsowi ppp0 wydaj±c polecenie
<P>
<BLOCKQUOTE><CODE>
<PRE>
ifconfig
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Poza inforamcjami o karcie Ethernetu (jelsi tak± posiadasz)  i
urz±dzeniu o pêtli zwrotnej powiniene¶ zobaczyæ cos takiego :-
<P>
<HR>
<PRE>
  ppp0     Link encap:Point-Point Protocol
           inet addr:10.144.153.104  P-t-P:10.144.153.51 Mask:255.255.255.0
           UP POINTOPOINT RUNNING  MTU:552  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0
           TX packets:0 errors:0 dropped:0 overruns:0
</PRE>
<HR>
<P>
<P>Gdzie
<UL>
<LI>inet addr:10.144.153.10 oznacza numer IP twojego koñca po³±czenia.</LI>
<LI>P-t-P:10.144.153.5 jest numerem IP serverea.</LI>
</UL>
<P>(naturalnie ifconfig nie przedstawi podanych przeze mnie numerów, lecz
numery wykorzystywane przez serwer twojego dostawcy).
<P>
<P>Uwaga: polecenie ifocnfig iformuje ciê równie¿ o tym, ¿e po³±czenie
jest zestawione (UP) i dziala (RUNNING).
<P>
<P>Je¶li otrzymasz taki komunikat
<P>
<HR>
<PRE>
  ppp0     Link encap:Point-Point Protocol
           inet addr:0.0.0.0  P-t-P:0.0.0.0  Mask:0.0.0.0
           POINTOPOINT  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0
           TX packets:0 errors:0 dropped:0 overruns:0
</PRE>
<HR>
<P>
<P>to znaczy, ¿e po³±czenie PPP nie zosta³o poprawnie
zestawione... przeczytaj rozdzia³ o odpluskwianiu!
<P>
<P>Powniene¶ rownie¿ móc zobaczyæ tabelê routingu z wprowadzon± tras± do
serwera PPP i dalej. W tym celu wydaj polecenie 
<P>
<BLOCKQUOTE><CODE>
<PRE>
route -n>
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Powiniene¶ zobaczyæ co¶ w tym stylu:-
<P>
<HR>
<PRE>
Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
10.144.153.3    *               255.255.255.255 UH    1500   0        1 ppp0
127.0.0.0       *               255.0.0.0       U     3584   0       11 lo
10.0.0.0        *               255.0.0.0       U     1500   0       35 eth0
default         10.144.153.3    *               UG    1500   0        5 ppp0
</PRE>
<HR>
<P>
<P>Szczególnie wa¿ne jest to, ¿e do interfejsu ppp0 odnosz± siê dwie
ró¿ne pozycje.
<P>
<P>Pierwsza oznacza trasê do KOMPUTERA (flaga H) i pozwala nam "widzieæ"
komputer, do którego siê przy³±czyl¶my - lecz nie dalej.
<P>
<P>Druga oznacza <CODE>domy¶ln± (default)</CODE> trasê - to jest trasa jak± wêdruj±
pakiety, które nie s± przeznaczne dla naszej sieci lokalnej lub
bezpo¶rednio dla samego serwera PPP. Serwer PPP jesr odpowiedzialny za
przekazywanie naszych pakietów dalej do Internetu i przekazywanie nam
pakietów przychodz±cych do nas z odleg³ych adresów.
<P>
<P>Je¶li twoja tabela routingu nie zawiera tych dwóch pozycji, to znaczy,
¿e co¶ jest nie tak (patrz rozdzia³ o odpluskwianiu).
<P>
<P>Teraz przetestuj po³±czenie 'pinguj±c' serwer (numer IP przekazany
przez polecenie ifconfig) tzn.
<P>
<BLOCKQUOTE><CODE>
<PRE>
ping 10.144.153.51
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Pwieniene¶ otrzymaæ podobn± odpowied¼.
<P>
<BLOCKQUOTE><CODE>
<PRE>
PING 10.144.153.51 (10.144.153.51): 56 data bytes
64 bytes from 10.144.153.51: icmp_seq=0 ttl=255 time=328.3 ms
64 bytes from 10.144.153.51: icmp_seq=1 ttl=255 time=190.5 ms
64 bytes from 10.144.153.51: icmp_seq=2 ttl=255 time=187.5 ms
64 bytes from 10.144.153.51: icmp_seq=3 ttl=255 time=170.7 ms
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Kolejne wiersze bêd± pojawiaæ siê w nieskoñczono¶æ, a¿ do momentu
kiedy wci¶niesz CTRL C, a wtedy otrzymasz dodatkowe informacje :-
<P>
<BLOCKQUOTE><CODE>
<PRE>
--- 10.144.153.51 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 170.7/219.2/328.3 ms
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Jak na razie wszystko w porz±dku.
<P>
<P>Teraz spróbuj 'pingn±æ' komputer podaj±c jego nazwê (nie nazwê serwera
PPP lecz zupelnie innego komputer, którego nazwê znasz i który jest w
tej chwili w³±czony do interentu). Np.
<P>
<BLOCKQUOTE><CODE>
<PRE>
ping sunsite.unc.edu
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Tym razem najpier nast±pi krótka przerwa, kiedy Linux zamienia nazwê
na odpowiadaj±cy jej numer korzystaj±c z serwera DNS, którego numer
wpisa³e¶ do pliku /etc/resolv.conf - wiêc siê nie martw (powiniene¶
wiedzie¶ migaj±ce ¶wite³ka swojego modemu). Krótko potem zobaczysz cos
podobnego do
<P>
<BLOCKQUOTE><CODE>
<PRE>
 PING sunsite.unc.edu (152.2.254.81): 56 data bytes
64 bytes from 152.2.254.81: icmp_seq=0 ttl=254 time=190.1 ms
64 bytes from 152.2.254.81: icmp_seq=1 ttl=254 time=180.6 ms
64 bytes from 152.2.254.81: icmp_seq=2 ttl=254 time=169.8 ms
64 bytes from 152.2.254.81: icmp_seq=3 ttl=254 time=170.6 ms
64 bytes from 152.2.254.81: icmp_seq=4 ttl=254 time=170.6 ms
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Pwtórnie przerwij wciskaj±c CTRL C, a zobaczysz statystyki
<P>
<BLOCKQUOTE><CODE>
<PRE>
--- sunsite.unc.edu ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 169.8/176.3/190.1 ms
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Je¶li nie otrzyma³e¶ ¿adnej odpowiedzi, przeczytaj rozdzia³ o odpluskwianiu.
<P>
<P>Je¶li wszystko dzia³a³o poprawnie, przerwij po³±czenie wydaj±c
polecenie 
<BLOCKQUOTE><CODE>
<PRE>
ppp-off
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Po krtótkiej chwili modem powienien "od³o¿yæ s³uchawkê".
<P>
<P>Je¶li to nie zadzia³a, albo wy³±cz zasialanie modemu modem, lub
uruchom swój program komunikacyjny i przerwij po³±czenie wciskaj±c
szybko +++, a gdy modem odpowie OK wydaj±c polecenie ATH0.
<P>
<P>Byæ mo¿e bêdziesz zmuszony usun±æ równie¿ pliki blokady (lock files)
utworzone przez program pppd
<HR>
<PRE>
rm -f /var/lock/LCK..cua?
</PRE>
<HR>
<P>
<P>
<H2><A NAME="s15">15. Zautomatyzowanie po³±czenia - tworzenie skryptów do nawi±zywania</A>po³±czenia</H2>

<P>Skrypt o którym mowa automatyzuje procedurê logowania siê i
uruchamiania po³±czenia PPP, tak aby administrator lub cz³onek grupy
PPP do zestawienia po³±czenia musia³ jedynie eydaæ polecenie ppp-on.
<P>
<H2>15.1 Skrypty w przypadku weryfikacji Identyfikatr//Has³o </H2>

<P>Je¶li twój dostawca nie korzysta z PAP/CHAP, te skrypty s± dla ciebie.
<P>
<P>Je¶li pakiet PPP jest zainstalowany poprawnie powiniene¶ byæ w
posiadaniu dwóch przyk³adowych plików. W przypadku PPP 2.1.2 bêd±  to
<P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
/usr/sbin/ppp-on
/usr/sbin/ppp-off
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>a w przypadku  PPP-2.2
<P>
<BLOCKQUOTE><CODE>
<PRE>
/etc/ppp/scripts/ppp-off
/etc/ppp/scripts/ppp-on
/etc/ppp/scriptsppp-on-dialer
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Je¶li korzystasz z PPP 2.1.2 mocno namawiam ciê do usuniêcia tych
plików. S± ¼ród³em potencjalnych klopotów - nie mów mi ¿e dzia³aj±
poprwnie - korzysta³em z nich przez d³ugi czas i rekomendowa³em w
pierwszej wersji tego dokuemntu.
<P>
<P>Dla u¿ytkowników PPP 2.1.2 przedstawiam LEPSZE wersje wzorcowe tych
plików, pobrane z dystrybucjie PPP 2.2. Sugerujê skopiowanie i
korzystanie z tych skryptów <B>zamiast</B> startych skryptów z wersji 2.1.2.
<P>
<H2>15.2 ppp-on script</H2>

<P>Pierwszy z PARY skryptów, uruchamiaj±cy po³±czenie.
<P>
<HR>
<PRE>
#!/bin/sh
#
# Script to initiate a PPP connection. This is the first part of the
# pair of scripts. This is not a secure pair of scripts as the codes
# are visible with the 'ps' command.  However, it is simple.
#
# These are the parameters. Change as needed.
TELEPHONE=555-1212      # The telephone number for the connection
ACCOUNT=george          # The account name for logon (as in 'George Burns')
PASSWORD=gracie         # The password for this account (and 'Gracie Allen')
LOCAL_IP=0.0.0.0        # Local IP address if known. Dynamic = 0.0.0.0
REMOTE_IP=0.0.0.0       # Remote IP address if desired. Normally 0.0.0.0
NETMASK=255.255.255.0   # The proper netmask if needed
#
# Export them so that they will be available to 'ppp-on-dialer'
export TELEPHONE ACCOUNT PASSWORD
#
# This is the location of the script which dials the phone and logs
# in.  Please use the absolute file name as the $PATH variable is not
# used on the connect option.  (To do so on a 'root' account would be
# a security hole so don't ask.)
#
DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
#
# Initiate the connection
#
#
exec /usr/sbin/pppd debug /dev/ttySx 38400 \
        $LOCAL_IP:$REMOTE_IP \
        connect $DIALER_SCRIPT
</PRE>
<HR>
<P>
<P>A oto skrypt ppp-on-dialer:-
<P>
<HR>
<PRE>
#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
chat -v                                                 \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              ATDT$TELEPHONE                  \
        CONNECT         ''                              \
        ogin:--ogin:    $ACCOUNT                        \
        assword:        $PASSWORD
</PRE>
<HR>
<P>
<P>
<H2>15.3 Poprawianie dostarczonych skryptów startowych</H2>

<P>Poniewa¿ nowe skrtypty s± podzielone na dwie czê¶cie, bedziemy je
zmieniaæ po kolei.
<P>
<H3>Skrypt ppp-on </H3>

<P>Muszisz zmieniæ ten skrypt podaj±c TWÓJ identyfikator u teojego
prowajdera, TWOJE haslo dla tego konta i numer telefonu TWOJEGO
prowajdera. 
<P>Ka¿dy z wierszy postaci <CODE>TELEPHONE=</CODE> tworzy zmienne którcy waro¶æ
to tekst wystêpuj±cy po prawej stronie znaku '='. (oczywi¶cie poza
wierszami komentarza). Popraw wszystkei te wiersze, aby zawiera³y
poprawn± inforamcje na temat twojego konta u dostawcy internetu.
<P>
<P>Je¶li w pliku <CODE>/etc/ppp/options</CODE> podajesz numery IP (je¶li
potrzebujesz to robiæ) to USUÑ ze skryptów odpowiednie wiersze
zawieraj±ce  
<HR>
<PRE>
        $LOCAL_IP:$REMOTE_IP \
</PRE>
<HR>
<P>
<P>Upewnij siê równie¿, ¿e zmienna DIALER_SCRIPT wskazuje na pe³n±
¶cie¿kê dostêpu do skryptu, którego chcesz ostatecznie u¿ywaæ. Wiêc
je¶li przenios³e¶ ten skrypt w inne miejsce, lub zmieni³e¶ jego nazwê 
pamiêtaj o poprawieniu informacji w pliku <CODE>ppp-on</CODE>.
<P>
<P>Je¶li skonfigurowa³e¶ <CODE>pp-on</CODE> poprawnie i twój serwer PPP korzysta
z weryfikacj to¿szamo¶ci za pomoc± pary identyfikator/has³o, nie
musisz ju¿ modyfikowaæ skryptu <CODE>ppp-on-dialer</CODE>!!!
<P>
<P>Pomimo, ¿e port szeregowy mo¿e byæ konfigurowany w plikach startowych
systemu  (/etc/rc.serial), stwierdzi³em, ¿e dobrym pomys³em jest
ponowne skonfigurowanie portu szeregowego w skrypcie ppp-on. W ten
sposób moge wykorzystywaæ modem do innych celów, i nie muszê pamiêtaæ
o konieczno¶ci sprawdzania aktualnej konfiguracji portu szeregowego.
<P>
<P>Tu¿ przed wierszem uruchamiaj±cym pppd dodaj
<HR>
<PRE>
/bin/setserial /dev/cuaX spd_vhi
</PRE>
<HR>
<P>
<P>W ten sposób port szeregowy jest ostatecznie ustawiany za prêdsko¶æ
115200 bps, zamiast 38400. Jest to poprawna prêdko¶æ dla modemów 28.8k
(i szybszych). Jednak¿e wiele modemów 14.4k nie potrafi skonfigurowaæ
swojego interfejsu modem-kompueter na tak± prêdko¶æ.
<P>Sprawd¼ w dokumentacji modemu, je¶li maksymalna prêdko¶æ modemu wynosi
38400, korzystaj z polecenia
<P>
<HR>
<PRE>
/bin/setserial /dev/cuaX spd_normal
</PRE>
<HR>
<P>
<H3>Uruchamianie PPP po stronie serwera</H3>

<P>Podczas gdy skrypt ppp-on-dialer jest dobry dla serwera, który
automatycznie uruchamia pppd jak tylko zalogujesz siê na serwerze,
niektóre systemy wymagaj± jawnego uruchomienia PPP. 
<P>
<P>Je¶li w celu uruchomienia PPP na serwerze musisz wydaæ okre¶lone
polecenie, <B>MUSISZ</B> poprawiæ skrypt <CODE>ppp-on-dialer</CODE>.
<P>
<P> Na KOÑCU skryptu (po wierszu z has³em) dodaj wiersz zawieraj±cy parê
<B>expect send</B> - tak± , która bêdzie oczekiwa³a na zachêtê (uwaga na
znaki o specjalnym znaczeniu w pow³oce Bournea - np $ , [ lub ]
(otwieraj±cy i zamykaj±cy nawais kwadratowy).
<P>
<P>Kiedy chat rozpozna zachête pow³oki, musi wydaæ polecenie, które
uruchamia PPP na serwerze twojego dostawcy.
<P>
<P>W moim przypadku serwer PPP korzysta ze standardowego wiersza zachety
pow³aoki Bash
<HR>
<PRE>
[hartr@kepler hartr]$
</PRE>
<HR>
<P>
<P>i wymaga aby w celu uruchomienia PPP na serwerze wyda³ polecenie
<P>
<HR>
<PRE>
ppp
</PRE>
<HR>
<P>
<P>Zawsze dobrze jest przewidzieæ mo¿liwo¶ci pewnych pomy³ek. Dlatego w
moim przypadku u¿ywam
<HR>
<PRE>
        hartr--hartr    ppp
</PRE>
<HR>
<P>
<P>To znaczy - je¶li nie doczekamy siê zachêty w okre¶lonym czasie wy¶lij
znak enter i czekaj na zachête raz jeszcze.
<P>
<P>Kiedy jeste¶ pewien, ze otrzyma³e¶ zachêtê , wy¶lij ciag 'ppp'.
<P>
<P>Uwaga: pamiêtaj o doadniu znaku \ na koñcu wiersza, tak aby chat nadal
my¶la³, ¿e ca³y skrypt znajduje siê w jednym wierszu!
<P>
<P>Niestety czê¶æ serwerów generuje bardzo zmienne zachêty! Byæ mo¿e
bêdzisz musia³ zalogowaæ siê kilkakrotnie za pomoc± programu
komunikacyjnego, zanim dokladnie zrozumiesz jak to jest i co mo¿na
przyj±æ za zachêtê do wydania polecenia.
<P>
<H3>Skrypt ppp-on-dialer</H3>

<P>To jest drugi ze skryptów, który ostatecznie zestawia po³±czenie PPP.
<P>
<P><EM>Uwaga: skrypt chat zawiera siê zwykle w jednym wierszu. Znaki '\'
pozwalaj± na kontynuwanie jednego logicznego wiersza skryptu przez
wiele fizycznych wierszy pliku (aby cz³owiek mog³ siê w tym lepiej
po³apaæ) i nie tworz± same z siebie czê¶ci skryptu.</EM>
<P>Dobrze jest siê temu przypatrzeæ z bliska, aby¶my dobrze rozumieli co
tu siê dzieje.
<P>
<H2>15.4 Co to jest skrypt chat ...</H2>

<P>Skrypt chat to sekwencja par <CODE>&quot;</CODE>oczekiwany ci±g znaków
<CODE>&quot;</CODE> <CODE>&quot;</CODE>ci±g znaków do
wys³ania<CODE>&quot;</CODE>. W szczególno¶ci zanim cokolwiek wy¶lemy 
<B>ZAWSZE czego¶</B> oczekujemy.
<P>
<P>Je¶li mamy co¶ wys³aæ, <B>BEZ</B> wstêpnego oczekiwania na cokolwiek,
musimy u¿yæ putsego napisu oczekiwanego (oznaczanego w skryptach
tak: <CODE>&quot;</CODE><CODE>&quot;</CODE>) i podobnie je¶li czekamy na
cos, lecz nie mamy zamiaru w odpowiedzi niczego wysy³aæ! Równie¿ w
przypadku, napis sk³ada siê z kilku s³ów (np. NO CARRIER), musimy
otoczyæ napis apostrofami tak aby char rozpozna³ go jako pojedynczy
element.
<P>
<P>Wiersz chat w naszym wzorcu wygl±da nastêpuj±co:-
<P>
<UL>
<LI><CODE>exec chat -v</CODE><BR>
Uruchom program chat, -v informuje program, aby wszelkie dane WE/Wy
rejestrpwa³ w dzienniku systemowym (zwykle
/var/log/messages).<BR>
Kiedu ju¿ jeste¶ pewien, ¿e skrypt jest poprawny usun opcjê -v, w ten
sposób zredukujesz rozmiar dziennika.
</LI>
<LI><CODE>TIMEOUT         3</CODE><BR>
Ten wiersz ustawia czas oczekiwania na nadejscie oczekiwanych znaków
na 3 sekundy. Jesli korzystasz z naprawdê wolnego modemu, mo¿esz byæ
zmuszonym do wyd³uzenia tego czasu do 5 lub 10 sekund.
</LI>
<LI><CODE>ABORT           '\nBUSY\r'</CODE><BR>
Je¶li napotkasz na napis BUSY przerwij dzia³anie programu.
</LI>
<LI><CODE>ABORT           '\nNO ANSWER\r'</CODE><BR>
Je¶li napotkasz na napis NO ANSWER przerwij dzia³anie programu.
</LI>
<LI><CODE>ABORT           '\nRINGING\r\n\r\nRINGING\r'</CODE><BR>
Je¶li napotkasz (powtarzaj±cy siê) napis RINGING, przerwij dzia³±nie
programu <BR>. 
To znaczy, ¿e kto¶ do ciebie dzwoni!
</LI>
<LI><CODE>\\              \rAT</CODE><BR> 
Nie czekaj±c wy¶lij do modemu napis AT
</LI>
<LI><CODE>\OK-+++\c-OK\   ATH0</CODE><BR> 
To jest troszkê skomplikowane, poniewa¿  korzysta z mo¿liwo¶ci
naprawiania sytuacji wyj±tkowych jakie ma zaimplementowane program
chat. Oznacza mniej wiêcej to ...<BR>

Oczekuj na napis OK, je¶li siê nie doczekasz (poniewa¿ modem nie jest
w trybie poleceñ) wy¶lij napis +++ (standardowe polecenie nakazuj±ce
modemowi przej¶cie w tryb poleceñ) i oczekuj napisu OK; nastêpnie
wyslij polecenie ATH0 (polecenie "od³o¿enia s³uchaki" - przerwania
po³±czenia). <BR>
W ten sposób twój skrypt ma mo¿liwo¶æ poradziæ sobie z modemem, który
jest zablokowany w trybie on-line!
</LI>
<LI><CODE>TIMEOUT         30</CODE><BR>
Ustaw czas oczekiwania dla pozosta³ej czêsci skryptu na 30
sekund. Je¶li napotkasz na klopoty z powodu przekroczenia czasu
oczekiwania, zwiêksz tê warto¶æ do 45 lub wiêcej sekund.
</LI>
<LI><CODE>OK              ATDT$TELEPHONE</CODE><BR>
Oczekuj na napis OK (odpowied¼ modemu na polecenie ATH0) i wybierz
numer pod który chcemy zadzwoniæ.
</LI>
<LI><CODE>CONNECT         ''</CODE><BR>
Oczekuj na napis CONNECT (który jest  wysy³any przez nasz modem po
nawi±zaniu po³±cenia z modemem odleg³ym) i nie wysy³aj nic w odpowiedzi
</LI>
<LI><CODE>ogin:--ogin:    $ACCOUNT</CODE><BR>
Powtórnie trochê obs³ugi systuacji wyj±tkowych. Oczekuj na zachêtê
przedstawienia siê systemowi (...ogin:) lecz je¶li siê jej nie
doczekamy, wy¶lij znak niwego wiersza i ponownie czekaj na tê sam±
zachêtê. Je¶li siê doczekasz wy¶lij identyfikator u¿ytkownika
(przechowywany w zmiennej $ACCOUNT).
</LI>
<LI><CODE>assword:        $PASSWORD</CODE><BR>
Oczekuj na napis assword: i w zamian wy¶lij has³o (równie¿
przechowywane w zmiennej pow³oki).</LI>
</UL>
<P>
<P>Pwy¿szy skrypt ma sensowne mo¿liwo¶ci radzenia sobie z niekturymi
sytuacjami wyj±tkowymi. Sam program chat ma znacznie wiêksze
mo¿liwo¶ci, zapoznaj siê ze stron± podrêcznika, która go dotyczy (<CODE>man 8 chat</CODE>).
<P>
<H2>15.5 Skrypt chat dla po³±czeñ wymagaj±cych weryfiakcaji PAP/CHAP.</H2>

<P>Je¶li twój dostawca korzysta z mo¿liwo¶ci PAP/CHAP, wtedy twój skrypt
jest znacznie prostszy. Wszystko co muszisz zrobiæ to wybraæ numer,
poczekaæ na po³±czenie i pozwoliæ pppd na wej¶cie do systemu i
zestawienie po³±czenia PPP.
<P>
<HR>
<PRE>
#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
exec chat -v                                            \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              ATDT$TELEPHONE                  \
        CONNECT         ''                              \
</PRE>
<HR>
<P>
<P>
<P>
<H2>15.6 Opcja debug i -f option_file programu pppd</H2>

<P>Jak ju¿ to pokazali¶my, w programie pppd istnieje mo¿liwo¶æ w³±czenia
wyprowadzania i rejestracji komunikatów odpluskiwaj±cych. 
S³u¿y do tego opcja -d lub debug.
<P>Podczas uruchamiania nowego po³±czenia PPP pozostaw w skrupcie opcjê
-d.  (Ostrze¿enie: jesli masz ma³o wolnej przestrzeni dyskowej
w³±czenie rejestracji odpluskwiaj±cych pppd mo¿e bardzo szybko
zape³niæ wolne miejsce i mo¿esz mieæ z tego powodu k³opoty - wystarczy
aby nie uda³o ci siê po³±czyæ, a bêdziesz próbowa³ nawi±zaæ po³±czenie
jescze przez kila minut).
<P>
<P>Kiedy bêdziesz pewien, ¿e wszystko dzia³a poprawnie, mo¿esz j± wtedy usun±c.
<P>
<P>Je¶li swoj plik z opcjami ppp nazwa³e¶ incaczej ni¿
<CODE>/etc/ppp/options</CODE>  lub <CODE>/etc/ppp/options.ttySx</CODE> mo¿esz
go uaktywniæ podaj±c jego nazwê w wierszu poleceñ jako warto¶æ opcji
-f programu pppd - np.
<P>
<HR>
<PRE>
exec /usr/sbin/pppd debug -f options.myserver /dev/ttySx 38400 \
</PRE>
<HR>
<P>
<H2><A NAME="s16">16. Testowanie skryptu nawiazuj±cego po³±czenie</A></H2>

<P>Otwórz nowy xterm (jesli pracujesz pod X) lub now± konsole tekstow± i
zaloguj siê jako root.
<P>
<P>W tej nowej sesji wydaj poleceni
<P>
<BLOCKQUOTE><CODE>
<PRE>
tail -f /var/log/messages
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>(lub jaki tam jest twój plik zawieraj±cy komunikaty systemy)
<P>
<P>W poprzednim oknie (konsoli wirtualne) wydaj polecenie
<P>
<BLOCKQUOTE><CODE>
<PRE>
ppp-on &amp;
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>(lub jak nazwa³e¶ zmienion± wersjê skryptu  /usr/sbin/ppp-on).
Je¶li nie uruchomi³e¶ skryptu w tle przez akoñczenie wiersza poleceñ
znakiem &amp; nie odzyskasz wiersza zachety do momentu zamkniêcia
po³±czenia PPP.
<P>
<P>Teraz prze³±cz siê do konsolu, gdzie s± wy¶wietlane komunikaty systemu.
<P>
<P>Zobaczysz cos podobnego (pod warunkiem, ¿e oprogram chat
zosta³ uruchomiony z opcj± -v, a pppd z -d) ... s± to sekwencje
rejestrowane przez program chat, po których nastêpuj± komunikaty
wys³ane przez rozpoczynaj±cy po³±czenie PPP program pppd :-
<P>
<HR>
<PRE>
Oct 21 16:09:58 hwin chat[19868]: abort on (NO CARRIER)
Oct 21 16:09:59 hwin chat[19868]: abort on (BUSY)
Oct 21 16:09:59 hwin chat[19868]: send (ATZ^M)
Oct 21 16:09:59 hwin chat[19868]: expect (OK)
Oct 21 16:10:00 hwin chat[19868]: ATZ^M^M
Oct 21 16:10:00 hwin chat[19868]: OK -- got it
Oct 21 16:10:00 hwin chat[19868]: send (ATDT722298^M)
Oct 21 16:10:00 hwin chat[19868]: expect (CONNECT)
Oct 21 16:10:00 hwin chat[19868]: ^M
Oct 21 16:10:22 hwin chat[19868]: ATDT722298^M^M
Oct 21 16:10:22 hwin chat[19868]: CONNECT -- got it
Oct 21 16:10:22 hwin chat[19868]: send (^M)
Oct 21 16:10:22 hwin chat[19868]: expect (ogin:)
Oct 21 16:10:22 hwin chat[19868]:  57600^M
Oct 21 16:10:23 hwin chat[19868]: ^[[;H^[[2J^M^M
Oct 21 16:10:23 hwin chat[19868]: ^M
Oct 21 16:10:23 hwin chat[19868]: ^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I      This is node  kepler.hedland.edu.au^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I^I      at Hedland Campus^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I^I       Hedland College^M
Oct 21 16:10:23 hwin chat[19868]: ^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I  Authorised user ONLY are to use this system^M
Oct 21 16:10:23 hwin chat[19868]: ^M
Oct 21 16:10:23 hwin chat[19868]: ^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I For more information, contact ComputerSystems^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I^I     on +61 (0)91 72 0400^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I^I^I     or^M
Oct 21 16:10:23 hwin chat[19868]: ^I^I       email:  help@hedunx.hedland.edu.au^M
Oct 21 16:10:23 hwin chat[19868]: ^M
Oct 21 16:10:23 hwin last message repeated 3 times
Oct 21 16:10:23 hwin chat[19868]: kepler login: -- got it
Oct 21 16:10:23 hwin chat[19868]: send (hartr^M)
Oct 21 16:10:23 hwin chat[19868]: expect (ssword:)
Oct 21 16:10:23 hwin chat[19868]:  hartr^M
Oct 21 16:10:23 hwin chat[19868]: Password: -- got it
Oct 21 16:10:23 hwin chat[19868]: send (??????^M)
Oct 21 16:10:23 hwin chat[19868]: expect (hartr)
Oct 21 16:10:23 hwin chat[19868]:  ^M^M
Oct 21 16:10:24 hwin chat[19868]: Last login: Sat Oct 21 14:55:53 on  ttyC0^M
Oct 21 16:10:24 hwin chat[19868]: ^M
Oct 21 16:10:24 hwin last message repeated 9 times
Oct 21 16:10:24 hwin chat[19868]: ^I^IYou have logged into node  kepler.hedland.edu.au^M
Oct 21 16:10:24 hwin chat[19868]: ^M
Oct 21 16:10:24 hwin chat[19868]:            This is a Compaq Prolinea 486DX2/50 running Linux 1.1.54^M
Oct 21 16:10:24 hwin chat[19868]: ^M
Oct 21 16:10:24 hwin chat[19868]:        This computer operates as the main Hedland Campus communications^M
Oct 21 16:10:24 hwin chat[19868]: ^I       node, providing dial-in terminal and SLIP access,^M
Oct 21 16:10:24 hwin chat[19868]: ^I^I      Kepler also runs the Hedland end of^M
Oct 21 16:10:24 hwin chat[19868]: ^I^I    the Hedland/Newman inter-Campus WAN link^M
Oct 21 16:10:24 hwin chat[19868]: ^M
Oct 21 16:10:24 hwin chat[19868]: ^M
Oct 21 16:10:24 hwin chat[19868]: [hartr -- got it
Oct 21 16:10:24 hwin chat[19868]: send (ppp^M)
Oct 21 16:10:27 hwin pppd[19872]: pppd 2.1.2 started by root, uid 0
Oct 21 16:10:27 hwin pppd[19873]: Using interface ppp0
Oct 21 16:10:27 hwin pppd[19873]: Connect: ppp0 &lt;--> /dev/cua1
Oct 21 16:10:27 hwin pppd[19873]: fsm_sdata(LCP): Sent code 1, id 1.
Oct 21 16:10:27 hwin pppd[19873]: LCP: sending Configure-Request, id 1
Oct 21 16:10:27 hwin pppd[19873]: fsm_rconfreq(LCP): Rcvd id 1.
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd MRU
Oct 21 16:10:27 hwin pppd[19873]: (1500)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd ASYNCMAP
Oct 21 16:10:27 hwin pppd[19873]: (0)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd MAGICNUMBER
Oct 21 16:10:27 hwin pppd[19873]: (a098b898)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd PCOMPRESSION
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: rcvd ACCOMPRESSION
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: lcp_reqci: returning CONFACK.
Oct 21 16:10:27 hwin pppd[19873]: fsm_sdata(LCP): Sent code 2, id 1.
Oct 21 16:10:27 hwin pppd[19873]: fsm_rconfack(LCP): Rcvd id 1.
Oct 21 16:10:27 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 1, id 1.
Oct 21 16:10:27 hwin pppd[19873]: IPCP: sending Configure-Request, id 1
Oct 21 16:10:27 hwin pppd[19873]: fsm_rconfreq(IPCP): Rcvd id 1.
Oct 21 16:10:27 hwin pppd[19873]: ipcp: received ADDR
Oct 21 16:10:27 hwin pppd[19873]: (10.144.153.51)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: ipcp: received COMPRESSTYPE
Oct 21 16:10:27 hwin pppd[19873]: (45)
Oct 21 16:10:27 hwin pppd[19873]:  (ACK)
Oct 21 16:10:27 hwin pppd[19873]: ipcp: returning Configure-ACK
Oct 21 16:10:28 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 2, id 1.
Oct 21 16:10:30 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 1, id 1.
Oct 21 16:10:30 hwin pppd[19873]: IPCP: sending Configure-Request, id 1
Oct 21 16:10:30 hwin pppd[19873]: fsm_rconfreq(IPCP): Rcvd id 255.
Oct 21 16:10:31 hwin pppd[19873]: ipcp: received ADDR
Oct 21 16:10:31 hwin pppd[19873]: (10.144.153.51)
Oct 21 16:10:31 hwin pppd[19873]:  (ACK)
Oct 21 16:10:31 hwin pppd[19873]: ipcp: received COMPRESSTYPE
Oct 21 16:10:31 hwin pppd[19873]: (45)
Oct 21 16:10:31 hwin pppd[19873]:  (ACK)
Oct 21 16:10:31 hwin pppd[19873]: ipcp: returning Configure-ACK
Oct 21 16:10:31 hwin pppd[19873]: fsm_sdata(IPCP): Sent code 2, id 255.
Oct 21 16:10:31 hwin pppd[19873]: fsm_rconfack(IPCP): Rcvd id 1.
Oct 21 16:10:31 hwin pppd[19873]: ipcp: up
Oct 21 16:10:31 hwin pppd[19873]: local  IP address 10.144.153.104
Oct 21 16:10:31 hwin pppd[19873]: remote IP address 10.144.153.51
</PRE>
<HR>
<P>
<P>(Zauwa¿, ¿e ja korzystam ze STATYCZNYCH numerów IP - dlatego mój
komputer wys³a³ je do serwera - nie zobaczysz tego, je¶li korzystasz
z dynamicznych numerów IP.)
<P>
<P>To wygl±da na poprawne po³aczenie, przyj¿yj siê temu dok³adnie ,zanim
zaczniesz testowaæ po³±czenie przez 'pingowanie' numerów ip i komputerów.
<P>
<P>Uruchom swoj± przegl±darkê www lub cokolwiek - jeste¶ pod³±czony do Internetu!
<P>
<H2><A NAME="s17">17. Zamykanie po³±czenia PPP</A></H2>

<P>Kiedy po³±czenie PPP nie jest ju¿ ci potrzebne, zamykasz je wydaj±c
ztandardowe polecenie ppp-off (pamiêtaj musisz byæ administratorem lub
nale¿eæ do grupy PPP).
<P>
<P>W pliku dziennika powinno znale¼æ siê co¶ takiego:-
<P>
<HR>
<PRE>
Oct 21 16:10:45 hwin pppd[19873]: Interrupt received: terminating link
Oct 21 16:10:45 hwin pppd[19873]: ipcp: down
Oct 21 16:10:45 hwin pppd[19873]: default route ioctl(SIOCDELRT): Bad address
Oct 21 16:10:45 hwin pppd[19873]: fsm_sdata(LCP): Sent code 5, id 2.
Oct 21 16:10:46 hwin pppd[19873]: fsm_rtermack(LCP).
Oct 21 16:10:46 hwin pppd[19873]: Connection terminated.
Oct 21 16:10:46 hwin pppd[19873]: Exit.
</PRE>
<HR>
<P>
<P>Nie mart siê komunikatem <CODE>SIOCDELRT</CODE> - to tylko pppd informuje, ¿e
koñczy pracê, nie ma siê czym martwiæ.
<P>
<H2><A NAME="s18">18. Odpluskwianie</A></H2>

<P>Istnieje wiele przyczyn, dlaczego twoje po³±czenie nie mo¿e zostaæ
nawi±zane - program chat nie potrafi poprawanie wej¶æ do sysytemu,
masz liniê telefoniczn± o bardzo z³ej jako¶ci itp. Przegl±daj pliki
dzienników, tam znajdziesz wskazówki.
<P>
<P><B>BARDZO</B> czêstym b³êdem jest zwyk³a literówka w skryptach lub
plikach konfiguracyjnych. Muszisz je sprawdziæ bardzo dok³adnie -
pamiêtaj, ¿e ludzie maj± tendencjê do odczytywania tego, o czym
MY¦LIMY, ¿e jest napisane - a nie tego co w rzeczywisto¶ci siê tam
znajduje! 
<P>
<P>Mo¿e chcesz u¿ywaæ PPP 2.2 z j±drem 1.2.x lub PPP-2.1.2
z j±drem 1.3.X/2.0.X. - u¿ywaj odpowiedniej wersji PPP.
<P>
<P>Przeczytaj PPP FAQ (dokument, który jest seri± pytañ i odpowiedzi).
To jest bardzo obszerny dokumen i mo¿na tam znale¼æ mnóstwo
odpowiedzi. Z mojego (smutnego) do¶wiadczenia wiem, ¿e je¶li nie
znajdê tam odpowiedzi na moj problem, to nie jest to problem zwi±zany
z PPP. W moim przypadku by³o to korzystanie z j±dra w wersji ELF lecz
ze starymi wersjami modu³ow. Straci³em jedynie 2 dni (i wiêksz± czê¶æ
jednej nocy)
<P>
<H2>18.1 Skompilowa³em PPP, lecz linux twierdzi ¿e go nie ma!</H2>

<P>Je¶li korzystasz z j±dra 1.3.x/2.0.x  to skompilowa³e¶ wpierw obs³ugê
modu³ów, potem modu³ PPP i zainstalowa³e¶ modu³y - prawda ?
<P>
<P>Je¶li nie korzystasz z programu kerneld do automatycznego ³adowania
modu³ow, wtedy zanim zaczniesz uruchamiaæ PPP musisz samemu za³adowaæ
modu³ j±dra (i prawdopodobnie równie¿ modu³ obs³ugi portów
szeregowych).
<P>
<P>Mo¿esz t ozrobic rêcznie - jako root, napisz
<HR>
<PRE>
        insmod ppp
</PRE>
<HR>
<P>
<P>Mo¿e siê zdarzyæ, ¿e wpierw musisz za³adowaæ modu³ obs³ugi portów
szeregowych...
<P>
<HR>
<PRE>
        insmod slhc
</PRE>
<HR>
<P>
<P>Najlepije jednak korzystaæ z automatycznego ³adowania modu³ów,
przeczytaj kerneld mini-howto!
<P>
<P>Mog³o siê jescze tak zdarzyæ, ¿e korzystasz z ppp-2.1.2 z j±drem w
wersji 2.0.x (lub uzywasz ppp-2.2 z j±drem 1.2.x bez na³o¿onych
odpowienich ³atek).
<P>Sprawd¼ wersjê j±dra i PPP! Powtórzê raz jescze:-
<P>
<P><B>J±dro Linuxa w wersji 2.0.x WYMAGA ppp-2.2.</B>
<P>
<P><B>J±dro Linuxa w wersji 1.2.x dzia³a z ppp-2.1.2 lecz po na³o¿eniu
odpowiednich ³at mo¿e wspó³pracowac równie¿ z ppp-2.2. </B> 
<P>
<H2>18.2 Nie mogê ustawiæ domy¶lnej trasy w tabeli trasowania (routingu).</H2>

<P>Posiadasz sieæ lokaln± Ethernet (lub inn±) z ju¿ wprowadzon± pozycj±
domy¶lnej trasy.
<P>
<P>Rozdzia³ na temat '£±czenie dwóch sieci za pomoca PPP' omawia w
skrócie poprawne rozwi±zanie tego problemu.
<P>
<P>Problem polega na tym, ¿e nie mo¿esz mieæ wiecej ni¿ jedn± pozycjê
dotycz±c± domy¶lnej trasy. Domy¶lna trasa oznacza trasê któr± s±
wysy³ane wszystkie pakiety, które nie zosta³y zakwalifikowane na 
konkretn± trasê. Ogólnie rzecz bior±c domy¶lna trasa  wskazuje na
trasê prowadz±ca od twojego komputera do Internetu.
<P>
<P>Niestety niektóre dystrybucje Linuxa ustawiaj± domy¶ln± trasê w ten
sposób, ¿e wskazujê ona na lokaln± sieæ Ethernetu. W takim przypadku
bêdziesz musia³ zmieniæ sposób w jaki jest inicjowany system w czê¶ci
dotycz±cej konfuguracji urz±dzeñ sieciowych i definiowania tabelei
routingu tak, aby by³y dodawane tylko specyficzne trasy do konkretnych
komputerów lub podsieci.
<P>
<P>Informacje na ten temat mo¿na znale¼æ w dokumentach
NET2-HPWTP, NET-3_HOWTO (po polsku) i Linux
Network Administration Guide.
<P>
<H2><A NAME="s19">19. £±czenie dwóch sieci za pomoc± PPP.</A></H2>

<P>Zasadniczo nie ma ¿adnej ró¿nicy pomiêdzy ³±czeniem pojedynczego
komputera PC z Linuxem z serwerem PPP, a ³±czeniem dwóch sieci LAN za
pomoc± PPP na dwóch komputerach nale¿±cych do tych sieci. Pamiêtaj,
PPP to protokó³ <B>ka¿dy-z-ka¿dym</B>.
<P>
<P>Jednak¿e <B>ABSOLUTNIE</B> musisz rozumieæ w jaki sposób konfigurowane
s± tablice routingu. Przeczytaj NET2-HOWTO (NET-3-HOWTO) i Linux Netwoek Administrator
Guide (NAG). Nieocenion± pomoc mo¿e równie¿ dostarczyæ ksi±¿ka &quot;
TCP/IP Network Administration&quot; (wydana przez O'Reilly and Assoc
- ISBN 0-937175-82-X).
<P>
<P>
<P>W celu po³±czenia dwóch sieci LAN <B>musisz</B> u¿ywaæ dwóch
ró¿nych adresów sieci IP (lub dwóch ró¿nych podsieci tej samej sieci)
oraz bêdziesz musia³ u¿ywaæ statycznych numerów IP - lub korzystaæ z
IP masquerade. Je¶li chcesz korzystaæ z IP masquerade instrukcje na
temat korzystania z tej funkcji znajdziesz w IP masquerade howto.
<P>
<H2>19.1 Konfiguracja adresów IP</H2>

<P>Musisz uzgodniæ z administratorem drugiej sieci LAN, których adresów
IP bêdziecie u¿ywaæ do zestawienia po³±czenia PPP. Je¶li korzystacie
ze statycznych numerów IP, bêdziez prawdopodobnie zmuszony do
dzwonienia pod okre¶lony numer.
<P>
<P>Nastêpnie popraw odpowiedni plik <CODE>/etc/ppp/options[.ttyXX]</CODE> -
dobrym pomys³em jest posiadanie modemu i portu konkretnie dla tego
po³±czenia. To mo¿e równie¿ wymagaæ poprawienia pliku
<CODE>/etc/ppp/options</CODE>, a byæ mo¿e równie¿ utworzenia plików
options.ttyXX dla innych po³±czeñ PPP.
<P>
<P>Zapisz w odpowiednim pliku opcji adres IP twojego koñca po³±czenia,
zgodnie z przedstawionym wcze¶niej przyk³adem zestawiania po³±czenia
PPP ze statycznymi adresami IP.
<P>
<H2>19.2 Konfiguracja routingu</H2>

<P>Muszisz sprawiæ aby pakiety z twojej lokalnej sieci by³y przesy³ane
przez zestawione po³±czenie PPP. Jest to proces dwuetapowy.
<P>
<P>Na pocz±tku musisz trasê od komputera zestawiaj±cego po³±czenie PPP do
sieci znajduj±cej siê na drugim koñcy tegto po³±czenia. Je¶li jest to
po³±czenie z internetem, mo¿e byæ obs³u¿one przez domy¶ln± trasê
wprowadzon± do tabeli routingu przez program pppd na twoim koñcu
po³±czenia jako realizacja opcji 'defaultroute'.
<P>
<P>Je¶li ma to byæ jedynie  po³±czenie dwóch sieci LAN, wtedy nale¿y
dla konkretnej sieci dodaæ pozycjê w tabeli trasowania. S³u¿y do tego polecenie
'route' umiesczone w skrypcie /etc/ppp/ip-up (patrz Po zestawieniu
po³±czenia... , tam znajdziesz instrukcje, jak to zrobiæ).
<P>
<P>Drug± rzecz± jak± musisz zrobiæ jest powiadomienie innych komputerów
nale¿±cych do twojej sieci lokalnej, ¿e twój komputer sta³ siê 'bram±'
do odleg³ej sieci le¿±cej po drugiej stronie po³±czenia PPP.
<P>
<P>Oczywi¶cie administrator sieci po drugiej stronie po³±czenia musis
zrobiæ to samo.  Poniewa¿ bêdzie on przesy³a³ pakiety do konkretnej
sieci, wymagana bêdzie <B>pozycja tabeli routingu do konkretnej
sieci</B>, a nie pozycja domu¶lnej trasy (chyba, ¿e sieæ podrugiej
stronie po³±czenia ³±czy siê z Internetem w³a¶nie przez wasza sieæ).
<P>
<H2>19.3 Bezpieczeñstwo sieci</H2>

<P>Je¶li ³±czysz siê za pomoc± PPP z Internetem, lub cjo¶cby z drug±
sieci± LAN, powiniene¶ pomy¶³eæ o bezpieczeñstwie. Mocno zalecam
w³±czenie firewalla.
<P>
<H2><A NAME="s20">20. Po zestawieniu po³±czenia...</A></H2>

<P>Po zestawieniu po³±czenia program pppd szuka skryptu
<CODE>/etc/ppp/ip-up</CODE>. Je¶li istneije i jest wykonywalny, to zostaje
uruchomiony. W ten sposób mo¿esz zautomatyzowaæ wszelkie specjalne
polecenia ustawiania tabeli routingu, które mog± byæ niezbêdne oraz
wszelki inne dzia³ania, które chcesz aby by³y wykonywane za ka¿dym
razem, gdy pol±czenie PPP 
<P>
<P>To jest po prostu skrypt i mo¿esz w nim robiæ wszystko, co tylko
skrypt poptrafi (tzn. mniej wiêcej   wszystko).
<P>
<P>Na przyk³ad mo¿esz zmusiæ sendmail do opró¿nieia kolejki.
<P>
<P>W podobny sposób mo¿esz umie¶ciæ polecenia, które za pomoc± protoko³u
POP ponior± twoj± pocztê oczekuj±c± na ciebie u dostawcy.
<P>
<H2>20.1 Specjalne pozycje tabeli routingu</H2>

<P>£±czenie za pomoc± PPP dwóch sieci LAN wymaga dodania do tbeli
routingu pozycji dla konkretnej podsieci. Mo¿na to ³atwo zrealizowaæ w
pliku <CODE>/etc/ppp/ip-up</CODE>. Trudno¶æ powstaje wtedy, gdy twój
komputer obs³uguje wiele po³±czeñ PPP jednocze¶nie.
<P>
<P>Dzieje siê tak, dlatego, ¿ê skrypt  <CODE>/etc/ppp/ip-up</CODE> jest
wykonywany dla ka¿dego zestawionego po³±czenia ppp, datego musisz
szczególnie ostro¿nie uruchamiaæ polecenia modyfikuj±ce tabele
trasowania dla konkretnego po³±czenia ppp.
<P>
<P>Mo¿na to ³atwo wykonaæ korzystaj±c z mo¿liwo¶ci samej
pow³oki. Zwykle przez wykorzystanie polecenia 'case' na  odpowiednim
parametrze przekazanym do skryptu przez program pppd. Poni¿esj skrypt
<CODE>/etc/ppp/ip-up</CODE><CODE>/etc/ppp/ip-up</CODE>, którego u¿ywam do
obs³ugi po³±czeñ WAN i po³±czenia z moj± domow± sieci± Ethernet
(obs³ugiwanego przez ten sam serwer).
<P>
<HR>
<PRE>
#!/bin/bash
#
# Script which handles the routing issues as necessary for pppd
# Only the link to Newman requires this handling.
#
# When the ppp link comes up, this script is called with the following
# parameters
#       $1      the interface name used by pppd (e.g. ppp3)
#       $2      the tty device name
#       $3      the tty device speed
#       $4      the local IP address for the interface
#       $5      the remote IP address
#       $6      the parameter specified by the 'ipparam' option to pppd
#
case "$5" in
# Handle the routing to the Newman Campus server
        202.12.126.1)
                /sbin/route add -net 202.12.126.0 gw 202.12.126.1
# and flush the mail queue to get their email there asap!
                /usr/sbin/sendmail -q &amp;
                ;;
        139.130.177.2)
# Our Internet link
# When the link comes up, start the time server and synchronise to the world
# provided it is not already running
                if [ ! -f /var/lock/subsys/xntpd ]; then
                        /etc/rc.d/init.d/xntpd.init start &amp;
                fi
# Start the news server (if not already running)
                if [ ! -f /var/lock/subsys/news ]; then
                        /etc/rc.d/init.d/news start &amp;
                fi
                ;;
        203.18.8.104)
# Get the email down to my home machine as soon as the link comes up
# No routing is required as my home Ethernet is handled by IP
# masquerade and proxyarp routing.
                /usr/sbin/sendmail -q &amp;
                ;;
        *)
esac
exit 0
</PRE>
<HR>
<P>
<P>W rezultacie podniesienia po³±czenia PPP do naszego kampusu Newman i
wykonania tego skryptu, otrzymujemy nastêpuj±c± tabelê trasowania (ten
komputer jest równie¿ naszym serwerem dla przychodz±cych po³aczeñ
modemowych oraz obs³uguje nasze po³±czenie z Internetem). Wstawi³em
komentarze pomiêdzy wiersze wydruku aby mo¿na by³o ³atwiej wyja¶nik
ka¿d± pozycjê :-
<P>
<HR>
<PRE>
[root@kepler /root]# route -n
Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
# trasa do odleg³ego komputera-bramy do iternetu
139.130.177.2   *               255.255.255.255 UH    1500   0      134 ppp4
# trasa do kampusowego komputer Newman
202.12.126.1    *               255.255.255.255 UH    1500   0       82 ppp5
# trasa do mojego domogego komputera-bramy
203.18.8.104    *               255.255.255.255 UH    1500   0       74 ppp3
# dwa  zwykle po³±czaenia PPP (ludzi , tórzy zadzwonili do serwera)
203.18.8.64     *               255.255.255.255 UH    552    0        0 ppp2
203.18.8.62     *               255.255.255.255 UH    552    0        1 ppp1
# trasa do sieci kampusowaej (za momputerem Newman)
202.12.126.0    202.12.126.1    255.255.255.0   UG    1500   0        0 ppp5
# trasa do naszej lokalne sieci Ethernet (obejmuje dwie kolejne klasy C)
203.18.8.0      *               255.255.254.0   U     1500   0     1683 eth0
# trasa do urz±dzenie pêtli zwrotnej
127.0.0.0       *               255.0.0.0       U     3584   0      483 lo
# domy¶lna trasa do interentu
default         139.130.177.2   *               UG    1500   0     3633 ppp4
</PRE>
<HR>
<P>
<H2>20.2 Obs³uga poczty elektronicznej</H2>

<P>W poprzedniej sesji powiedzieli¶my jak sobie radziæ z poczt±
wychodz±c± - po prostu opró¿niaæ kolejkê tu¿ po nawi±zaniu
po³±czenia. 
<P>
<P>Je¶li posiadasz po³±czenia WAN, mo¿esz uzgodniæ z administratorrem
zdalnej sieci LAN, aby robi³ dok³adnie to samo. Np. skrypt
<CODE>/etc/ppp/ip-up</CODE> na komputerze Newman wygl±da nastêpuj±co:-
<P>
<HR>
<PRE>
#!/bin/bash
#
# Script which handles the routing issues as necessary for pppd
# Only the link to Hedland requires this handling.
#
# When the ppp link comes up, this script is called with the following
# parameters
#       $1      the interface name used by pppd (e.g. ppp3)
#       $2      the tty device name
#       $3      the tty device speed
#       $4      the local IP address for the interface
#       $5      the remote IP address
#       $6      the parameter specified by the 'ipparam' option to pppd
#
case "$5" in
        203.18.8.4)
                /usr/sbin/sendmail -q
                ;;
        *)
esac
exit 0
</PRE>
<HR>
<P>
<P>Kiedy posiadasz jedynie ³±cze PPP z dynamicznym adresem IP, musisz
wtedy pobieraæ pocztê ze swojego konta na komputerze distawcy
ISP. Zwykle robi siê to za pomoc± protoko³u POP (Post Office
Protocol). Dostêpny jset program o nazwie 'popclient', który potrafi
zautomatyzowaæ ca³± procedurê. 
<P>
<P>Po prostu zmodyfikuj odpowiednio skrypt <CODE>/etc/ppp/ip-up</CODE>, tak
aby zawiera³ wywo³anie programu popclient. Mój laptom, na któym dzia³a
RedHat Linux robi to tak:
<P>
<HR>
<PRE>
popclient -3 -c -u hartr -p &lt;password> kepler.hedland.edu.au |formail -s procmail
</PRE>
<HR>
<P>
<P>Do pobierania nowinek (newsów) mo¿esz wykorzystaæ slurp. Pamietaj, ¿e
<CODE>ip-up</CODE> jest zwyk³ym skryptem pow³oki Bournea i mo¿e byæ
wykorzystany do KA¯DEGO zadania, które musi byæ wykonane za k±zdym
razem, gdy zestwimy po³±czenie PPP.
<P>
<H2><A NAME="s21">21. Zamykanie po³±czenia</A></H2>

<P>
<P>Istniej±cy skrypt <CODE>/usr/sbin/ppp-off</CODE> powinien dzia³aæ
prawid³owo, kied jest u¿ywany przez administratora. Jednyn± zmianê
jak± mo¿esz chcieæ wprowadziæ jest opró¿nienie kolejki pocztowej, tu¿
przed zamkniêceim ³±cza.
<P>
<P>Pozostawiamy to jako æwiczenie domowe!
<P>
<P>Co wiêcej mo¿esz stworzyæ skrypt, który bêdzie uruchamianyza ka¿dym
razem, gdy zostanie zamkniête po³±czenie PPP. Nale¿y go nazwav
<CODE>/etc/ppp/ip-down</CODE>. Mo¿e byæ wykorzystany d oodwrócenia dzia³añ
jakie wykona³es w skrypcie <CODE>/etc/ppp/ip-up</CODE>.
<P>
<H2><A NAME="s22">22. Uwagi na temat tabel trasowania sieci LAN</A></H2>

<P>Je¶li masz po³±czenie z sieci± LAN, lecz nadal chcesz korzystaæ na
swio komputerze z PPP, musisz pamiêtaæ aby prawid³owo ustawiæ tabele
routingu, tak aby pakiety doceira³y zarówno do komputera na drugim
koñcu po³±czenia PPP i dalej, ale równie¿ do komputerów w lokalnej
sieci LAN. 
<P>
<P>NIE chcemy ciê uczyæ zasad trasowania - mówimy jedynie o prostym,
specyficznym przypadku trasowania statycznego.
<P>
<P>Je¶li NIE wiesz co to jest trasowanie mocno zlecam przeczytanie Linux
Network Administrator Guide (NAG). W brdzo przystêpny sposób porusza
te problemy ksi±¿ka "TCP/IP Network Administration" wydawnictwa  O'Reilly.
<P>
<P>Podstawow± zasad± trasowania statycznego jest to, aby trasa domy¶lna
(default) prowadzi³a do NAJWIEKSZEJ liczby adresów komputerowych. W
przpadku innych sieci nale¿y dodawaæ do tabeli trasowania konkretne pozycje.
<P>
<P>JEDYNYM przypadkiem, który chcia³bym omówiæ jest sytuacja, gdy twój
Linux jest przy³±czony do sieci LAN, która nie jest prz³±czona do
Internetu - a ty chcesz ³±czyæ siê ze swoim dostawc± Internetu bêd±c
ca³y czas przy³±czony do sieci LAN.
<P>
<P>Po pierwsze upewnij siê, ¿e trasa do wojej sieci Ethernetowej jest
tras± do konkretnej sieci, a nie tras± domy¶ln±!.
<P>
<P>Sprawd¼ to wydaj±c polecenie route, powiniene¶ zobazcyæ co¶ takiego:
<P>
<BLOCKQUOTE><CODE>
<PRE>
[root@hwin /root]# route -n
Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
loopback        *               255.255.255.0   U     1936   0       50 lo
10.0.0.0        *               255.255.255.0   U     1436   0      565 eth0
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Je¶li twoja karta sieciowa (urz±dzenie eth0) jest wykorzystywane przez
pozycjê domy¶³nej trasy (w pierwszej kolumnie bêdzie s³owo "default",
a w ostatniwej eth0) musisz zmodyfikowaæ skrypty inicjuj±ce twój
system, w czê¶ci która zajmuje siê inicjowaniem kart sieciowych i
ustawianiem tabeli trasowania, tak aby ustawia³y trasê do konkretnej
sieci, jak± jest rpzecie¿ twoja sieæ lokalna i nie wykorzystywa³y w
tym celu trasy domy¶³nej (zobacz NET2-HOWTO, NET-3-HOWTO i NAG).
<P>
<P>Powy¿sze zmiany pozwol± programowi pppd na dodawania domy¶lnej trasy
prowadz±cej do twojego dostawcy Internetu i dalej:-
<P>
<BLOCKQUOTE><CODE>
<PRE>
[root@hwin /root]# route -n
Kernel routing table

Destination     Gateway         Genmask         Flags MSS    Window Use Iface
10.144.153.51   *               255.255.255.255 UH    488    0        0 ppp0
127.0.0.0       *               255.255.255.0   U     1936   0       50 lo
10.1.0.0        *               255.255.255.0   U     1436   0      569 eth0
default         10.144.153.51   *               UG    488    0        3 ppp0
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Zauwa¿y³e¶, ¿e dodawane s± dwie pozycje do tabeli, trasa bezpo¶rednio
do samogo komputera ( 10.144.153.51), serwera PPP z którym  siê
pol±czy³¶ i trasa domy¶³na przez interfejs ppp0 i serwer PPP jako
bramê do internetu.
<P>
<P>Je¶li twoja konfiguracja jest bardziej z³o¿ona - zapoznaj siê
dokumentami, o których wcze¶niej wspomina³em i skonsultuj siê ze swoim
lokalnym ekspertem w wych sprawach.
<P>
<P>Je¶li w twojej sieci s± ju¿ routery, masz ju¿ zapewne utworzone
po³±czenia do wiêkszych sieci. Jednak NADAL powiniene¶ wykorzystywaæ
trasê domy¶³na do po³±czeñ z internetem, a ewentualnie dodaæ nowe
pozycje, dla tras do tych dalszych sieci, z któymi siê ³±czysz przez
swoj± kartê sieciow±.
<P>
<H2>22.1 Uwagi na temat bezpieczeñstwa</H2>

<P>Je¶li skonfigurujesz Linuxa w³±czonego do lokalnej sieci LAN jako
komputer ³±cz±cy sie ¿ Internetem , otwierasz w ten sposób ca³± swoj±
sieæ lokaln± na próby penetracji z internetu. Zanim to zrobisz
zalecamy konsultacje ze swoim administratorem sieci i zapoznanie siê z
obowi±zuj±c± polityk± bezpieczeñstwa sieci. Je¶li twój komputer
zostanie wykorzsytany do zaatakowania sieci lokalnej, mo¿e ciê spotkac
wiêcej ni¿ z³o¶æ kolegów czy administratorów sieci. Mo¿esz popa¶æ w
naprawdê powa¿ne k³opoty.
<P>
<P>Zanim przy³±czysz sieæ LAN do Internetu, zastanów siê czy nie
wykorzystaæ pownej ochrony jaka daj± po³±czenia z DYNAMICZNYM
przydzia³em numerów IP - mo¿e warto zapoznaæ siê z ksi±¿k± "Building
Internet Firewalls" wydawnictwa O'Reilly.
<P>
<H2><A NAME="s23">23. Gdzie znale¼æ pomoæ je¶li ca³kowicie ugrzêz³e¶</A></H2>

<P>Je¶li po³±czenie PPP nadal nie dzia³a, przeczytaj ten dokument raz
jeszcze, sprawd¼ wszystko dok³±dnie, przyj¿yj siê komuniokatom w
dziennikach generowanych przez program "chat -v" i "pppd -d".
<P>
<P>Przeczytaj dokumentacje do PPP , FAQ na ten temat i inne dokumentu, o
których wspomina³em.
<P>
<P>Je¶li nadal stoisz w miejscu, spróbuj zadaæ pytanie na pl.comp.os.linux.
<P>
<P>W szczególno¶ci - <B>NIE WYSYLAJ MNÓSTWA WYDRUKÓW ODPLUSKWIANIA DO GRUP
NOWINKOWYCH, ANI POCZTA DO MNIE</B> - to pierwsze zajmuje tylko
³±cza, a drugie zostanie od razu wrzucone do /dev/null (chyba, ¿e
specjalnie o to poprosze).
<P>
<H2><A NAME="s24">24. Zwyk³e klopoty z dzia³aj±cym ³±czem</A></H2>

<P>Wielu dostawców mog± wspomagaæ instalajê tylko tego oprogramowania,
które dostarczaj± nowym u¿ytkownikom. Sa to zwykle programy po MS
Windows :-( - wiele osób zajmuj±cych siê pomaganiem nowym u¿ytkownikom
nic nie wie na temat Unixa (czy Linuxa). Muszisz byæ przygotowany, ¿e
w takij systuacji nie znajdziesz u nich pomocy.
<P>
<P>Mog³by¶ zrobiæ takiej osobie przys³ugê i wyja¶niæ jej co nieco na ten
temat (wiêkszo¶æ osób pracuj±cych przy pomaganiu ludziom powinna byæ
rozs±dna).
<P>
<H2>24.1 Nie moge wyj¶æ poza serwer PPP do którego jestem pod³±czony</H2>

<P>OK, twoje po³±czenie PPP dzia³a poprawnie i mo¿esz 'pingn±c' serwer
PPP podaj±c jefo numer IP (drugi lub oznaczony jako "remote" numer IP
wy¶wietlony przez polecnie ifconfig ppp0), lez nie mo¿esz osi±gn±æ
komputerów poza nim.
<P>
<P>Po pierwsze spróbuj 'pingn±æ' numery IP, jakie poda³e¶ w pliku
<CODE>/etc/resolv.conf</CODE>.  Je¶li zadzia³a, to znaczy, ¿e mo¿esz wyj¶æ
poza serwer PPP (chyba, ¿e w /etc/resolv.conf jest w³a¶nie podany
numer IP serwera PPP). Spróbuj teraz 'pingn±c' pe³n± nazwe twojego
dostawcy - np.
<P>
<BLOCKQUOTE><CODE>
<PRE>
ping komputer.mojego dostawcy.pl
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Je¶li to nie zadzia³a, masz problem z rozwi±zywaniem nazw. Mo¿e byæ
spowodowany literówk± w pliku <CODE>/etc/reslov.conf</CODE>. Sprawd¼ to
dokladnie z informacjami jakie sobie zanotowa³e¶ zanim zacz±³e¶
onfigurowaæ PPP. Je¶li wszystko siê zgadza, zadzwoñ do dostawcy i
dowiedz siê, czy poprawnie zapisa³es ten numer.
<P>
<P>Je¶li nadal nie dzia³a (a twój dostawca potwierdzi³ poprawno¶æ numeru
serwera DNS i to, ¿ê s± sprawne), problem le¿y gdzie¶
indziej. Sugerujê sprawdzenie dok³adnie twojej instalacji linuxa
(zwracaj±csczególn± uwagê na atrybuty plików).
<P>
<P>Je¶li NADAL nie mo¿esz 'pingn±æ' komputera swojego dostawcy podaj±c
jego nazwe, nie numer to mo¿e on byæ wy³±czony (zadzwoñ i siê dowiedz)
albo  twoj dostawca ma klopoty z trasowaniem (routingiem). Zadzwoñ i
sprawd¼ to.
<P>
<P>Jedn± z mo¿³iwo¶ci jest sytuacja, kiedy zdalnym serwerem PPP jest
linux, z wy³±czon± w j±drze opcj± przesy³ania pakietów (IP forwarding).
<P>
<P>Dobrym testem jest próba po³±czenie siê za pomoc± oprogramowania,
które on dostarcza (zwykle dla MS Windows). Je¶li wszystwo dzia³a
poprawnie dla innego systemu operacyjnego i dokladnie tego samego
konta u dostawcy, to znaczy, ¿e problem le¿y po stronie twojego
Linuxa, a NIE dostawcy.
<P>
<H2>24.2 Mogê wy³aæ poczte, lecz nie otrzymuj± ¿adnych listów</H2>

<P>Je¶li korzystasz z pol±czenia z dyamicznym przydzia³em numerów IP
zobacz rozdia³ "Konfiguraja us³ug" poni¿ej.
<P>
<H2>24.3 Dlaczego ludzie nie mog± krzystaæ z us³ug finger, WWW, gopher,talk mojego komputera</H2>

<P>Ponownie, je¶li korzystasz z pol±czenia z dyamicznym przydzia³em numerów IP
zobacz rozdia³ "Konfiguraja us³ug" poni¿ej.
<P>
<H2><A NAME="s25">25. Korzystanie z us³ug sieciowych w przypadku dynamicznyhc numerów IP</A></H2>

<P>Je¶li korzystasz z dynamicznych numerów IP (wielu dostawców umo¿liwi
ci korzystanie z PPP jedynie tylko w ten sposób, chyba, ¿e zap³acisz
odpowiedno du¿± sumê pieniêdzy) musisz sobie zdawaæ z ograniczêæ jakie
to ze sob± niesie.
<P>
<P>Po pierwsze korzystanie z us³ug zewnêtrznych dzia³a poprawnie. To
znaczy mo¿esz wys³aæ poczte sendmailem, pobraæ pliki przez ftp,
korzystaæ z www,fingera itp.
<P>
<P>W szczególno¶ci mo¿esz odpowiadaæ na poczte, zostanie
zmagazynowana podczas gdy nie by³o pol±czenia i zostanie wy³ana tu¿ po
jego nawi±zaniu.
<P>
<P>
<P>Pamiêtaj, ¿e twój komputer nie ejst pod³±czony do internetu przez 24
godziny, ani nie posiada przy ka¿dym po³±czeniu tego samego numeru IP.
Dlatego nie mo¿esz otrzymywaæ poczty bezpo¶rednio na swój komputer i
jest bardzo trudno umo¿liwiæ twoim kolegom przeg³adanie twojego
serwera www czy ftp. Tak d³ugo kiedy mówimy o Interneie, twój komputer
nie istnieje jako pe³noprawny, unikalny, ca³y czas osi±galny komputer
internetowy poniewa¿ nie posiada jednoznacznego, sta³ego numeru IP
(pamietaj, ¿e numer IP nie jest przydzielony do komputera tylko do
linii telefonicznej, gdy nie jeste¶ po³±czony z "twojgo" numeru IP
korzysta kto¶ inny.
<P>
<P>Je¶li uruchimisz serwer WWW (lub inna us³ugê), nikt o niej nie wie,
CHYBA, ¿e kto¶ wie, ¿e twój komputer jest w tej chwili pod³±czony do
internetu  i zna numer IP, którego w danej chwili u¿ywasz. Tak±
informacjê mo¿na zdobyæ na wiele sposobów, mo¿esz informowaæ ludzi
telefonicznie, listowanie, zostawiæ ospowiednie inforamcje w pliku
&nbsp;/.plan na komputerze dostawcy (pod warunkiem, ¿e masz dostêp do interpertera).
<P>
<P>Nie jest to problem wiêkszo¶ci u¿ytkowników. Oni chc± jedynie wysy³aæ
i otrzymywaæ pocztê (korzystaj±c z konta u dostawcy) i korzystaæ z
internetowych serwerów WWW i ftp. Je¶li koniecznie MUSISZ mieæ
mo¿liwo¶æ udostêpniania w³asnych us³ug, powiniene¶ otrzymaæ statyczny
numer IP. Albo próbowaæ siê ratowaæ metodami opisanymi powy¿ej...
<P>
<H2>25.1 Konfiguracja poczty elektronicznej</H2>

<P>Nawet w przypadku korzystania z dynamicznych adresów IP, mo¿esz tak
skonfogurowaæ sendmail, aby wysy³a³ listy napisane lokalnie na twoim
komputerze. Konfiguracja sendmaila mo¿e byæ BARDZO trudna - nie mamy
zamiaru uczyæ ciê, jak to siê robi. Powieniene¶ skonfigurowaæ sendmail
podaj±c jako "smart host" komputer pocztowy twojego dostawc (opcja
<CODE>DS</CODE> w pliku <CODE>/etc/sendmail.cf</CODE>). Szczegó³owe instrukcje na
temat konfiguracji sendmaila znajdziesz w jego dokumantacji - przyj¿yj
siê plikom m4, które wchodz± w sklad dystrybucji sendmaila. Na pewno
znajdziesz tam jeden, który spe³ni twoje wymagania.
<P>
<P>Dostêpne s± równie¿ wspania³e ksi±¿ki na temat sendmaila, lecz zwykle
nie nadaj± siê dla pocz±tkuj±cych u¿ytkowników.
<P>
<P>Je¶li ju¿ uda ci siê skonfigurowaæ sendmaila, bedziesz zapewne chcia³
tuz po nawi±zaniu po³±zcenia PPP opó¿niaæ kolejkê z listów czekaj±cyh
na wys³anie do adresatów gdzie¶ tam w internecie. W tym celu dodaj
do pliku <CODE>/etc/ppp/ip-up</CODE> polecenie
<P>
<BLOCKQUOTE><CODE>
<PRE>
sendmail -q &amp;
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Przychodz±ca poczta jest problemem dla osób korzystaj±cych z
dynamicznych numerów IP. Rozwi±zaniem jest :-
<UL>
<LI> skonfigurowanie programu
pocztowaego w taki sposób, aby w nag³ówku Reply-To: w ka¿adym
wychodz±cym li¶cie podawa³ twój adres na komputerze dostawcy.<BR>

Je¶li mo¿esz, powiniene¶ tak to wszystko sonfigurowaæ, aby adres
podawany w polu FROM by³ równie¿ sdresem twojego konta u dostawcy.</LI>
<LI>ponieranie poczty z konta komputera dostawcy za pomoc± programu
popclient.</LI>
</UL>
<P>
<P>Mo¿esz zautomatyzowaæ ca³y ten proces umiesczaj±c niezbêdne polecenia
w pliku <CODE>/etc/ppp/ip-up</CODE> (pisali¶my o tym wcz¶niej).
<P>
<H2>25.2 Konfiguracja lokalnego serwera DNA</H2>

<P>Choæ mo¿esz korzystaæ zserwera DNS, który zapewnia ci twój dostawca
ISP, mo¿esz równie¿ uruchomiæ lokalny serwer DNS (tylko buforuj±cy)
w³±czany przez sktypt <CODE>ip-up</CODE>. Zalet± tego rozwi±zania jest
osczêdno¶æ czasu i ³±cza w przypadku czêstego nawi±zywania po³±czeñ z
tymi samymi komputerami.
<P>
<P>Konfiguracja serwera DNS do pracy w trybie buforowania jest ca³kiem
prosta (opcja forwarders w pliku <CODE>/etc/named.boot</CODE> wskazujaca
serwer DNS twojego dostawcy). Ksi±¿ka wydawnictwa O'Reilly "DNS and
Bind" odpowie na wszelkie twoje pytania.
<P>
<P>Dostêpny jest równie¿ dokument DNS-HOWTO.
<P>
<P>Jeden z punktów Netykiety mówi: zanim zaczniesz u¿ywaæ drugorzêdnego
serwera DNS do buforowania, wewn±trz domey twojego dostawcy, spytaj go
wpierw o pozwolenie. Poprawnie skonfigurowany serwer DNS nie jest
problemem dla twego dostawcy, lecz je¶li pope³nisz ajki¶ b³±d, mo¿e
wtedy sprawiaæ k³opoty.
<P>
<H2><A NAME="s26">26. Konfiguracja serwera PPP</A></H2>

<P>Jak ju¿ wspomina³em istnieje wiele metod na wykonanie tego zadania. To
co chcê zaprezentowaæ to sposób, którego u¿ywam (korzystaj±c z
wieloportowej karty Cycades i kilku linii telefonicznych na wspolnym numerze).
<P>
<P>Je¶li ci siê nie spodoba, mo¿esz to zrobiæ na swój sposób. Zawsze
chêtnie w kolejnych wersjach tego dokumentu umieszczê inne sprawdzone
metody. Je¶li znasz tak± przy¶lij mi jej opis wraz ze swoimi uwagami.
<P>
<P>Pamiêtaj, ze w tej czê¶ci mówimy jedynie o konfiguracji Linuxa jako
sewera PPP. Nie zamierzam kiedykolwiek umieszczaæ tutaj informacji o
konfigurowaniu specjalnych terminali dostêpowych i innych tego typu zabawek.
<P>
<P>Czekaj± mnie jescze eksperymenty z shadow password. Aktualnie
prezentowane informacje NIE zawieraj± ¿anych udogoniej jakie mo¿na
uzyskaæ korzystaj±c z shadow password.
<P>
<H2>26.1 Kompilacja j±dra</H2>

<P>Wszelki wcze¶niejsze uwagi na temat wersji j±dra i pakietu PPP s±
nadal aktualne. Zk³adam, ¿e przeczyta³e¶ poprzednie rozdzia³y.
<P>
<P><B>MUSISZ</B> w³±czyæ w j±rdze orzesy³anie pakietów (IP
forwarding). Mo¿e to byæ dobry moment do w³±czenia równie¿ takich
udogodniej jak zliczanie pakietóe (accounting) i firewall.
<P>
<P>Je¶li korzystasz z kart wieloportowych muszisz oczywiscie korzystaæ z
ich drajwerów.(zobacz Serial-JTZ).
<P>
<H2>26.2 Zarys konfiguracji serwera</H2>

<P>Oferujemy konta PPP (i SLIP) oraz konta zwyk³e sprawdzaj±c to¿samo¶æ 
za pomoc± identyfikatora i has³a. Jest to dla nas u³atwieniem,
poniewa¿ uzytkownik korzystaj±c z jednego konta ma dostêp do
wszystkich us³ug.
<P>
<P>Poniewa¿ jestemy organizacj± edukacyjn±, nie pobieramy op³at za
korzystanie z systemu i nie musimy siê martwiæ o zliczanie ruchu i
naliczanie op³at.
<P>
<P>Firewall dzia³aj±cy pomiêdzy nasz± sieci± a internetem ogranicza
dostêp naszysch u¿ytkowników do wybranych us³ug internetowych,
poniewa¿ ³±cz±c siê z naszym serwerem pracuj± wewn±trz naszej sieci,
lecz nie bêdzeimy tutaj rozwijaæ tego tematu.
<P>
<P>Proces uruchomie po³±czenia PPP przez uzytwkonika posiadaj±cego onto
na serwerze wygl±da nastêpujaco:-
<UL>
<LI>Zadzwonienie i zestawienie po³±czenia miêdzy modemami.</LI>
<LI>Wejscie na swoje konto podaj±c identyfikator i has³o</LI>
<LI>W wierszu zachêty wydanie polecenia <CODE>ppp</CODE> które uruchamia PPP
na serwerze.</LI>
<LI>Uruchomienie PPP na komputrze klienta (niezale¿nie czy jest tam
Linux, Windows, DOS, MAC czy cokolwiek- to ju¿ ich problem).</LI>
</UL>
<P>
<P>Serwer korzysta z indywidualnych plików
<CODE>/etc/ppp/options.ttyXX</CODE> ka¿dego portu wej¶ciowego, gdzie jest
zapisany zdalny numer IP (dynamiczny przydzia³ numerów IP). Do
zapewnienia komunikacji z komputerami sieci lokalnej i koputerem po
drygiej stronie po³±czenia PPP serwer korzysta z proxyarp (w³±czonej
przez odpowiedni± opcjê pppd) unikaj±c uruchomienia takich programów
jak routed lub gated.
<P>
<P>Kiedy u¿ytkownik zamyka po³±czenie PPP, pppd na serwerze to wykrywa,
poleca modemowi przerwaæ po³±czenie likwiduj±c w tym samym czasie
³±cze PPP.
<P>
<H2>26.3 Przygotowanie niezbêdnego oprogramowania</H2>

<P>Potrzebne bêd± nastêpuj±ce programy:-
<UL>
<LI>Odpowioednio skompilownae is konfogurowane j±dro Linuxa.</LI>
<LI>Odpowiednia wersja pakietu pppd.</LI>
<LI>Program 'getty', który w sposób inteligentny radzi sobie z
po³±czeniami modemowymi.<BR>
Korzystamy z  getty_ps2.0.7h, lecz na my¶l przychodzi równie¿
mgetty. Wiem, ¿e mgetty mo¿e rozpoznaæ po³±czenie korzystaj±ce z
pap/chap (pap jest wykorzystywane przez Windows95) i automatycznie
uruchomic pppd, lecz jescze tego nie wykorzystuje.
</LI>
<LI>Dzia³aj±cy serwer DNS, dostêpny dla twoich u¿ytkowników
korzystaj±cych z PPP.<BR>
Je¶li to mo¿liwe, powiniene¶ posiadac w³asny serwer DNS...
</LI>
</UL>
<P>
<H2>26.4 Konfiguracja zwyk³ego konta</H2>

<P>Zanim skonfigurujesz swój komputer jako serwer PPP, musi on wpierw
umo¿liwiaæ dostêp u¿ytkownikom di uch kont.
<P>
<P><B>Nie zamieszcamy w tym dokumencie informacji jak to
zrobiæ. Przeczytaj dokumentacjê programu getty i Serial-JTZ.</B>
<P>
<H2>26.5 Konfiguracja plików z opcjami programu pppd</H2>

<P>Musisz stworzyæ plik z opcjami dotyczacymi wszystkich po³±czeñ
<CODE>/etc/ppp/options</CODE>. My u¿ywamy takich opcji:
<P>
<HR>
<PRE>
asyncmap 0
netmask 255.255.254.0
proxyarp
lock
crtscts
modem
</PRE>
<HR>
<P>
<P>Zauwa¿, ¿e NIE korzystamy z trasowania - a w sczególno¶ci nie ma
domy¶lnej trasy, poniewa¿ jako serwer PPP powiniene¶ jedynie zapewniæ
przesy³anie pakietów <B>z</B> komputer klienta do Internetu i twojej
sieci lokalnej i z Internetu (sieci lokalnej) <B>do</B> komputera klienta.
<P>
<P>Wszystko co jest wymagane do realizacji tego celu, to trasa do
komputer klienta i u¿ycie opcjie 'proxyarp' w programi pppd.
<P>
<P>Opcja 'proxyarp' dodaje do tabeli apr serwera PPP ppozycj± proxy arp
(ju¿ wszystko jasne :), która powiadamia komputery sieci lokalnej, ¿e
wszystkie pa kiety przeznaczone dla klineta PPP nale¿y przesy³aæ
bezpo¶rednio do serwera - nie mo¿na jej niestety u¿yæ przy routingu
pakietów pomiêdzy dwiema sieciami LAN - muszisz dodaæ do tabeli
routingu odpowiednie trasy.
<P>
<P>Prawdopodobnie chcesz aby u¿ytkownicy twojego serwera PPP korzystali z
dysnamicznego przydzielania adresów IP. Mo¿na to osi±gn±æ przypisuj±c
ka¿demu portowi szeregowemu inny adres IP. Zrobisz to umieszczaj±c
odpowiedni± inforamacje w plikach <CODE>/etc/ppp/options.ttyXX</CODE>.
<P>
<P>Po prostu umie¶æ tam lokalny muer IP (serwera PPP) i numer IP, który
ma byæ wykorzystywany przez ten port. Np.
<P>
<HR>
<PRE>
kepler:slip01
</PRE>
<HR>

W szczególno¶ci, zamiast numerów IP mo¿esz podawaæ nazwy komputerów
(ja sam pamiêtem tylko numery najwa¿niejszych komputerów i urz±dzeñ,
nazwy jest ³atwiej zapamiêtaæ).
<P>
<H2>26.6 KOnfiguracja pppd umo¿liwiaj±ca zwk³ym u¿ytkownikomna uruchomienie po³±czenia</H2>

<P>Poniewa¿ uruchomienie po³±zeniea PPP jest zwi±zane z konfiguracj±
urz±dzeñ sieciowych i manipulowaniem tabel± routingu, dlatego wymagane
s± do tego specjalne uprawnienia - w rzeczywisto¶ci uprawnienia administratora.
<P>
<P>Na szczê¶ci pppd zosta³ zaprojektowany do takiego u¿ycia i mo¿emy
w³±czyæ bit suid root.  Musisz po prostu wydaæ polecenie
<HR>
<PRE>
chmod u+s /usr/sbin/pppd
</PRE>
<HR>
<P>
<P>Teraz atrybuty tego pliku powinny wyg³adaæ tak
<HR>
<PRE>
-rwsr-xr-x   1 root     root        74224 Apr 28 07:17 /usr/sbin/pppd
</PRE>
<HR>
<P>
<P>Je¶li tego nie zrobisz, twoi u¿ytkownicy nie bêd± mogli uruchomiæ
po³±czenia PPP.
<P>
<H2>26.7 Ustanawianie ogólnego aliasu dla pppd</H2>

<P>Aby upro¶ciæ u¿ytkownikom pewne dzia³ania, w pliku
<CODE>/etc/bashrc</CODE> tworzymy globalny alias, tak aby proste polecenie
uruchamia³o ca³± procedurê PPP po stronie serwera.
<P>
<P>This looks like
<HR>
<PRE>
alias ppp="exec /usr/sbin/pppd -detach"
</PRE>
<HR>
<P>
<P>Co to znaczy?
<UL>
<LI>exec : to znaczy, ¿e w miejsce dzia³aj±cego programu (w tym
przypadku pow³oki) zostaje uruchomiony inny program.</LI>
<LI>pppd -detach : uruchom program pppd i NIE od³±czaj siê od
terminala. W ten sposób po zakoñczeniu po³±czenia jeste¶my pewni, ¿e
nie pozostanie ¿aden niepotrzebny proces u¿ytkownika.</LI>
</UL>

U¿ytkownicy, kótrzy loguj± siê w ten sposób bêd± przedstawiani przez
polecenie <CODE>w</CODE> mniej wiêcej tak
<HR>
<PRE>
  6:24pm  up 3 days,  7:00,  4 users,  load average: 0.05, 0.03, 0.00
User     tty       login@  idle   JCPU   PCPU  what
hartr    ttyC0     3:05am  9:14                -
</PRE>
<HR>
<P>
<P>I to ju¿ wszystko... mówi³em, ¿e zrobienie prostego serwera PPP jest banalne.
<P>
<H2><A NAME="s27">27. Korzystanie z PPP przy wykorzystaniu kabli bezmodemowych</A>(bezpo¶rednie po³±zcenie portów szeregowych)</H2>

<P>TO jest jeszcze prostsze - nie ma modemu to znaczy nie trzeba dzwoniæ.
<P>
<P>Po pierwsze wybierz ,który kompter bêdzie pracowa³ jako
'serwer'. Muszisz skonfigurowaæ na porcie szeregowym getty, aby¶ mog³
za pomoc± minicomu przetestowaæ po³±czenie z drugiego komputera.
<P>
<P>Je¶li po³±czenie miêdzy portami dzia³a poprawnie, mo¿esz usun±æ
niepotrzebne getty, CHYB, ¿e chcesz aby to po³±czenie bylo
weryfikowane przez identyfikator i has³o. Poniewa¿ masz kontrolê nad
oby komputerami podej¿ewam, ¿e nie jest ci to potrzebne.
<P>
<P>Teraz, na serwerze nale¿y usun±æ getty i upewniæ siê, ¿e porty na obu
komputerach s± skonfigurowane tak samo.
<P>
<P>Teraz musisz tylko ruchomiæna obu systemach pppd. Zak³adam, ¿e
po obu stronach bêdzie to port /dev/cua4. Na oby komputerach wydaj
polecenie :-
<P>
<HR>
<PRE>
pppd -detach crtscts lock &lt;local IP>:&lt;remote IP> /dev/cua4 38400 &amp;
</PRE>
<HR>
<P>
<P>Spowoduje to zestawienie po³±czenia - lecz nie masz jescze
poprawionych tabel routingu. Mo¿esz przetestowaæ po³±czenie 'pinguj±c'
komputery nawzajem, a nastêpnie zamkn±æ po³±czeni zabijaj±c jeden z
procesów pppd.
<P>
<P>Routing jaki jest potrzebny zale¿y od tego co tak naprawdê chcesz
robiæ. Zwykle jeden z komputerów bêdzie przy³±czony do Ethernetu, a
przez to do Internetu, wiêc wymagany routing jest taki sam, jak w
przypadku serwera i klienta PPP.
<P>
<P>Na komputerze wyposarzonym w kartê Ethernetu nale¿y wydaæ polecenie
<P>
<HR>
<PRE>
pppd -detach crtscts lock proxyarp &lt;local IP>:&lt;remote IP> /dev/cua4 38400 &amp;
</PRE>
<HR>
<P>
<P>a na tym drugim
<HR>
<PRE>
pppd -detach crtscts lock defaultroute &lt;local IP>:&lt;remote IP> /dev/cua4 38400 &amp;
</PRE>
<HR>

Je¶li ³±czysz w ten sposób dwie sieci (przez ³±cze szeregowe!) lub
masz bardziej skomplikowane wymagania dotycz±ce routingu, mo¿esz
skorzystaæ ze skryptów <CODE>ppp-on</CODE> i <CODE>ppp-off</CODE> w dok³adnie taki sam
sposób, jaki zosta³ opisany wcze¶niej.
<P>
<P>
<P>
<P><B>Robert Hart</B><BR>
Port Hedland, Western Australia<BR>
August 1996<BR>
<H2><A NAME="s28">28. Od t³umacza</A></H2>

<P>
<UL>
<LI>Zmiany w stosunku do orygina³u:</LI>
<LI>odwo³ania do sunsite.unc.edu zamienione na odwolania do jego kopii w Polsce,</LI>
<LI>dodane ró¿ne inforamacje o polskich t³umaczeniach.</LI>
</UL>
<P>Zdaje sobie sprawê, ¿e niniejsze t³umaczenie zawiera mnóstwo b³êdów.
Niestety nie jestem w stanie dok³adnie sprawdziæ ca³êgo dokumentu i
¶wiadomie pozostawiam tê pracê czytelnikowi. Bêdê wdziêczny za
wszelkie uwagi na temat tego dokumentu, wytykanie b³êdów, literówek,
sk³adni i wszelkie inne, które mog± przyczyniæ siê do jego ulepszenia.
<P>
<P>Wszelkie tego typu uwagi proszê przesy³aæ na adres 
<A HREF="mailto:piotr.pogorzelski@ippt.gov.pl">piotr.pogorzelski@ippt.gov.pl</A><P>Inne przet³umaczone dokumenty mo¿na znale¼æ na stronie
<A HREF="http://www.jtz.org.pl/">http://www.jtz.org.pl/</A>. Zapraszamy!.
<P>piotr.pogorzelski@ippt.gov.pl.
</BODY>
</HTML>