This file is indexed.

/usr/share/doc/HOWTO/fr-html/PPP-HOWTO.html is in doc-linux-fr-html 2013.01-2.

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
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.69">
<title>Linux PPP Howto</title>
</head>
<body>
<h1>Linux PPP Howto</h1>
<h2>par Robert Hart, hart@interweft.com.au</h2>
Version 3.0, 31 mars 1997
<hr>
<em>(Adaptation fran&ccedil;aise par Antoine Levavasseur
<code>levavass@efrei.fr</code>, le 22 octobre 1997). Ce document
montre comment connecter votre PC Linux &agrave; un serveur PPP,
comment utiliser PPP pour relier deux r&eacute;seaux locaux
ensemble, et fournit une m&eacute;thode pour configurer votre
machine Linux comme serveur PPP. Ce document fournit
&eacute;galement une aide pour d&eacute;boguer les connections PPP
qui ne fonctionnent pas.</em>
<hr>
<p><b>Copyright</b></p>
<p>Ce document est distribu&eacute; sous les contraintes de la GPL
(GNU Public Licence).</p>
<p><b>Distribution</b></p>
<p>Le document original sera post&eacute; dans
comp.os.linux.answers lorsque de nouvelles versions du document
arriveront. Il est &eacute;galement disponible en HTML &agrave;
:</p>
<ul>
<li><a href="http://sunsite.unc.edu/mdw/linux.html#howto">Linux
Howto Index</a></li>
<li><a href=
"http://www.interweft.com.au/other/ppp-howto/ppp-howto.html">PPP-HOWTO</a></li>
</ul>
<p>Les autres formats (SGML, ASCII, PostScript, DVI) sont
disponibles &agrave; <a href=
"ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/other-formats">Howtos -
other formats</a>.</p>
<p>Comme sunsite.unc.edu est tr&egrave;s charg&eacute;, vous
&ecirc;tes encourag&eacute;s &agrave; utiliser un miroir plus
proche de chez vous. En particulier la version fran&ccedil;aise de
ce HOWTO est post&eacute; r&eacute;guli&egrave;rement dans
fr.comp.os.linux.annonce, et est disponible sur ftp.lip6.fr et
http://www.freenix.fr/.</p>
<p><b>Remerciements</b></p>
<p>Un nombre important et croissant de personnes m'ont aid&eacute;
&agrave; pr&eacute;parer ce document. Remerciements sp&eacute;ciaux
&agrave; Al Longyear pour l'aide sur PPP lui-m&ecirc;me (si il y a
des erreurs ici, ce sont les miennes et pas les siennes), Greg
Hankins (qui maintient les Howto Linux) et Debi Tackett (de Maximum
Access.com) pour ses nombreuses suggestions sur le style,
l'organisation du contenu, la logique et la clart&eacute; des
explications.</p>
<p>Pour finir, je remercie les nombreuses personnes qui m'ont
envoy&eacute; leurs commentaires par courrier &eacute;lectronique.
Comme tous les auteurs de HOWTO, la satisfaction d'aider est le
seul salaire que nous recevons, et cela nous suffit. En
&eacute;crivant ce HOWTO, je rembourse d'une certaine fa&ccedil;on
la dette que je - et tous les autres utilisateurs Linux - dois aux
personnes qui &eacute;crivent et maintiennent le syst&egrave;me
d'exploitation que nous avons choisi.</p>
<p><b>Traduction Fran&ccedil;aise de ce document</b></p>
<p>La traduction du pr&eacute;sent document PPP-Howto (et
pr&eacute;c&eacute;demment PPP-FAQ) &eacute;tait assur&eacute;e par
Ren&eacute; Cougnenc. C'&eacute;tait l'un des premiers (si ce n'est
le premier) utilisateur de Linux en France alors que ce
n'&eacute;tait qu'un petit projet un peu fou lanc&eacute; par Linus
Torvalds. Ren&eacute; Cougnenc a particip&eacute; au
d&eacute;veloppement de Linux et a assur&eacute; la traduction de
nombreux HOWTO et ouvrages sur Linux qui font encore
r&eacute;f&eacute;rence. Si vous utilisez Linux aujourd'hui c'est
sans doute un peu gr&acirc;ce &agrave; lui...<br>
Prendre ses pas dans la traduction de ce HOWTO &eacute;tait un peu
d&eacute;licat car la barre &eacute;tait plac&eacute;e haut, et
j'esp&egrave;re que le lecteur que vous &ecirc;tes ne sera pas
d&eacute;&ccedil;u par mon travail.<br>
Et si Ren&eacute; nous entends l&agrave;-haut, je suis s&ucirc;r
qu'il l&egrave;vera avec nous son verre &agrave; la sant&eacute; de
notre syst&egrave;me d'exploitation favori ! :-)</p>
<p>Enfin merci &agrave; Thomas Parmelan pour la relecture et les
conseils sur la forme de la version fran&ccedil;aise de ce
document.</p>
<h2><a name="s1">1. Introduction</a></h2>
<p>PPP (Point to Point Protocol) est un m&eacute;canisme qui permet
de faire fonctionner IP (Internet Procotol) et tous les autres
protocoles r&eacute;seaux &agrave; travers une liaison s&eacute;rie
- qui peut &ecirc;tre une connexion s&eacute;rie directe (avec un
c&acirc;ble null-modem), &agrave; travers une liaison par un
telnet, ou encore une liaison utilisant les modems et les lignes
t&eacute;l&eacute;phoniques (et bien s&ucirc;r utilisant les lignes
num&eacute;riques comme RNIS).</p>
<p>Avec PPP, vous pouvez connecter votre PC sous Linux &agrave; un
serveur PPP et acc&eacute;der aux ressources r&eacute;seau aux
quelles le serveur est connect&eacute; (presque) comme si vous
&eacute;tiez directement connect&eacute; &agrave; ce
r&eacute;seau.</p>
<p>Vous pouvez &eacute;galement configurer votre PC Linux comme un
serveur PPP, de cette fa&ccedil;on, d'autres ordinateurs peuvent
appeler votre ordinateur et acc&eacute;der aux ressources de votre
PC et/ou r&eacute;seau local.</p>
<p>Comme PPP est un syst&egrave;me qui marche dans les deux sens,
vous pouvez &eacute;galement utiliser PPP sur deux PC Linux pour
relier ensemble deux r&eacute;seaux (ou un r&eacute;seau local
&agrave; Internet), cr&eacute;ant ainsi un r&eacute;seau &agrave;
large domaine (WAN : Wide Area Network).</p>
<p>Une diff&eacute;rence majeure entre PPP et une connexion
Ethernet est bien entendu la vitesse - une connexion Ethernet
standard offre &agrave; un d&eacute;bit maximal th&eacute;orique de
10 Mbs (Mega - millions de bits par seconde), alors qu'une liaison
analogique par modem offre un maximum de 56 Kbs (kilo - millier de
bits par seconde).</p>
<p>Par cons&eacute;quent, selon le type de votre connexion PPP, il
y aura des limitations sur l'utilisation des applications et des
services.</p>
<h2><a name="ss1.1">1.1 Clients et Serveurs</a></h2>
<p>PPP est un protocole strictement sym&eacute;trique; il n'y a
(techniquement) aucune diff&eacute;rence entre la machine qui
appelle et la machine qui est appel&eacute;e. Cependant, pour des
raisons de clart&eacute;, il est int&eacute;ressant de penser en
terme de <b>serveur</b> et <b>client</b>.</p>
<p>Quand vous appelez un site pour &eacute;tablir une connexion
PPP, vous &ecirc;tes un <b>client</b>. La machine sur laquelle
vous-vous connectez est le <b>serveur</b>.</p>
<p>Quand vous configurez une machine Linux pour r&eacute;pondre aux
appels pour les connexion PPP, vous configurez un <b>serveur</b>
PPP.</p>
<p>Tous les PC Linux peuvent &ecirc;tre &agrave; la fois serveur et
client PPP - m&ecirc;me en m&ecirc;me temps si vous avez plus d'un
port s&eacute;rie (et d'un modem si n&eacute;cessaire). Comme
d&eacute;crit plus haut, il n'y a pas de r&eacute;elle
diff&eacute;rence entre les clients et les serveurs tant que l'on
utilise PPP et que la connexion est &eacute;tablie.</p>
<p>Ce document r&eacute;f&eacute;rence la machine qui initie
l'appel (qui le compose) comme le <b>CLIENT</b>, alors que la
machine qui r&eacute;pond au t&eacute;l&eacute;phone,
v&eacute;rifie l'authentification de l'appel (en utilisant les noms
utilisateurs, les mots de passe et &eacute;ventuellement d'autres
m&eacute;canismes) est r&eacute;f&eacute;renc&eacute;e comme le
<b>SERVEUR</b>.</p>
<p>L'utilisation de PPP comme client pour relier une ou plusieurs
machines &agrave; Internet est probablement celle qui
int&eacute;resse une majorit&eacute; de gens. Ils utiliseront alors
leur PC Linux comme client.</p>
<p>La proc&eacute;dure expos&eacute;e dans ce document va vous
permettre d'&eacute;tablir et d'automatiser votre connexion
&agrave; Internet.</p>
<p>Ce document va &eacute;galement vous offrir un guide pour
permettre de configurer un <b>serveur PPP</b> sur votre PC Linux et
relier ensemble deux r&eacute;seaux (avec le routage complet) en
utilisant PPP (cela est aussi appel&eacute; une liaison WAN - wide
area network).</p>
<h2><a name="ss1.2">1.2 Diff&eacute;rences entre les distributions
Linux</a></h2>
<p>Il y a de nombreuses distributions Linux diff&eacute;rentes qui
on leurs propres idiosyncrasies et fa&ccedil;ons de faire les
choses.</p>
<p>En particulier, il y a deux mani&egrave;res diff&eacute;rentes
sur une machine Linux (ou Unix) de d&eacute;marrer, configurer ses
interfaces et ainsi de suite.</p>
<p>Il y <b>l'initialisation BSD</b> et <b>l'initialisation SysV
system</b>. Si vous consultez certains forums de discussion Unix,
vous trouverez de temps en temps des guerres de religion entre les
partisans de chacun des deux syst&egrave;mes. Si ce genre de chose
vous pla&icirc;t, allez donc les rejoindre pour g&acirc;cher de la
bande passante avec eux !</p>
<p>Les distributions les plus utilis&eacute;es sont sans doute
:</p>
<ul>
<li>Slackware<br>
qui utilise une initialisation syst&egrave;me BSD</li>
<li>Red Hat (et son pr&eacute;c&eacute;dent associ&eacute;
Caldera)<br>
qui utilise une initialisation SysV system (bien qu'un peu
modifi&eacute;e)</li>
<li>Debian<br>
qui utilise une initialisation SysV system</li>
</ul>
<p>Les initialisations de type BSD conservent typiquement ces
fichiers dans <code>/etc/</code> et ces fichiers sont :</p>
<hr>
<pre>
        /etc/rc
        /etc/rc.local
        /etc/rc.serial
                (et parfois d'autres fichiers)
</pre>
<hr>
<p>R&eacute;cemment, certaines initialisation syst&egrave;mes BSD
se mettaient &agrave; utiliser un r&eacute;pertoire
<code>/etc/rc.d/</code> contenant les fichiers de d&eacute;marrage
plut&ocirc;t que de tout mettre dans <code>/etc</code>.</p>
<p>L'initialisation System V conserve ses fichiers d'initialisation
dans les r&eacute;pertoires <code>/etc/</code> ou
<code>/etc/rc.d</code> et un certain nombre de
sous-r&eacute;pertoires de ces derniers.</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>Si vous essayez de chercher o&ugrave; votre interface et les
routes r&eacute;seau associ&eacute;es sont configur&eacute;es, vous
devez parcourir tous les fichiers pour parvenir &agrave; trouver
o&ugrave; sont les commandes correspondantes.</p>
<h2><a name="ss1.3">1.3 Outils de configuration sp&eacute;cifiques
aux distributions</a></h2>
<p>Dans certaines installations (par exemple Red Hat et Caldera),
il y a un syst&egrave;me de configuration des PPP sous X Window. Ce
HOWTO ne traite pas de ces outils sp&eacute;cifiques aux
distributions. Si vous avez des probl&egrave;mes avec ceux-ci,
contactez directement les distributeurs !</p>
<p>Pour les utilisateurs de Red Hat 4.x, il y a maintenant un
<a href="http://www.interweft.com.au/">Red Hat PPP-TIP</a> dans la
partie Linux ressources et &eacute;galement chez <a href=
"http://www.redhat.com/">Red Hat Software</a> dans la partie
support.</p>
<h2><a name="s2">2. Adresse IP</a></h2>
<p>Tout mat&eacute;riel connect&eacute; &agrave; Internet doit
avoir sa propre, et unique adresse IP. Elle sont distribu&eacute;es
de fa&ccedil;on centralis&eacute;e par l'autorit&eacute;
d&eacute;sign&eacute;e pour chaque pays.</p>
<p>Si vous &ecirc;tes connect&eacute;s par un r&eacute;seau local
(LAN) &agrave; Internet, <b>VOUS DEVEZ</b> utiliser une adresse IP
de votre propre domaine d'adresses qui vous a &eacute;t&eacute;
assign&eacute; pour les ordinateurs et mat&eacute;riels de votre
r&eacute;seau local. Vous <b>NE DEVEZ PAS</b> prendre n'importe
quelle adresse IP et l'utiliser lorsque vous vous connectez avec un
autre r&eacute;seau local (et &agrave; plus forte raison Internet).
Au pire &ccedil;a ne marchera pas du tout et cela peut causer des
ravages puisque votre adresse IP 'vol&eacute;e' va
interf&eacute;rer avec les communications d'un autre ordinateur qui
utilise d&eacute;j&agrave; l'adresse IP que vous avez prise au
hasard.</p>
<p>Remarquez que les adresses IP de ce document appartiennent
(&agrave; part quelques exceptions) aux adresses de r&eacute;seaux
non connect&eacute;s qui sont r&eacute;serv&eacute;es aux
r&eacute;seaux qui ne sont pas (encore) connect&eacute;s &agrave;
Internet. (RFC1918)</p>
<p>Il y a des adresses IP qui sont sp&eacute;cifiquement
destin&eacute;es aux r&eacute;seaux locaux qui ne sont pas
connect&eacute;s &agrave; Internet. Ces adresses IP sont :</p>
<ul>
<li>Une Adresse R&eacute;seau de Classe A<br>
10.0.0.0 (netmask 255.0.0.0)</li>
<li>16 Adresses R&eacute;seau de Classe B<br>
172.16.0.0 - 172.31.0.0 (netmask 255.255.0.0)</li>
<li>256 Adresses R&eacute;seau de Classe C<br>
192.168.0.0 - 192.168.255.0 (netmask 255.255.255.0)</li>
</ul>
<p>Si vous avez un r&eacute;seau pour lequel vous <b>n'avez pas</b>
allou&eacute; d'adresse IP aupr&egrave;s de l'autorit&eacute;
responsable de votre pays, vous devez utiliser une des adresses
r&eacute;seau de la s&eacute;quence pr&eacute;c&eacute;dente pour
vos machines.</p>
<p>Ces adresses ne doivent <b>jamais</b> &ecirc;tre
utilis&eacute;es sur Internet.</p>
<p>Cependant, elles peuvent &ecirc;tre utilis&eacute;es pour les
r&eacute;seaux locaux Ethernet sur la machine qui est
connect&eacute;e &agrave; Internet. C'est parce que les adresses IP
sont en fait allou&eacute;es aux interfaces r&eacute;seau et non
&agrave; l'ordinateur. Ainsi, votre interface Ethernet peut
utiliser 10.0.0.1 (par exemple), et quand vous vous connecterez
&agrave; Internet en utilisant PPP, votre interface PPP
r&eacute;cup&eacute;rera une autre adresse IP (valide) du serveur.
Votre PC sera connect&eacute; &agrave; Internet alors que les
autres ne le seront pas.</p>
<p>Cependant, en utilisant Linux, les capacit&eacute;s de IP
Masquerading (aussi appel&eacute; NAT - Network Adress Translation)
de Linux et du programme <b>ipfwadm</b>, vous pouvez connecter
votre r&eacute;seau local &agrave; Internet (avec quelques
restrictions sur les services), m&ecirc;me si vous n'avez pas
d'adresse IP valide pour vos machines en Ethernet.</p>
<p>Pour plus d'informations sur le sujet, consulter le mini-HOWTO
IP Masquerade &agrave; <a href=
"http://sunsite.unc.edu/mdw/HOWTO/mini/IP-Masquerade">Linux IP
Masquerade mini HOWTO</a></p>
<p>Pour la plupart des utilisateurs, qui sont connect&eacute;s avec
une seule machine &agrave; leur fournisseur d'acc&egrave;s Internet
(FAI) par PPP, obtenir une adresse IP (ou plus largement une
adresse r&eacute;seau) n'est pas n&eacute;cessaire.</p>
<p>Si vous souhaitez connecter un petit r&eacute;seau local
&agrave; Internet, de nombreux FAI peuvent vous fournir un
sous-r&eacute;seau d&eacute;di&eacute; (une s&eacute;quence
sp&eacute;cifique d'adresses IP) sur leur espace d'adresses IP
existant. Alternativement, utilise IP masquerading.</p>
<p>Pour les utilisateurs qui connectent un seul PC &agrave;
Internet, la plupart des FAI utilise l'allocation <b>dynamique</b>
des adresses IP. C'est pendant le processus de connexion que le
service PPP que vous contactez va indiquer &agrave; votre machine
quelle adresse IP utiliser pour l'interface PPP pendant la session
en cours. Cette adresse ne sera pas forc&eacute;ment la m&ecirc;me
&agrave; chaque fois que vous vous connecterez &agrave; votre
FAI.</p>
<p>Avec les adresses IP dynamiques, vous <b>n'avez pas</b> la
m&ecirc;me adresse IP &agrave; chaque fois que vous vous connectez.
Cela a des r&eacute;percussions sur les applications de type
serveur de votre machine Linux telles que Sendmail, ftpd, httpd et
d'autres. Ces services supposent que l'ordinateur offrant le
service soit accessible tout le temps &agrave; la m&ecirc;me
adresse IP (ou au moins au m&ecirc;me nom de domaine
qualifi&eacute;, et que la r&eacute;solution des noms par DNS du
nom vers l'adresse IP est disponible).</p>
<p>Les limitations de service dues aux allocations dynamiques
d'adresses IP (et les fa&ccedil;ons d'&eacute;viter cela, quand
c'est possible) sont d&eacute;crites plus loin.</p>
<h2><a name="s3">3. Buts de ce document</a></h2>
<h2><a name="ss3.1">3.1 Mettre en place un client PPP</a></h2>
<p>Ce document fournit un guide aux personnes qui souhaitent
utiliser Linux et PPP pour appeler un Serveur PPP et configurer une
connexion IP avec PPP. Cela suppose que PPP ait &eacute;t&eacute;
compil&eacute; et install&eacute; sur votre machine Linux (mais une
br&egrave;ve description de la reconfiguration/recompilation de
votre noyau avec le support PPP est fournie).</p>
<p>Bien que <code>dip</code> (la mani&egrave;re standard de
cr&eacute;er des connexions SLIP) puisse &ecirc;tre utilis&eacute;
pour mettre en place un connexion PPP, les scripts <code>dip</code>
sont g&eacute;n&eacute;ralement un peu complexes. Pour cette
raison, ce document ne traite pas l'utilisation de <code>dip</code>
pour lancer une connexion PPP.</p>
<p>A la place, ce document d&eacute;crit les programmes standard
Linux/PPP (chat/pppd).</p>
<h2><a name="ss3.2">3.2 Relier deux R&eacute;seaux locaux ou un
r&eacute;seau local &agrave; Internet gr&acirc;ce &agrave;
PPP</a></h2>
<p>Ce document donne des informations (de base) pour relier deux
r&eacute;seaux locaux entre eux ou un r&eacute;seau local &agrave;
Internet gr&acirc;ce &agrave; PPP.</p>
<h2><a name="ss3.3">3.3 Configurer un serveur PPP</a></h2>
<p>Ce document fournit un guide pour configurer votre PC Linux
comme serveur PPP (autorisant d'autres personnes &agrave; appeler
votre PC Linux et &eacute;tablir une connexion PPP).</p>
<p>Notez qu'il y a un grand nombre de fa&ccedil;ons de configurer
Linux comme serveur PPP. Ce document donne une m&eacute;thode - qui
est utilis&eacute;e par l'auteur pour configurer quelques petits
serveurs PPP (chacun avec 16 modems).</p>
<p>Cette m&eacute;thode est connue pour fonctionner correctement.
Cependant, ce n'est pas forc&eacute;ment la meilleure
m&eacute;thode.</p>
<h2><a name="ss3.4">3.4 Utiliser PPP avec une connexion Null-Modem
directe</a></h2>
<p>Ce document offre un bref aper&ccedil;u d'utilisation de PPP
pour relier deux PC Linux avec un c&acirc;ble null modem. Il est
possible de relier d'autres Syst&egrave;mes d'exploitation &agrave;
Linux de cette fa&ccedil;on &eacute;galement. Pour ce faire,
utiliser la documentation du syst&egrave;me d'exploitation pour
lequel vous &ecirc;tes int&eacute;ress&eacute;.</p>
<h2><a name="ss3.5">3.5 Pour le moment ce document ne couvre
pas...</a></h2>
<ul>
<li>La compilation du daemon PPP<br>
Regarder la documentation fournie avec la version de
<code>pppd</code> que vous utilisez.</li>
<li>Connecter et configurer un modem sous Linux (en
d&eacute;tail)<br>
Regarder le Serial-HOWTO et pour les initialisations
sp&eacute;cifiques au modem, voir <a href=
"http://www.in.net/info/modems/index.html">Modem Setup
Information</a> des informations qui pourraient vous aider &agrave;
configurer votre modem.</li>
<li>Utiliser <code>dip</code> pour faire des connexion PPP<br>
utiliser <code>chat</code> &agrave; la place</li>
<li>Utiliser <code>socks</code> ou IP Masquerading<br>
Il y a d'excellents documents qui couvrent d&eacute;j&agrave; ces
paquetages.</li>
<li>Utiliser EQL pour regrouper deux modems pour une seule
connexion PPP.</li>
<li>Les m&eacute;thodes de connexion PPP sp&eacute;cifiques aux
distributions (comme l'outil de configuration r&eacute;seau de la
Red Hat 4.x). Voir votre distribution pour la documentation sur les
m&eacute;thodes utilis&eacute;es.</li>
<li>Le nombre croissant d'outils disponibles pour automatiser les
connexions PPP<br>
Voir la documentation appropri&eacute;e.</li>
</ul>
<h2><a name="s4">4. Versions des logiciels trait&eacute;s</a></h2>
<p>Ce HOWTO suppose que vous utilisez un noyau Linux 1.2.X avec le
programme PPP 2.1.2 ou Linux 1.3.X/2.0.x et PPP 2.2.</p>
<p>Au moment de la r&eacute;daction, la derni&egrave;re version
officielle de PPP disponible est ppp-2.2.0f. La nouvelle version
(ppp-2.3) est encore en beta.</p>
<p>Il est possible d'utiliser PPP 2.2.0 avec le noyau 1.2.13. Cela
n&eacute;cessite des patchs pour le noyau. Il est recommand&eacute;
aux utilisateurs du noyau 1.2.13 de passer &agrave; ppp-2.2
puisqu'il inclut quelques extensions et corrections de bogues.</p>
<p><b>Vous devez &eacute;galement &ecirc;tre
particuli&egrave;rement vigilant et ne pas utiliser le programme
PPP 2.1.2 avec un noyau Linux 2.0.X.</b></p>
<p>Veuillez remarquer que ce document <b>ne traite pas</b> des
probl&egrave;mes venant de l'utilisation de modules chargeables
pour votre noyau Linux 2.0.x. Consulter le mini-HOWTO kerneld et la
documentation kerneld/module 2.0.x (dans les sources de Linux 2.0.x
&agrave; <code>/usr/src/linux/Documentation/..</code>).</p>
<p><b>Puisque ce document est destin&eacute; &agrave; aider les
nouveaux utilisateurs, il est fortement recommand&eacute;
d'utiliser une nouvelle version du noyau Linux et la version
appropri&eacute;e de PPP qui sont connus pour fonctionner
ensemble.</b></p>
<h2><a name="s5">5. D'autres documents utiles/importants</a></h2>
<p>Je conseille aux utilisateurs de lire :</p>
<ul>
<li>la documentation accompagnant le paquetage PPP;</li>
<li>les pages de manuel de <code>pppd</code> et
<code>chat</code>;<br>
(utiliser <code>man chat</code> et <code>man pppd</code> pour les
lire)</li>
<li>La page de configuration des modems - voir <a href=
"http://www.in.net/info/modems/index.html">Modem Setup
Information</a></li>
<li>Les excellents livres Unix/Linux publi&eacute;s par O'Reilly
and Associates. ( <a href="%20http://www.ora.com/">O'Reilly and
Associates On-Line Catalogue</a>). Si vous &ecirc;tes nouveau
&agrave; Unix/Linux, <b>courez</b> (ne marchez pas) au plus proche
marchand de livres informatiques et investissez dans un certain
nombre d'entre eux imm&eacute;diatement !</li>
<li>La PPP-FAQ maintenue par Al Longyear, disponible sur <a href=
"ftp://sunsite.unc.edu/pub/Linux/docs/faqs">Linux PPP-FAQ</a>.<br>
Elle contient un grand nombre d'informations utiles sous forme de
questions/r&eacute;ponses indispensable lorsque l'on cherche
pourquoi PPP ne fonctionne pas (correctement).</li>
<li>Le nombre croissant de livre Linux venant des diff&eacute;rents
&eacute;diteurs et auteurs;<br>
Vous &ecirc;tes encourag&eacute;s &agrave; v&eacute;rifier la date
de parution de ces livres. Le d&eacute;veloppement et la
distribution de Linux tendent &agrave; &ecirc;tre plut&ocirc;t
rapides, alors que la mise &agrave; jour des livres est
(g&eacute;n&eacute;ralement) bien plus lente ! Acheter un excellent
livre (et il y en a) qui est d&eacute;j&agrave;
d&eacute;pass&eacute; entraine une confusion et une frustration
consid&eacute;rable pour les nouveaux utilisateurs.</li>
</ul>
<p>Le meilleur point de d&eacute;part pour la documentation Linux
est <a href="http://sunsite.unc.edu/mdw/">The Linux Documentation
Project Home Page</a>. Les HOWTO sont mis &agrave; jour
raisonnablement r&eacute;guli&egrave;rement.</p>
<p>Bien que vous puissiez utiliser ce document pour cr&eacute;er
votre liaison PPP sans lire aucun de ces documents, vous devriez
avoir une bien meilleure compr&eacute;hension de ce qu'il se passe
si vous le faites ! Vous pouvez &eacute;galement exposer
vous-m&ecirc;me vos probl&egrave;mes (ou du moins poser les
questions les plus intelligentes sur les groupes de discussion
comp.os.linux... ou fr.comp.os.linux/unix... ou les mailing list
Linux).</p>
<p>Ces documents (ainsi que quelques autres, comme les RFCs
correspondants) fournissent des explications compl&eacute;mentaires
et plus d&eacute;taill&eacute;es que ce qui est possible dans les
HOWTO.</p>
<p>Si vous connectez un r&eacute;seau local &agrave; Internet avec
PPP, vous avez besoin de conna&icirc;tre un certain nombre de
choses sur les r&eacute;seaux TCP/IP. En compl&eacute;ment des
documents pr&eacute;c&eacute;dents, vous trouverez dans les livres
O'Reilly <code>"</code>TCP/IP Network Administration<code>"</code>
et <code>"</code>Building Internet Firewalls<code>"</code> un
b&eacute;n&eacute;fice consid&eacute;rable !</p>
<h2><a name="ss5.1">5.1 Les Mailing Listes utiles</a></h2>
<p>Il y a de nombreuses mailing listes (listes de diffusion) Linux
qui servent de moyen de communication entre les utilisateurs dans
de nombreux domaines. Souscrivez absolument &agrave; celles qui
vous int&eacute;ressent pour donner votre point de vue.</p>
<p><b>Remarques de bon sens</b>: certaines listes sont
sp&eacute;cifiquement destin&eacute;s au utilisateurs "experts"
et/ou &agrave; certains sujets sp&eacute;cifiques. M&ecirc;me si
personne ne se plaindra que vous soyez voyeur (souscrire sans
poster de messages), vous recevrez certainement des commentaires
chauds (voire des flammes) si vous postez des questions de
d&eacute;butant dans les listes innappropri&eacute;es.</p>
<p>Ce n'est pas parce que les utilisateurs gourous d&eacute;testent
les nouveau utilisateurs, mais parce que ces listes sont l&agrave;
pour contenir des remarques sp&eacute;cifiques &agrave; un certain
niveau de difficult&eacute;.</p>
<p>Vous &ecirc;tes largement encourag&eacute;s &agrave; souscrire
librement &agrave; diff&eacute;rentes listes mais faites absolument
des commentaires qui cadrent avec le sujet (et le niveau) de la
liste !</p>
<p>Un bon point de d&eacute;part pour les mailing-list Linux est
<a href=
"http://summer.snu.ac.kr/~djshin/linux/mail-list/index.shtml">Linux
Mailing List Directory</a></p>
<h2><a name="s6">6. Pr&eacute;sentation de ce qui doit &ecirc;tre
fait pour faire fonctionner PPP comme client</a></h2>
<p>Ce document contient un grand nombre d'informations - qui
augmente &agrave; chaque version !</p>
<p>Par cons&eacute;quent, cette section a pour but de fournir une
pr&eacute;sentation concise des actions pour connecter votre
syst&egrave;me Linux comme client &agrave; un serveur PPP.</p>
<h2><a name="ss6.1">6.1 Obtenir/installer les programmes</a></h2>
<p>Si votre distribution Linux ne contient pas les programmes PPP,
vous devez les obtenir sur <a href=
"ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/ppp/ppp-2.2.0f.tar.gz">
the Linux PPP daemon</a></p>
<p>C'est la derni&egrave;re version officielle lors de la
r&eacute;daction du document. Cependant, prenez la derni&egrave;re
version disponible sur ce site (ppp-2.3 &eacute;tait en b&eacute;ta
lors de la r&eacute;daction de ce document et devrait sortir
bient&ocirc;t).</p>
<p>Le paquetage PPP contient les instructions sur la fa&ccedil;on
de compiler et d'installer le logiciel <b>donc ce HOWTO n'en
parlera pas</b>. !</p>
<h2><a name="ss6.2">6.2 Compiler le support PPP dans le
noyau</a></h2>
<p>L'installation de PPP Linux se divise en deux parties</p>
<ul>
<li>le daemon PPP mentionn&eacute; ci-dessus</li>
<li>le support PPP dans le noyau</li>
</ul>
<p>De nombreuses distributions semblent fournir un support PPP dans
les noyaux install&eacute;s par d&eacute;faut, mais certaines ne le
font pas.</p>
<p>Si lors du boot, le noyau donne un message ressemblant &agrave;
:</p>
<hr>
<pre>
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
PPP line discipline registered.
</pre>
<hr>
<p>Votre noyau &agrave; le support PPP compil&eacute;.</p>
<p>Toutefois, vous devez recompiler votre propre noyau quelque soit
votre distribution pour fournir l'utilisation la plus efficace
possible des ressources disponibles et de votre configuration
mat&eacute;rielle personnelle. Il est bon de savoir que le noyau ne
peut &ecirc;tre swapp&eacute; hors de la m&eacute;moire. Avoir un
noyau le plus petit possible est donc int&eacute;ressant surtout
pour une machine limit&eacute;e en m&eacute;moire.</p>
<p>Ce document fournit les instructions minimales pour la
re-compilation du noyau &agrave; la section <a href=
"#Configuration%20du%20noyau">Configurer votre noyau Linux</a>.</p>
<p>Pour plus de d&eacute;tails, voir le Kernel-HOWTO &agrave;
<a href="http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html">The
Linux Kernel HOWTO</a></p>
<h2><a name="ss6.3">6.3 Obtenir les informations pour votre
fournisseur d'acc&egrave;s &agrave; Internet</a></h2>
<p>Il y a presque une infinit&eacute; de mani&egrave;res de
configurer un serveur PPP. Pour se connecter chez votre fournisseur
d'acc&egrave;s (ou un serveur PPP pour acc&eacute;der &agrave;
votre intranet), vous devez obtenir des informations sur la
fa&ccedil;on dont le serveur fonctionne.</p>
<p>Puisque vous utilisez Linux, vous pourriez avoir quelques
difficult&eacute;s avec le support de certains FAI (et les serveurs
Intranet d'entreprise) qui ne connaissent que les clients
MS-Windows.</p>
<p>Toutefois, un nombre croissant de FAI utilisent Linux pour
offrir leur service - et Linux p&eacute;n&egrave;tre
&eacute;galement l'environnement industriel, vous devriez
r&eacute;duire ainsi les chances de rencontrer des
probl&egrave;mes.</p>
<p>La section <a href="#Info%20Serveur">Fournir les informations
dont vous avez besoin pour votre serveur PPP</a> vous explique ce
dont vous devez savoir sur le serveur PPP sur lequel vous vous
connectez et comment obtenir les informations dont vous avez
besoin.</p>
<h2><a name="ss6.4">6.4 Configurer votre modem et votre port
s&eacute;rie</a></h2>
<p>Pour se connecter &agrave; un serveur PPP et obtenir le meilleur
taux de transfert possible, votre modem doit &ecirc;tre
configur&eacute; correctement.</p>
<p>De la m&ecirc;me fa&ccedil;on, les ports s&eacute;rie de votre
modem ainsi que votre ordinateur doivent &ecirc;tre
configur&eacute;s correctement.</p>
<p>La section <a href="#Modem">Configurer votre modem et votre port
s&eacute;rie</a> fournit des informations &agrave; ce sujet.</p>
<h2><a name="ss6.5">6.5 Mettre en place la r&eacute;solution de
noms (DNS)</a></h2>
<p>En plus des fichiers qui lancent PPP et automatisent la
connexion sur le serveur PPP, il y a un grand nombre de fichiers de
configuration qui sont mis en place pour que votre ordinateur
puisse r&eacute;soudre les noms comme
<code>www.interweft.com.au</code> vers l'adresse IP qui est
r&eacute;ellement utilis&eacute;e pour contacter cet ordinateur.
Ces fichiers sont :</p>
<ul>
<li><code>/etc/resolv.conf</code></li>
<li><code>/etc/host.conf</code></li>
</ul>
<p>Voir la section <a href="#DNS">Configurer la r&eacute;solution
de nom vers l'adresse</a> pour une configuration
d&eacute;taill&eacute;e de cela.</p>
<p>En particulier, vous <b>n'avez pas besoin</b> de lancer un
serveur de nom sur votre PC Linux pour le connecter &agrave;
Internet (sauf si vous le souhaitez). Tout ce dont vous avez besoin
est de conna&icirc;tre l'adresse IP d'au moins l'un des serveurs de
noms que vous pouvez utiliser (plut&ocirc;t celui de votre
fournisseur d'acc&egrave;s).</p>
<h2><a name="ss6.6">6.6 PPP et les privil&egrave;ges root</a></h2>
<p>Puisqu'&eacute;tablir une liaison PPP entre votre ordinateur
Linux et un autre serveur PPP n&eacute;cessite la manipulation des
p&eacute;riph&eacute;riques r&eacute;seau (l'interface PPP est une
interface r&eacute;seau) et des tables de routages du noyau,
<code>pppd</code> n&eacute;cessite les privil&egrave;ges
<b>root</b>.</p>
<p>Pour des d&eacute;tails l&agrave;-dessus, voir la section
<a href="#root">Utiliser PPP et les privil&egrave;ges root</a>.</p>
<h2><a name="ss6.7">6.7 V&eacute;rifier les fichiers de votre
distribution PPP et configurer les options de PPP</a></h2>
<p>Il y a un certain nombre de fichiers de configuration et d'appel
qui doivent &ecirc;tre configur&eacute;s pour rendre PPP
op&eacute;rationnel. Des exemples sont fournis avec la distribution
de PPP et cette section montre quels fichiers il doit y avoir :</p>
<hr>
<pre>
/etc/ppp/options
/etc/ppp/scripts/ppp-on
/etc/ppp/scripts/ppp-on-dialer
/etc/ppp/options.tpl
</pre>
<hr>
<p>Vous devrez cr&eacute;er des fichiers suppl&eacute;mentaires en
fonction de ce que vous souhaitez exactement utiliser avec PPP
:</p>
<hr>
<pre>
/etc/ppp/options.ttyXX
/etc/ppp/ip-up
/etc/ppp/pap-secrets
/etc/ppp/chap-secrets
</pre>
<hr>
<p>En plus, le daemon PPP peut traiter un grand nombre d'options en
ligne de commande et il est important d'utiliser les bonnes; ainsi
cette section montre les options standard de PPP et vous aide
&agrave; choisir les options que vous utiliserez.</p>
<p>Pour les d&eacute;tails &agrave; ce sujet, voir en section
<a href="#options">Configurer les fichiers de connexion de
PPP</a>.</p>
<h2><a name="ss6.8">6.8 Si votre serveur PPP utilise PAP (Password
Authentication Protocol)</a></h2>
<p>De nombreux fournisseurs d'acc&egrave;s et serveurs PPP
utilisent PAP. Si votre serveur <b>n'a pas</b> besoin d'utiliser
PAP (si vous pouvez vous connecter &agrave; la main et recevoir les
messages textes de nom utilisateur/mot de passe il n'utilise pas
PAP), vous pouvez tranquillement ignorer cette section.</p>
<p>Plut&ocirc;t que se connecter dans de tels serveurs en utilisant
le nom utilisateur et le mot de passe quand vous &ecirc;tes
interrog&eacute;s par le serveur pour les entrer, un serveur PPP
utilisant PAP n'a pas besoin de login bas&eacute; sur du texte.</p>
<p>Les informations d'authentification de l'utilisateur sont
&eacute;chang&eacute;es &agrave; la place comme partie prenante du
protocole de contr&ocirc;le de connexion qui est la premi&egrave;re
partie de l'&eacute;tablissement d'une liaison PPP.</p>
<p>La section <a href="#pap">Si votre serveur PPP utilise PAP
(Password Authentification Protocol)</a> fournit des informations
sur les fichiers dont vous avez besoin pour &eacute;tablir une
connexion PPP en utilisant PAP.</p>
<h2><a name="ss6.9">6.9 Se connecter au serveur PPP &agrave; la
main</a></h2>
<p>Une fois les fichiers de base configur&eacute;s, c'est une bonne
id&eacute;e que d'essayer ceux-ci en se connectant (avec
<code>minicom</code> ou <code>seyon</code>) et de lancer
<code>pppd</code> sur votre PC Linux &agrave; la main.</p>
<p>Voir la section <a href="#manual">Configurer une connexion PPP
&agrave; la main</a> pour des d&eacute;tails complets.</p>
<h2><a name="ss6.10">6.10 Automatiser votre connexion PPP</a></h2>
<p>Une fois que vous pouvez vous connecter &agrave; la main, vous
allez maintenant commencer &agrave; configurer les scripts qui vont
automatiser la mise en place de la connexion.</p>
<p>La section <a href="#automatiser">Automatiser votre connexion -
Cr&eacute;er les scripts de connexion</a> couvre la configuration
des fichiers n&eacute;cessaires, et la mise en place des scripts et
du processus de login avec le serveur PPP, ainsi que des
d&eacute;tails complets sur <code>chat</code>.</p>
<p>Cette section traite des scripts d'authentification du nom
utilisateur/mot de passe ainsi que des scripts d'authentification
pour les serveurs PAP/CHAP.</p>
<h2><a name="ss6.11">6.11 Terminer la connexion</a></h2>
<p>Une fois que votre connexion est activ&eacute;e et fonctionne,
vous devez pouvoir d&eacute;sactiver la liaison.</p>
<p>Consultez la section <a href="#off">Terminer une connexion
PPP</a>.</p>
<h2><a name="ss6.12">6.12 Si vous avez des
probl&egrave;mes</a></h2>
<p>De nombreuses personnes ont des probl&egrave;mes pour faire
fonctionner PPP directement. Les diff&eacute;rences entre les
serveurs PPP et la fa&ccedil;on dont il faut configurer la
connexion sont &eacute;normes. De plus, PPP a de nombreuses options
- et certaines combinaisons d'entre elles ne fonctionnent
absolument pas ensemble.</p>
<p>En plus des probl&egrave;mes de journalisation et de
d&eacute;marrage du service PPP, il y a des probl&egrave;mes
li&eacute;s aux modems et aux lignes de t&eacute;l&eacute;phones
qui s'ajoutent !</p>
<p>La section <a href="#problemes">R&eacute;soudre les
probl&egrave;mes</a> fournit des informations de base au sujet des
erreurs classiques, et la fa&ccedil;on de les isoler et de les
corriger.</p>
<p>Elle <b>n'est toutefois pas</b> destin&eacute;e &agrave; offrir
plus que les informations de base. Al Longyear maintient la PPP-FAQ
qui contient bien plus d'informations &agrave; ce sujet !</p>
<h2><a name="ss6.13">6.13 Une fois que la connexion est
lanc&eacute;e</a></h2>
<p>Une fois que la liaison PPP est op&eacute;rationnelle
(sp&eacute;cifiquement, une fois que les trames IP fonctionnent),
<code>pppd</code> peut lancer automatiquement (comme utilisateur
<code>root</code>) un script pour accomplir n'importe quelle
fonction qu'un script peut accomplir.</p>
<p>La section <a href="#ip-up">Une fois que la connexion est
lanc&eacute;e</a> fournit des informations sur le script
<code>/etc/ppp/ip-up</code>, les param&egrave;tres que PPP lui
envoie et comment l'utiliser pour r&eacute;cup&eacute;rer votre
courrier &eacute;lectronique de votre compte de votre fournisseur
d'acc&egrave;s, ou envoyer les messages en attente de transmission
sur votre machine.</p>
<h2><a name="ss6.14">6.14 Probl&egrave;mes avec les services IP
standards et l'adresse IP dynamique de la liaison PPP.</a></h2>
<p>Comme cela est mentionn&eacute; dans l'introduction, les
adresses IP dynamiques affectent la capacit&eacute; de votre PC
Linux &agrave; agir comme un serveur sur Internet.</p>
<p>La section <a href="#dynamic-serveur">Probl&egrave;mes avec les
services IP standard et l'adresse IP dynamique de la liaison
PPP</a> fournit des informations sur les (principaux) services
affect&eacute;s et ce que vous pouvez faire (si c'est possible)
pour contourner cela.</p>
<h2><a name="Configuration du noyau"></a> <a name="s7">7.
Configurer votre noyau Linux</a></h2>
<p>Pour utiliser PPP, votre noyau Linux doit &ecirc;tre
compil&eacute; avec le support PPP. R&eacute;cup&eacute;rez le code
source de votre noyau Linux si vous ne l'avez pas encore - il se
situe dans <code>/usr/src/linux</code> dans un syst&egrave;me de
fichiers Linux standard.</p>
<p>V&eacute;rifiez ce r&eacute;pertoire - de nombreuses
distributions installent les sources (fichiers et
r&eacute;pertoires) pendant leur processus d'installation.</p>
<p>Au d&eacute;marrage, votre noyau &eacute;crit une grande
quantit&eacute;e d'informations. Parmi elles, est indiqu&eacute; si
le noyau contient le support PPP. Pour afficher ces informations,
regardez votre fichier syslog, ou utilisez <code>dmesg |
less</code> pour afficher ces informations &agrave; l'&eacute;cran.
Si votre noyau contient le support PPP, vous verrez quelques lignes
du genre</p>
<hr>
<pre>
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
PPP line discipline registered.
</pre>
<hr>
<p>(pour les noyau Linux version 2.0.x)</p>
<p>Les sources du noyau Linux sont disponibles par ftp &agrave;
<code>sunsite.unc.edu</code> ou ses nombreux miroirs, en
particulier <code>ftp.lip6.fr</code>.</p>
<h2><a name="ss7.1">7.1 Installer les sources du noyau</a></h2>
<p>La suite regroupe de br&egrave;ves instructions pour obtenir et
installer les sources du noyau Linux. Des informations
compl&egrave;tes sont disponibles a <a href=
"http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html">The Linux
Kernel HOWTO</a>.</p>
<p>Pour installer et compiler le noyau Linux vous devez &ecirc;tre
<code>root</code>.</p>
<ol>
<li>Changer de r&eacute;pertoire vers <code>/usr/src/</code><br>
<code>cd /usr/src/</code></li>
<li>V&eacute;rifier dans <code>/usr/src/linux</code> pour voir si
les sources sont d&eacute;j&agrave; install&eacute;es.</li>
<li>Si vous n'avez pas les sources, r&eacute;cup&eacute;rez les
&agrave; <a href=
"ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0">Linux kernel source
directory</a> ou sur un miroir plus proche comme
<code>ftp.lip6.fr</code>.<br>
Si vous cherchez une version plus ancienne du noyau (comme la
1.2.X), elles sont conserv&eacute;es dans <a href=
"ftp://sunsite.unc.edu/pub/Linux/kernel/old">Old Linux kernel
source directory</a>.</li>
<li>Choisissez le noyau appropri&eacute; -
g&eacute;n&eacute;ralement le plus r&eacute;cent disponible est le
meilleur. Le r&eacute;cup&eacute;rer et mettre le fichier tar dans
<code>/usr/src</code>.<br>
<b>Remarque</b>: un fichier 'tar' est une archive - parfois
compress&eacute;e (comme le sont les fichiers tar des sources du
noyau Linux) il contient de nombreux fichiers r&eacute;partis dans
plusieurs r&eacute;pertoires. C'est l'&eacute;quivalent Linux des
fichiers multi-r&eacute;pertoires sous MS-DOS.</li>
<li>Si vous avez d&eacute;j&agrave; les sources de Linux
install&eacute;es, mais que vous voulez les mettre &agrave; jour,
il faut effacer les anciens fichiers. Utiliser la commande<br>
<code>rm -rf /usr/src/linux</code></li>
<li>Maintenant d&eacute;compresser et extraire les sources avec la
commande<br>
<code>tar xzf linux-2.0.XX.tar.gz</code></li>
<li>Maintenant, <code>cd /usr/usr/linux</code> et lire le fichier
README. Il contient une excellente explication de la fa&ccedil;on
de faire pour configurer et compiler un nouveau noyau. Lisez ce
fichier (c'est une bonne id&eacute;e de l'imprimer pour en garder
une copie sous la main quand vous compilerez votre noyau
jusqu'&agrave; ce que vous l'ayez fait suffisamment pour vous
d&eacute;brouiller tout seul).</li>
</ol>
<h2><a name="ss7.2">7.2 Conna&icirc;tre votre
mat&eacute;riel</a></h2>
<p>Vous <b>DEVEZ</b> savoir quelles
cartes/p&eacute;riph&eacute;riques vous avez dans votre PC si vous
commencer &agrave; recompiler votre noyau !!! Pour certains
p&eacute;riph&eacute;riques (comme les cartes sons) vous devez
&eacute;galement connaitre quelques param&egrave;tres (comme les
IRQ et les adresse I/O et des choses du genre).</p>
<h2><a name="ss7.3">7.3 Compilation du noyau - le noyau Linux
1.2.13</a></h2>
<p>Pour commencer le processus de configuration, suivre les
instructions du fichier README pour installer les sources
correctement. Vous lancez le processus de configuration du noyau
avec</p>
<blockquote>
<pre>
<code>make config
</code>
</pre></blockquote>
<p>Pour utiliser PPP, vous devez configurer le noyau pour inclure
le support PPP (PPP a besoin DE <code>pppd</code> ET DU support de
PPP dans le noyau).</p>
<hr>
<pre>
  PPP (point-to-point) support (CONFIG_PPP) [n] y
</pre>
<hr>
<p>R&eacute;pondre aux autres questions du <code>make config</code>
en accord avec le mat&eacute;riel de votre PC et les
caract&eacute;ristiques que vous souhaitez pour votre
syst&egrave;me d'exploitation Linux. Continuer ensuite &agrave;
suivre les instructions de compilation et d'installation du
<code>README</code> pour votre nouveau noyau.</p>
<p>Le noyau 1.2.13 cr&eacute;ait seulement 4
p&eacute;riph&eacute;riques PPP. Pour les cartes s&eacute;ries
multiports, vous devez &eacute;diter les sources du noyau PPP pour
avoir plus de ports. (Voir le fichier <code>README.Linux</code>
accompagnant la distribution de PPP-2.1.2 pour des d&eacute;tails
complets des &eacute;ditions simples que vous devez faire).</p>
<p>Remarque : la configuration du noyau 1.2.13 ne permet pas de
revenir en arri&egrave;re - si vous faites une erreur en
r&eacute;pondant &agrave; une des questions dans le <code>make
config</code> quitter avec CTRL-C et recommencer.</p>
<h2><a name="ss7.4">7.4 Compilation du noyau Linux 1.3.x et
2.0.x</a></h2>
<p>Pour Linux 1.3.x et 2.0.x, vous pouvez utiliser le m&ecirc;me
processus que pour Linux 1.2.13. De m&ecirc;me, suivez les
instructions du fichier <code>README</code> pour installer les
sources correctement. Vous lancez la configuration du noyau
avec</p>
<blockquote>
<pre>
<code>make config
</code>
</pre></blockquote>
<p>Cependant, vous pouvez aussi utiliser</p>
<blockquote>
<pre>
<code>make menuconfig
</code>
</pre></blockquote>
<p>Qui fournit un syst&egrave;me de configuration avec une aide en
ligne et vous pouvez avancer et reculer dans la configuration.</p>
<p>Il y a aussi l'interface de configuration sous X-Window
chaudement recommand&eacute;e</p>
<blockquote>
<pre>
<code>make xconfig
</code>
</pre></blockquote>
<p>Vous pouvez compiler le support PPP directement dans votre noyau
ou sous la forme d'un module chargeable dynamiquement.</p>
<p>Si vous utilisez PPP occasionnellement, alors compiler le
support PPP en module chargeable est recommand&eacute;. Avec
<code>kerneld</code>, votre noyau chargera automatiquement le(s)
module(s) n&eacute;cessaires pour fournir le support PPP quand vous
lancerez une liaison PPP. Cela permet d'&eacute;conomiser une
partie de l'espace m&eacute;moire : le noyau ne peut &ecirc;tre
swapp&eacute;, alors que les modules chargeables sont
automatiquement enlev&eacute;s si ils ne sont pas
utilis&eacute;s.</p>
<p>Pour cela, vous devez activer le support des modules chargeables
:</p>
<hr>
<pre>
        Enable loadable module support (CONFIG_MODULES) [Y/n/?] y
</pre>
<hr>
<p>Pour ajouter le support PPP &agrave; votre noyau,
r&eacute;pondre &agrave; la question suivante :</p>
<hr>
<pre>
        PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?]
</pre>
<hr>
<p>Pour un module chargeable, r&eacute;pondre <b>M</b>, sinon pour
le compiler directement dans le noyau, r&eacute;pondre
<b>Y</b>.</p>
<p>A la diff&eacute;rence du 1.2.13, le noyau 2.0.x cr&eacute;e les
p&eacute;riph&eacute;riques PPP au vol et selon les besoins, et il
n'y a absolument pas besoin de bricoler le source pour augmenter le
nombre de p&eacute;riph&eacute;riques PPP.</p>
<h2><a name="ss7.5">7.5 Remarque sur PPP-2.2 et
<code>/proc/net/dev</code></a></h2>
<p>Si vous utilisez PPP-2.2, vous trouverez qu'un probl&egrave;me
de la cr&eacute;ation des p&eacute;riph&eacute;riques PPP 'au vol'
est qu'aucun p&eacute;riph&eacute;rique n'est trouv&eacute; dans le
fichier <code>/proc/net</code> tant qu'un
p&eacute;riph&eacute;rique n'est pas cr&eacute;&eacute; avec le
lancement de <code>pppd</code> :</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>Une fois que vous avez un (ou plus) services ppp lanc&eacute;s,
vous verrez des entr&eacute;es comme celles-ci (sur un serveur PPP)
:</p>
<hr>
<pre>
[root@kepler /root]# 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>
<h2><a name="ss7.6">7.6 Consid&eacute;rations
g&eacute;n&eacute;rales sur la configuration du noyau pour
PPP</a></h2>
<p>Si vous configurez votre PC Linux comme un serveur PPP, vous
devez activer le support IP Forwarding. Il est &eacute;galement
n&eacute;cessaire si vous voulez utiliser Linux pour relier deux
r&eacute;seaux locaux entre eux ou un r&eacute;seau local &agrave;
Internet.</p>
<p>Si vous reliez un r&eacute;seau local &agrave; Internet (ou
reliez deux r&eacute;seaux entre eux), vous devez &ecirc;tre
concern&eacute;s par la s&eacute;curit&eacute;. Ajouter le support
pour IP firewall dans votre noyau est alors sans doute obligatoire
!</p>
<p>Vous aurez &eacute;galement besoin, d'utiliser IP Masquerade
pour relier un r&eacute;seau local qui utilise les adresses IP non
connect&eacute;es mentionn&eacute;es plus haut.</p>
<p>Pour activer IP Masquerade et IP firewalling, vous <b>DEVEZ</b>
r&eacute;pondre Oui &agrave; la premi&egrave;re question de
<code>make config</code> :</p>
<hr>
<pre>
Prompt for developement and/or incomplete code/drivers (CONFIG_EXPERIMENTAL)?
</pre>
<hr>
<p>Bien que cela puisse sembler un peu bizarre aux nouveaux
utilisateurs, je confirme que de nombreux utilisateurs utilisent
les possibilit&eacute;s de IP Masquerading et de IP firewalling du
noyau Linux 2.0.X sans probl&egrave;mes.</p>
<p>Une fois que vous avez install&eacute; et boot&eacute; votre
nouveau noyau, vous pouvez commencer &agrave; configurer et
&agrave; tester votre liaison PPP.</p>
<h2><a name="Info Serveur"></a> <a name="s8">8. Fournir les
informations dont vous avez besoin pour votre serveur PPP</a></h2>
<p>Avant d'&eacute;tablir la connexion PPP avec un serveur, vous
devez obtenir les informations suivantes (de l'administrateur
syst&egrave;me/support utilisateur/ personnes g&eacute;rant le
serveur PPP) :</p>
<ul>
<li>Le num&eacute;ro de t&eacute;l&eacute;phone &agrave; composer
pour le service<br>
Si vous &ecirc;tes derri&egrave;re un standard, vous avez aussi
besoin du num&eacute;ro qui vous permet de sortir &agrave;
l'ext&eacute;rieur du standard - c'est g&eacute;n&eacute;ralement
le chiffre z&eacute;ro (0) ou neuf(9).</li>
<li>Est-ce que le serveur utilise des adresse IP DYNAMIQUES ou
STATIQUES ?<br>
Si le serveur utilise des adresses IP STATIQUES, vous devez savoir
quelle adresse IP utiliser &agrave; la fin de la connexion PPP. Si
votre FAI vous fournit une adresse de sous-r&eacute;seau valide,
vous devez conna&icirc;tre le masque de sous-r&eacute;seau &agrave;
utiliser (netmask).<br>
La plupart des FAI utilisent des adresses IP DYNAMIQUES. Comme cela
est mentionn&eacute; plus haut, cela a des impliquations sur les
services que vous pouvez utiliser.<br>
Cependant, m&ecirc;me si vous utilisez des adresses IP STATIQUES,
la plupart des serveurs PPP ne laisseront jamais (pour des raisons
de s&eacute;curit&eacute;) les clients sp&eacute;cifier leur
adresse IP car c'est un risque pour la s&eacute;curit&eacute;. Vous
<b>devez</b> conna&icirc;tre aussi cette information !</li>
<li>Quel sont les adresses IP des serveur de noms des fournisseurs
d'acc&egrave;s ?<br>
Il doit y en avoir au moins deux, m&ecirc;me si un seul suffit.<br>
Il peut y avoir un probl&egrave;me &agrave; ce niveau. Le service
PPP de MS Windows 95 permet que l'adresse DNS soit transmise au
client dans le processus de connexion. Ainsi, votre fournisseur
d'acc&egrave;s pourrait vous r&eacute;pondre que vous n'avez pas
besoin de l'adresse IP du serveur DNS.<br>
Avec Linux, vous <b>devez</b> conna&icirc;tre l'adresse d'au moins
un DNS. L'impl&eacute;mentation PPP de Linux ne permet pas de
configurer dynamiquement &agrave; la connexion l'adresse du serveur
DNS - et ne pourra certainement jamais.<br>
<b>Remarque</b>: bien que Linux (comme client PPP) ne peut pas
recevoir d'adresse DNS du serveur, il peut, en tant que serveur,
envoyer l'information au client en utilisant l'option
<code>dns-addr</code> de pppd.</li>
<li>Est-ce-que le serveur a besoin d'utiliser PAP/CHAP ?<br>
Si tel est le cas, vous devez conna&icirc;tre le id et le secret
que vous avez pour vous connecter. (c'est probablement votre nom
utilisateur et le mot de passe de votre fournisseur
d'acc&egrave;s).</li>
<li>Le serveur est-il un syst&egrave;me Microsoft Windows NT et,
dans ce cas, utilise-t-il le syst&egrave;me PAP/CHAP ?<br>
De nombreux fournisseurs d'acc&egrave;s semblent utiliser
MS-Windows NT de cette fa&ccedil;on pour am&eacute;liorer la
s&eacute;curit&eacute;.</li>
</ul>
<p>Attention &agrave; l'information suivante - elle risque
d'&ecirc;tre utile !</p>
<h2><a name="Modem"></a> <a name="s9">9. Configurer votre modem et
votre port s&eacute;rie</a></h2>
<p>Vous devez vous assurer que votre modem est correctement
configur&eacute; et que vous savez sur quel port s&eacute;rie il
est branch&eacute;.</p>
<p><b>Se souvenir que</b> :</p>
<ul>
<li>DOS COM1: = Linux /dev/cua0 (et /dev/ttyS0)</li>
<li>DOS COM2: = Linux /dev/cua1 (et /dev/ttyS1)<br>
etc.</li>
</ul>
<p>Il est &eacute;galement bien de se souvenir que si vous avez 4
ports s&eacute;ries, la configuration standard d'un PC est d'avoir
COM1 et COM3 partageant IRQ4 et COM2 et COM4 partageant IRQ3.</p>
<p>Si vous avez des p&eacute;riph&eacute;riques sur vos ports
s&eacute;ries qui partagent une IRQ avec votre modem vous allez
avoir des probl&egrave;mes. Vous devez vous assurer que le port
s&eacute;rie de votre modem est sur sa propre et unique IRQ. De
nombreuses cartes s&eacute;ries modernes (et les ports
s&eacute;ries des cartes m&egrave;res de bonne qualit&eacute;)
permettent de changer les IRQ des ports s&eacute;rie.</p>
<p>Si vous utilisez le noyau Linux 2, vous pouvez afficher des IRQ
actuellement utilis&eacute;s avec <code>cat
/proc/interrupts</code>, qui produira une sortie ressemblant
&agrave; :</p>
<hr>
<pre>
 0:    6766283   timer
 1:      91545   keyboard
 2:          0   cascade
 4:     156944 + serial
 7:     101764   WD8013
10:     134365 + BusLogic BT-958
13:          1   math error
15:    3671702 + serial
</pre>
<hr>
<p>Cela montre que le le port s&eacute;rie en IRQ4 (une souris) et
le port s&eacute;rie en IRQ15 (un modem permanent bas&eacute; sur
PPP pour une liaison Internet). (Il y a &eacute;galement un port
s&eacute;rie sur le port COM2, IRQ3 et COM4 est dans l'IRQ14, mais
comme ils ne sont pas utilis&eacute;s, ils ne sont pas
affich&eacute;s).</p>
<p>Avertissement - vous devez vous rendre compte de ce que vous
faites lorsque vous voulez jouer avec vos IRQ ! Non seulement, vous
devez ouvrir votre ordinateur, retirer vos cartes et jouer avec les
jumpers, mais vous devez savoir ce qu'il y a sur chaque IRQ. Dans
mon cas, j'ai un PC totalement SCSI, et j'ai donc
d&eacute;sactiv&eacute; les interfaces IDE de la carte-m&egrave;re
qui utilisent normalement les IRQ14 et 15 !</p>
<p>Je tiens &eacute;galement &agrave; pr&eacute;ciser que si votre
PC utilise un autre syst&egrave;me d'exploitation, changer les IRQ
pourrait bien signifier que votre OS ne bootera plus correctement,
ou plus du tout !</p>
<p>Si vous d&eacute;placez vos ports s&eacute;ries vers des IRQ
non-standard, vous devez sp&eacute;cifier &agrave; Linux quel IRQ
utilise chaque port. <code>setserial</code> permet de le faire, et
de pr&eacute;f&eacute;rence lors du processus de lancement dans
<code>rc.local</code> ou <code>rc.serial</code> qui est
appel&eacute; dans <code>rc.local</code> ou comme une partie de
l'initialisation SysV system. Pour la machine
pr&eacute;sent&eacute;e ci-dessus, les commandes utilis&eacute;es
sont</p>
<hr>
<pre>
/bin/setserial -b /dev/ttyS2 IRQ 11
/bin/setserial -b /dev/ttyS3 IRQ 15
</pre>
<hr>
<p>Toutefois, si vous utilisez le module s&eacute;rie charg&eacute;
dynamiquement au besoin avec le processus <code>kerneld</code>,
vous ne pouvez pas d&eacute;finir et perdre les IRQ &agrave; chaque
red&eacute;marrage. Si le module s&eacute;rie est effac&eacute;,
Linux perds alors les configurations sp&eacute;ciales.</p>
<p>Donc, si vous chargez le module s&eacute;rie &agrave; la
demande, vous devez reconfigurer les IRQ &agrave; chaque fois qu'il
est charg&eacute;.</p>
<h2><a name="ss9.1">9.1 Remarque au sujet des ports s&eacute;ries
et des capacit&eacute; de vitesse</a></h2>
<p>Si vous utilisez un modem haut d&eacute;bit (externe) (14.400
Bits par seconde ou plus), votre port s&eacute;rie doit &ecirc;tre
capable de suivre le d&eacute;bit qu'un tel modem est capable de
produire, en particulier si le modem compresse les
donn&eacute;es.</p>
<p>Cela demande que votre port s&eacute;rie utilise un
UART(Universal Asynchronous Receiver Transmitter) moderne comme un
16550(A). Si vous utilisez une vieille machine (ou une vieille
carte s&eacute;rie), il est tout &agrave; fait possible que votre
port s&eacute;rie ait seulement un UART 8250, ce qui am&egrave;nera
des probl&egrave;mes consid&eacute;rables avec un modem haute
vitesse.</p>
<p>Utiliser la commande</p>
<blockquote>
<pre>
<code>setserial -a /dev/ttySx
</code>
</pre></blockquote>
<p>Pour que Linux vous affiche le type d'UART que vous avez. Si
vous n'avez pas un UART de type 16550, acheter une nouvelle carte
s&eacute;rie (disponible pour moins de 300 F). Quand vous acheterez
une nouvelle carte, assurez vous que vous pouvez changer les IRQ
!</p>
<p>Remarque : les premi&egrave;res versions des puces UART 16550
avaient une erreur. Elle a &eacute;t&eacute; rapidement
d&eacute;couverte et une mise &agrave; jour de la puce est sortie -
l'UART 16550A. Un nombre relativement faible de puces
erron&eacute;es ont cependant &eacute;t&eacute; mises en
circulation. &Ccedil;a serait de la malchance que d'un
r&eacute;cup&eacute;rer une, en particulier sur certaines cartes
d'occasion, mais il suffit de chercher la r&eacute;ponse qui
s'appelle 16550A.</p>
<h2><a name="ss9.2">9.2 Noms des ports s&eacute;rie</a></h2>
<p>Historiquement, Linux utilise les p&eacute;riph&eacute;riques
<code>cuaX</code> pour les appels sortants et <code>ttySx</code>
pour les appels entrants.</p>
<p>Le code du noyau a eu besoin de changer cela dans la version
2.0.x du noyau, et vous devez maintenant utiliser
<code>ttySx</code> pour les appels entrants et sortants. Cela
semble annoncer que les noms de p&eacute;riph&eacute;riques
<code>cuaX</code> devraient dispara&icirc;tre dans les futures
versions du noyau.</p>
<h2><a name="ss9.3">9.3 Configuration de votre modem</a></h2>
<p>Vous devez configurer votre modem correctement pour PPP - pour
cela, <b>LISEZ LE MANUEL DE VOTRE MODEM</b> ! La plupart des modems
ont <b>une configuration par d&eacute;faut en usine</b> avec les
options requises par PPP. La configuration minimale sp&eacute;cifie
:</p>
<ul>
<li>Contr&ocirc;le de flux mat&eacute;riel (RTS/CTS)
(<code>&amp;</code>K3 sur les modems Hayes)</li>
</ul>
<p>Les autres param&egrave;tres (en commandes Hayes standard) que
vous devez v&eacute;rifier sont :</p>
<ul>
<li>La commande E1 Echo ON (n&eacute;cessaire pour que
<code>chat</code> fonctionne)</li>
<li>S0=0 Auto Answer OFF (&agrave; moins que vous ne vouliez que
votre modem r&eacute;ponde au t&eacute;l&eacute;phone)</li>
<li><code>&amp;</code>C1 Carrier Detect ON seulement apr&egrave;s
la connexion</li>
<li><code>&amp;</code>S0 Data Set Ready (DSR) toujours ON</li>
<li>(variable) Data Terminal Ready</li>
</ul>
<p>Un site fournit la configuration des modems pour une
vari&eacute;t&eacute; de fabricants et de mod&egrave;les de modems
croissante &agrave; <a href=
"http://www.in.net/info/modems/index.html">Modem setup
information</a> qui devrait vous simplifier la configuration.</p>
<p>Il est aussi int&eacute;ressant de v&eacute;rifier comment
fonctionne l'interface s&eacute;rie entre votre ordinateur et votre
modem. La plupart des modems modernes vous permettent d'utiliser
l'interface s&eacute;rie &agrave; une vitesse FIXE permettant
&agrave; l'interface avec la ligne t&eacute;l&eacute;phonique de
changer de vitesse pour atteindre la plus haute vitesse que les
deux modems peuvent supporter.</p>
<p>Cela s'appelle l'op&eacute;ration de division de la vitesse. Si
votre modem le supporte, bloquer l'interface s&eacute;rie du modem
&agrave; la vitesse disponible la plus rapide (d'habitude 115.200
bauds mais parfois 38.400 pour les modems 14.400).</p>
<p>Utiliser les outils de communication (c.-&agrave;-d.
<code>minicom</code> ou <code>seyon</code>) pour acc&eacute;der
&agrave; la configuration de votre modem, et l'adapter &agrave; ce
qui est n&eacute;cessaire &agrave; PPP. De nombreux modems
renvoient leurs r&eacute;glages courants apr&egrave;s la commande
AT<code>&amp;</code>V, mais vous devez consulter le manuel de votre
modem.</p>
<p>Si vous avez compl&egrave;tement modifi&eacute; les
r&eacute;glages, vous pouvez repartir sur des bases saines
(g&eacute;n&eacute;ralement) en envoyant AT<code>&amp;</code>F -
&ccedil;a retourne aux r&eacute;glages usine. (Pour la
majorit&eacute; des modems que j'ai rencontr&eacute;, les
r&eacute;glages usine on tout ce qu'il faut pour faire du PPP -
mais vous devez v&eacute;rifier).</p>
<p>Un fois que vous avez la commande n&eacute;cessaire pour
configurer votre modem, &eacute;crivez-l&agrave;. Vous devez
maintenant prendre une d&eacute;cision : vous pouvez stocker ces
param&egrave;tres dans la m&eacute;moire non-volatile de votre
modem, comme cela vous pourrez la relancer en envoyant une commande
AT appropri&eacute;e. Alternativement, vous pouvez passer le
param&eacute;trage correct &agrave; votre modem lors du processus
de connexion de PPP.</p>
<p>Si vous utilisez uniquement votre modem sous Linux pour appeler
votre FAI ou un serveur d'entreprise, la mani&egrave;re la plus
simple est de sauver la configuration de votre modem dans la
m&eacute;moire non-volatile.</p>
<p>D'un autre cot&eacute;, si votre modem est utilis&eacute; par
d'autres applications et syst&egrave;mes d'exploitation, il est
plus s&ucirc;r de passer ces informations au modem &agrave; chaque
appel que vous passez, comme cela, c'est s&ucirc;r que le modem
sera bien configur&eacute; lors de l'appel. (Cela a aussi
l'avantage de conserver la ligne de configuration du modem au cas
o&ugrave; le modem perdrait le contenu de sa NV-RAM, ce qui peut
parfois arriver).</p>
<h2><a name="ss9.4">9.4 Remarque sur le contr&ocirc;le de flux
s&eacute;rie</a></h2>
<p>Lorsque les donn&eacute;es transitent sur les lignes de
communication s&eacute;rie, il peut arriver que les donn&eacute;es
arrivent plus vite que l'ordinateur ne peut les traiter
(l'ordinateur peut &ecirc;tre occup&eacute; &agrave; faire autre
chose - n'oubliez pas que Linux est un syst&egrave;me
Multi-t&acirc;ches Multi-utilisateurs). Pour s'assurer que des
donn&eacute;es ne se sont pas perdues (les donn&eacute;es
n'arrivent pas dans le tampon d'entr&eacute;e pour se perdre
ensuite), certaines m&eacute;thodes de contr&ocirc;les sont
n&eacute;cessaires.</p>
<p>Il y a deux fa&ccedil;ons de faire sur des lignes s&eacute;ries
:</p>
<ul>
<li>Utiliser des signaux mat&eacute;riels (Clear To Send/Request To
Send CTS/RTS)</li>
<li>Utiliser des signaux logiciel (control S et control Q, aussi
appel&eacute;s XON/XOFF).</li>
</ul>
<p>Bien que le dernier soit correct pour les liaisons vers des
terminaux(texte), les donn&eacute;es sur une liaison PPP utilisent
les 8 bits - et il est fort probable que quelque part dans les
donn&eacute;es, un octet se traduis par un control S ou un control
Q. Donc, si un modem est configur&eacute; pour utiliser le
contr&ocirc;le de flux, les choses vont rapidement s'envenimer
!</p>
<p>Pour les liaisons &agrave; haut d&eacute;bit utilisant PPP (avec
l'utilisation des 8 bits de donn&eacute;es) le contr&ocirc;le de
flux mat&eacute;riel est vital, et c'est la raison pour laquelle
vous devez utiliser le contr&ocirc;le de flux mat&eacute;riel.</p>
<h2><a name="ss9.5">9.5 Tester votre modem pour composer un
num&eacute;ro</a></h2>
<p>Maintenant que vous en avez termin&eacute; avec la configuration
du modem et du port s&eacute;rie, il serait utile de
v&eacute;rifier si cette configuration marche vraiment en appelant
votre fournisseur d'acc&egrave;s et voir si vous pouvez vous
connecter.</p>
<p>En utilisant le paquetage du terminal de communication (tel que
<code>minicom</code>), la commande d'initialisation de votre modem
pour PPP, appelez le serveur PPP sur lequel vous voulez vous
connecter pour une session PPP.</p>
<p>(Remarque : &agrave; ce niveau, nous <b>n'essayerons pas</b>
d'&eacute;tablir la connexion PPP - mais juste d'&ecirc;tre
s&ucirc;r que nous pouvons composer un num&eacute;ro et ainsi
trouver <b>exactement</b> ce que le serveur nous envoie pour se
connecter et lancer PPP).</p>
<p>Pendant le processus, soit vous capturez (dans un fichier) la
totalit&eacute; du processus de login soit vous notez attentivement
(<em>tr&egrave;s attentivement</em>) <b>exactement</b> ce que le
serveur envoie pour savoir quand est le moment d'entrer votre nom
utilisateur et votre mot de passe (et quelques autres commandes
n&eacute;cessaires pour &eacute;tablir la connexion PPP).</p>
<p>Si votre serveur utilise PAP, vous ne verrez pas de message de
login, mais vous verrez &agrave; la place la (repr&eacute;sentation
texte) du protocole de contr&ocirc;le de liaison (une suite
incoh&eacute;rente de caract&egrave;res) s'afficher sur votre
&eacute;cran.</p>
<p>Quelques mots d'avertissements :</p>
<ul>
<li>certains serveurs sont relativement intelligents : vous pouvez
vous connecter en utilisant un nom utilisateur /mot de passe
bas&eacute; sur du texte OU en utilisant PAP. Ainsi, si votre
fournisseur d'acc&egrave;s ou votre serveur d'entreprise utilise
PAP mais n'affiche pas le message directement, cela ne signifie pas
que vous avez fait une erreur.</li>
<li>certains serveurs ont besoin que vous entriez du texte avant de
lancer <em>ensuite</em> la s&eacute;quence PAP standard.</li>
<li>Certains serveurs PPP sont passifs - il attendent et n'envoient
rien tant que le client avec lequel il dialogue ne lui envoie un
paquet LCP valide. Si le serveur PPP sur lequel vous vous connectez
fonctionne en mode passif, vous ne verrez jamais de message !</li>
<li>Certains serveurs ne lancent pas PPP tant que vous n'avez pas
press&eacute; <code>ENTREE</code> - essayez donc cela si vous
&ecirc;tes connect&eacute; et ne voyez pas de message !</li>
</ul>
<p>Il est int&eacute;ressant de dialoguer au moins deux fois -
certains serveurs changent leur message d'accueil (c.-&agrave;-d.
avec le temps !) chaque fois que vous vous connectez. Les deux
messages critiques que votre machine Linux doit pouvoir identifier
chaque fois que vous vous vous connectez sont :</p>
<ul>
<li>le message qui vous demande d'entrer votre nom utilisateur
;</li>
<li>le message qui vous demande d'entrer votre mot de passe ;</li>
</ul>
<p>Si vous avez tap&eacute; une commande pour lancer PPP sur le
serveur, vous devez aussi rechercher le message que le serveur vous
envoie une fois que vous &ecirc;tes connect&eacute; pour vous
informer que vous pouvez entrer la commande pour lancer ppp.</p>
<p>Si votre serveur lance automatiquement PPP, une fois que vous
&ecirc;tes connect&eacute;, vous allez voir des caract&egrave;res
s'afficher sur votre &eacute;cran - c'est le serveur PPP qui envoie
&agrave; votre machine les informations pour d&eacute;marrer et
configurer la connexion PPP.</p>
<p>&Ccedil;a doit donner quelque chose comme ceci :</p>
<hr>
<hr>
<p>(et &ccedil;a ne s'arr&ecirc;te pas !)</p>
<p>Sur certains syst&egrave;mes, PPP doit &ecirc;tre explicitement
lanc&eacute; sur le serveur. Cela vient g&eacute;n&eacute;ralement
du fait que le serveur a &eacute;t&eacute; configur&eacute; pour
permettre aux connexions PPP et aux connexions Shell a utiliser les
m&ecirc;mes paires nom utilisateur/mot de passe. Si c'est le cas,
envoyez cette commande lorsque vous &ecirc;tes connect&eacute;. Une
nouvelle fois vous verrez des caract&egrave;res que le serveur
envoie &agrave; la fin du lancement de la connexion PPP.</p>
<p>Si vous ne voyez pas directement apr&egrave;s la connexion (et
le processus de connexion et le lancement du serveur PPP si
besoin), tapez <b>Entr&eacute;e</b> pour voir si le serveur PPP
d&eacute;marre...</p>
<p>A ce niveau, vous pouvez raccrocher votre modem
(g&eacute;n&eacute;ralement, taper <code>+++</code> rapidement et
envoyer la commande ATHO une fois que votre modem vous a
r&eacute;pondu OK).</p>
<p>Si vous n'arrivez pas &agrave; faire fontionner votre modem,
lisez le manuel du modem, les pages de manuel des programmes de
communication, et le Serial HOWTO ! Une fois que vous aurez fait
tout cela reprenez l'&eacute;tape pr&eacute;c&eacute;dente.</p>
<h2><a name="DNS"></a> <a name="s10">10. Configurer la
r&eacute;solution de nom vers l'adresse (DNS)</a></h2>
<p>Alors que les humains aiment donner des noms aux choses, les
ordinateurs pr&eacute;f&egrave;rent les nombres. Sur un
r&eacute;seau TCP/IP (comme Internet), nous appelons les machines
avec un nom particulier et chaque machine se trouve dans un
<code>"</code>domaine<code>"</code> particulier. Par exemple, ma
station de travail Linux s'appelle <b>archenland</b> et se trouve
dans le domaine <b>interweft.com.au</b>. Son adresse lisible par un
humain est donc archenland.interweft.com.au (qui s'appelle le FQDN
- nom de domaine totalement qualifi&eacute;).</p>
<p>Cependant, pour que cette machine soit trouv&eacute;e par les
autres ordinateurs sur Internet, elle est r&eacute;ellement connue
par son adresse IP lorsque les ordinateurs communiquent &agrave;
travers Internet.</p>
<p>Traduire (r&eacute;soudre) les noms de machines (et de domaine)
en nombres r&eacute;ellement utilis&eacute;s sur Internet est le
travail de machines qui offrent le DNS.</p>
<p>Ce qui se passe en fait :</p>
<ul>
<li>Votre machine &agrave; besoin de savoir l'adresse IP d'un
ordinateur particulier. L'application qui a besoin de cette
information interroge le resolveur de votre PC Linux pour obtenir
cette information;</li>
<li>Le r&eacute;solveur interroge le fichier local
<code>/etc/hosts</code> et/ou les serveurs de noms des domaines
qu'il conna&icirc;t (le comportement exact du r&eacute;solveur est
d&eacute;termin&eacute; dans <code>/etc/hosts.conf</code>);</li>
<li>si la r&eacute;ponse se trouve dans le fichier
<code>hosts</code>, la r&eacute;ponse est renvoy&eacute;e;</li>
<li>si un serveur de nom est sp&eacute;cifi&eacute;, votre PC
interroge alors cette machine</li>
<li>si la machine DNS conna&icirc;t d&eacute;j&agrave; l'adresse IP
du nom demand&eacute;, elle le retourne. Si elle ne le
conna&icirc;t pas, elle interroge un autre serveur de noms sur
Internet pour trouver l'information. Le serveur de noms redescend
alors les informations au r&eacute;solveur qui les a demand&eacute;
- qui les envoie &agrave; l'application qui l'a
interrog&eacute;.</li>
</ul>
<p>Quand vous utilisez une connexion PPP, vous devez indiquer
&agrave; votre machine Linux o&ugrave; elle peut
r&eacute;cup&eacute;rer l'adresse IP &agrave; partir du nom
(r&eacute;solution des adresses), comme cela <b>vous pourrez
utiliser le nom des machines</b> mais votre ordinateur pourra
traduire ces derniers vers les adresses IP dont il a besoin pour
travailler.</p>
<p>Une solution est de rentrer tous les h&ocirc;tes avec qui vous
voulez dialoguer dans le fichier <code>/etc/hosts</code> (ce qui
est en r&eacute;alit&eacute; totalement impossible si vous
&ecirc;tes connect&eacute; &agrave; Internet); une autre
fa&ccedil;on est d'utiliser les adresses IP plut&ocirc;t que les
noms (une t&acirc;che de m&eacute;morisation impossible sauf pour
les petits r&eacute;seaux).</p>
<p>La meilleure fa&ccedil;on est de configurer Linux pour qu'il
connaisse ou r&eacute;cup&egrave;re l'information de conversion des
noms en adresses - automatiquement. Ce service est fourni par le
syst&egrave;me DNS. La seule chose &agrave; faire est d'entrer
l'adresse IP des serveurs de noms dans le fichier
/etc/resolv.conf.</p>
<h2><a name="ss10.1">10.1 Le fichier
<code>/etc/resolv.conf</code></a></h2>
<p>Le support client de votre serveur PPP doit vous fournir deux
adresses IP de DNS (un seul est n&eacute;cessaire - mais deux
permettent une redondance en cas d'&eacute;chec).</p>
<p>Comme c'est mentionn&eacute; plus haut, Linux ne peut pas
d&eacute;finir l'adresse IP de son serveur de noms comme MS Windows
95 le fait. Ainsi, vous devez <b>insister</b> (poliment)
aupr&egrave;s de votre FAI pour qu'il vous fournisse cette
information !</p>
<p>Votre <code>/etc/resolv.conf</code> doit ressembler &agrave;
quelque chose comme :</p>
<hr>
<pre>
domain votre.nom.de.domaine
nameserver 10.25.0.1
nameserver 10.25.1.2
</pre>
<hr>
<p>&Eacute;diter ce fichier (le cr&eacute;er si n&eacute;cessaire)
pour contenir les informations que votre FAI vous a donn&eacute;.
Il doit avoir les droits et les permissions comme suit :</p>
<blockquote>
<pre>
<code>-rw-r--r--   1 root     root           73 Feb 19 01:46 /etc/resolv.conf
</code>
</pre></blockquote>
<p>Si vous avez d&eacute;j&agrave; configur&eacute; un
<code>/etc/resolv.conf</code> car vous &ecirc;tes sur un
r&eacute;seau local, ajoutez simplement les adresses IP du serveur
DNS PPP dans votre fichier existant.</p>
<h2><a name="ss10.2">10.2 Le fichier
<code>/etc/hosts.conf</code></a></h2>
<p>Vous devez &eacute;galement v&eacute;rifier que votre fichier
<code>/etc/hosts.conf</code> est correctement configur&eacute;. Il
doit ressembler &agrave;</p>
<hr>
<pre>
order hosts,bind
multi on
</pre>
<hr>
<p>Il indique au r&eacute;solveur d'utiliser les informations du
fichier host avant d'envoyer les requ&ecirc;tes pour une
r&eacute;solution DNS.</p>
<h2><a name="root"></a> <a name="s11">11. Utiliser PPP et les
privil&egrave;ges <b>root</b></a></h2>
<p>Puisque PPP &agrave; besoin de configurer les
p&eacute;riph&eacute;riques r&eacute;seau, modifier les tables de
routage entre autres, il a besoin des privil&egrave;ges
<b>root</b>.</p>
<p>Si des utilisateurs autres que <b>root</b> doivent lancer des
connexions PPP, le programme <code>pppd</code> doit avoir l'uid
<b>root</b> :</p>
<blockquote>
<pre>
<code>-rwsr-xr-x   1 root     root        95225 Jul 11 00:27 /usr/sbin/pppd
</code>
</pre></blockquote>
<p>Si <code>/usr/sbin/pppd</code> n'est pas d&eacute;fini comme
cela, alors <b>en &eacute;tant root</b> taper la commande :</p>
<blockquote>
<pre>
<code>chmod u+s /usr/sbin/pppd
</code>
</pre></blockquote>
<p>Cela permet &agrave; <code>pppd</code> de fonctionner avec les
privil&egrave;ges <code>root</code> <b>m&ecirc;me</b> i si le
programme est lanc&eacute; par un utilisateur ordinaire. Ainsi
<code>pppd</code> a les bons privil&egrave;ges pour configurer les
interfaces r&eacute;seau et les tables de routage.</p>
<p>Les programmes qui utilisent le uid root sont autant de trous de
s&eacute;curit&eacute; potentiels et vous devez &ecirc;tre
extr&ecirc;mement vigilant par rapport aux programmes uid root. De
nombreux programmes (comme <code>pppd</code>) ont &eacute;t&eacute;
&eacute;crits minutieusement pour minimiser le danger d'utiliser
suit root, vous devez donc &ecirc;tre tranquille avec celui-ci
(mais sans garanties totales).</p>
<p>Selon ce que vous voulez faire de votre syst&egrave;me -
particuli&egrave;rement si vous voulez qu'un utilisateur puisse
initialiser une liaison PPP, vous devez mettre vos scripts
<code>ppp-on/off</code> lisibles et ex&eacute;cutables par tout le
monde. (c'est sans doute g&eacute;nial si vous &ecirc;tes le SEUL
utilisateur du PC).</p>
<p>Cependant, si vous NE voulez PAS que n'importe qui puisse lancer
une connexion PPP (par exemple, votre enfant qui a un compte sur
votre PC Linux et que vous ne voulez pas qu'il se connecte &agrave;
Internet sans votre permission), vous devez faire un groupe PPP (en
tant que <code>root</code>, &eacute;diter le fichier
<code>/etc/group</code>) et :</p>
<ul>
<li>Rendre <code>pppd</code> 'suid root', poss&eacute;d&eacute; par
l'utilisateur <b>root</b> et le groupe PPP, avec ces nouvelles
permissions sur le fichier. Il doit ressembler &agrave;
<blockquote>
<pre>
<code>-rwsr-x---   1 root     PPP        95225 Jul 11 00:27 /usr/sbin/pppd
</code>
</pre></blockquote>
</li>
<li>Mettre les scripts <code>ppp-on/off</code>
poss&eacute;d&eacute;s par l'utilisateur <b>root</b> et le groupe
<b>PPP</b></li>
<li>Rendre le script <code>ppp-on/off</code>
lisible/ex&eacute;cutable par le groupe PPP
<blockquote>
<pre>
<code>  -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
</code>
</pre></blockquote>
</li>
<li>Ajouter les utilisateurs qui utilisent PPP dans le groupe PPP
dans <code>/etc/group</code></li>
</ul>
<p>M&ecirc;me si vous faites cela, les utilisateurs normaux ne
pourront pas fermer la connexion avec un programme ! Utiliser
<code>ppp-off</code> n&eacute;cessite les privil&egrave;ges
<b>root</b>. M&ecirc;me si n'importe quel utilisateur peut
&eacute;teindre le modem (ou d&eacute;connecter la ligne
t&eacute;l&eacute;phonique sur un modem interne).</p>
<p>Un alternative (et une meilleure m&eacute;thode) de faire cela
est d'utiliser le programme <code>sudo</code>, qui offre une
meilleure s&eacute;curit&eacute; et vous permettra de choisir quels
utilisateurs (autoris&eacute;s) pourrons activer/d&eacute;sactiver
la liaison en utilisant des scripts. Utiliser <code>sudo</code>
permet aux utilisateurs autoris&eacute;s
d'activer/d&eacute;sactiver la liaison PPP de fa&ccedil;on propre
et s&eacute;curis&eacute;e.</p>
<h2><a name="options"></a> <a name="s12">12. Configurer les
fichiers de connexion de PPP</a></h2>
<p>Maintenant, vous devez &ecirc;tre connect&eacute; en tant que
<b>root</b> pour cr&eacute;er les r&eacute;pertoires et
&eacute;diter les fichiers n&eacute;cessaires &agrave; la
configuration de PPP, m&ecirc;me si vous souhaitez que PPP soit
utilisable par tous les utilisateurs.</p>
<p>PPP utilise un certain nombre de fichiers pour configurer les
connexions. Ceux-ci diff&egrave;rent dans leur nom et les chemins
entre PPP 2.1.2 et 2.2.</p>
<p>Pour PPP 2.1.2 les fichiers sont :</p>
<hr>
<pre>
/usr/sbin/pppd          # le programme PPP
/usr/sbin/ppp-on        # le script d'appel/connexion
/usr/sbin/ppp-off       # le script de d&eacute;connexion
/etc/ppp/options        # les options utilis&eacute;es pour toutes le connexions
/etc/ppp/options.ttyXX  # les options sp&eacute;cifiques pour ce connecter sur ce port
</pre>
<hr>
<p>Pour PPP 2.2. les fichiers sont :</p>
<hr>
<pre>
/usr/sbin/pppd                  # Le programme PPP
/etc/ppp/scripts/ppp-on         # le script d'appel connexion
/etc/ppp/scripts/ppp-on-dialer  # premi&egrave;re partie du script d'appel
/etc/ppp/scripts/ppp-off        # le script chat r&eacute;el
/etc/ppp/options                # options utilis&eacute;es par pppd pour toutes les 
                                # connexions
/etc/ppp/options.ttyXX          # options sp&eacute;cifiques pour se connecter sur ce
                                # port
</pre>
<hr>
<p>Je rappelle aux utilisateurs de la RedHat Linux que dans
l'installation standard de la Red Hat 4.X les scripts sont
plac&eacute;s dans <code>/usr/doc/ppp-2.2.0f-2/scripts</code>.</p>
<p>Dans votre r&eacute;pertoire <code>/etc</code>, il devrait y
avoir un r&eacute;pertoire <b>ppp</b> :</p>
<blockquote>
<pre>
<code>drwxrwxr-x   2 root     root         1024 Oct  9 11:01 ppp
</code>
</pre></blockquote>
<p>S'il n'existe pas - le cr&eacute;er avec ces possessions et
permissions.</p>
<p>Si le r&eacute;pertoire existe d&eacute;j&agrave;, il devrait
contenir un fichier d'options mod&egrave;le appel&eacute;
<b>options.tpl</b>. Ce fichier est inclus plus bas au cas o&ugrave;
il n'existerait pas.</p>
<p>Imprimez-le il contient une explication de presque toutes les
options de PPP et c'est pratique de le lire en m&ecirc;me temps que
les pages de manuel de ppp). M&ecirc;me si vous pouvez utiliser ce
fichier comme base &agrave; votre <code>/etc/ppp/options</code>, il
est sans doute mieux de cr&eacute;er votre propre fichier d'options
qui ne contiendra pas tous les commentaires du mod&egrave;le - il
sera bien plus court, et plus facile &agrave; lire/maintenir.</p>
<p>Si vous avez une ligne s&eacute;rie/modems multiple (c'est
typiquement le cas des serveurs PPP), cr&eacute;er un fichier
g&eacute;n&eacute;ral <code>/etc/ppp/options</code> contenant les
options communes &agrave; tous les ports s&eacute;ries dans lequel
vous supportez la composition et la r&eacute;ception d'appels et un
fichier de configuration individuel pour chaque ligne s&eacute;rie
sur laquelle vous &eacute;tablirez la configuration individuelle
n&eacute;cessaire pour chaque port.</p>
<p>Ces fichiers d'options sp&eacute;cifiques aux ports sont
appel&eacute;s <code>options.ttyx1</code>,
<code>options.ttyx2</code> et ainsi de suite (ou x est la lettre
appropri&eacute;e pour votre port s&eacute;rie).</p>
<p>Toutefois, pour une connexion simple, vous pouvez tranquillement
utiliser le fichier <code>/etc/ppp/options</code>. Vous pouvez
aussi mettre toutes les options comme argument de la commande
<code>pppd</code> elle-m&ecirc;me.</p>
<p>Il est plus simple de maintenir une configuration qui utilise
les fichiers <code>/etc/ppp/options.ttySx</code>. Si vous utilisez
PPP sur diff&eacute;rents sites, vous pouvez cr&eacute;er un
fichier d'options pour chaque site dans
<code>/etc/ppp/options.site</code>, et ainsi sp&eacute;cifier le
fichier d'options en param&egrave;tre &agrave; la commande PPP
lorsque vous vous connectez (en utilisant l'option <code>file
option-file</code> de <code>pppd</code> dans la ligne de commande
de <code>pppd</code>).</p>
<h2><a name="ss12.1">12.1 Le fichier options.tpl fourni</a></h2>
<p>Certaines distributions de PPP semblent avoir perdu le fichier
options.tpl, donc voici le fichier complet. Je sugg&egrave;re de NE
PAS &eacute;diter ce fichier pour cr&eacute;er votre fichier(s)
<code>/etc/ppp/options</code>. Copiez plut&ocirc;t celui-ci dans un
nouveau fichier et &eacute;ditez-le alors. Si vous vous trompez
dans votre &eacute;dition, vous pourrez toujours revenir en
arri&egrave;re en recommen&ccedil;ant sur l'original.</p>
<hr>
<pre>
# /etc/ppp/options -*- sh -*- fichiers d'options generales pour pppd
# cree le 13-Jul-1995 jmk
# autodat&eacute;: 01-Aug-1995
# autotime: 19:45
# adaptation francaise par Antoine Levavasseur levavass@efrei.fr

# Utilise l'executable ou la commande shell specifiee pour configurer la ligne
# serie. Ce script va en fait utiliser le programme "chat" pour appeler le
# modem et le debut de la liaison distante ppp.
#connect "echo Vous devez installer une commande connect."

# Lance l'executable ou la commande shell specifie, une fois que ppp a termine
# la liaison. Ce script va, par exemple, envoyer les commandes au modem pour le
# faire raccrocher si les signaux de controles mat&eacute;riels ne sont pas 
# disponibles.
#disconnect "chat -- \d+++\d\c OK ath0 OK"

# table de caractere async -- 32-bit hex; chacun des bit est un caractere qui
# doit etre echappe pour que pppd le recoive.  0x00000001 represente '\x01', 
# et 0x80000000 represente '\x1f'.
#asyncmap 0

# Demande a votre correspondant de s'authentifier avant de pouvoir envoyer ou
# recevoir des paquets reseaux
#auth

# Utilise le controle de flux materiel (i.e. RTS/CTS) pour controler le flux
# de donnees du port s&eacute;rie
#crtscts

# Utilise le controle de flux logiciel (i.e. XON/XOFF) pour controler le flux
# de donnees du port serie.
#xonxoff
# Ajouter une route par defaut aux tables de routage systeme, pour utiliser
# votre correspondant comme gateway, lorsque la negociation ICP reussi. Cette
# entree est supprimee lorsque la connexion PPP se termine.
#defaultroute

# Specifie que certains caracteres doivent etre echapes sur la transmission
# (en fonction de la facon dont le client souhaite qu'ils soient echappes avec
# la table de controle async). Les caracteres qui sont echappes sont specifies
# comme une liste de nombres hexa separes par des guillemets. La plupart des
# caracteres peuvent etres specifies avec l'option escape, a moins que l'option 
# asyncmap soit activee puisque dans ce cas seuls les caracteres de controle
# peuvent etres specifies. Les caracteres qui ne peuvent etre echapes ont les
# valeurs hexa 0x20 - 0x3f ou 0x5e.
#escape 11,13,ff

# Ne pas utiliser les lignes de controle du modem
#local

# Specifie que pppd doit utiliser un verouillage du peripherique serie style
# UUCP pour s'en assurer un acces exclusif.
#lock

# Utilise les lignes de controle du modem. Sur un Ultrix, cette option implique
# un controle de flux materiel, comme avec l'option crtscts. (Cette option 
# n'est pas completement implementee.)
#modem

# Definit la valeur MRU [Unite de Reception Maximum] a n pour la negociation.
# pppd demandera alors de se faire renvoyer les paquets pour au plus &lt;n&gt; octets
# La valeur MRU minimale est de 128. La valeur par defaut est 1500. La valeur
# 296 est recommandee pour les liaisons lentes (40 octets pour l'entete TCP/IP
# + 256 octets de donnees).
#mru 542

# Definit le masque reseau avec &lt;n&gt; qui est un masque reseau 32 bit en 
# "chiffres decimaux" note (e.g 255.255.255.0).
#netmask 255.255.255.0

# Desactive le comportement par defaut lorsque aucune adresse IP n'est 
# specifiee, et qu'elle est determine (quand c'est possible) a partir du
# hostname. Avec cette option, votre correspondant devra vous fournir votre
# adresse IP locale pendant la negotiation IPCP (a moins que cela ne soit
# specifie explicitement dans la ligne de commande ou un fichier d'options)
#noipdefault

# Active l'option passive sur le LCP. Avec cette option, pppd, essayera 
# d'initier la connexion; si aucune reponse n'est recue de votre correspondant,
# pppd attendra passivement un packet LCP (au lieu de s'arreter comme il fait
# sans cette option)
#passive

# Avec cette option, pppd ne va pas transmettre les paquets LCP pour 
# initialiser la connexion tant qu'un paquet LCP valide n'est pas envoye
# par votre correspondant (comme avec l'option "passive" pour des versions
# plus anciennes de pppd).
#silent

# Ne requiert et ne permet pas de negociation pour n'importe quelle option de
# LCP et IPCP (utilise  les valeurs par defaut).
#-all

# Desactive la negociation de la compression d'adresses/controle (utilise les
# reglages par defaut, i.e. le champ adresse/controle desactive)
#-ac

# Desactive la negociation asyncmap (utilise le reglage asyncmap par defaut,
# i.e. echappement de tout les caracteres de controle)
#-am

# Ne forke pas pour devenir un processus en tache de fond (sinon pppd le fera
# si un peripherique serie est specifie).
#-detach

# Desactive la negociation d'adresses IP (avec cette option, l'adresse IP
# distante doit etre specifiee avec une option en ligne de commande ou dans
# un fichier d'options).
#-ip

# Desactive la negociation des nombres magiques. Avec cette option, pppd ne
# peut pas detecter une ligne avec une boucle.
#-mn

# Desactive la negociation MRU [Unite de Reception Maximum] (utilise la valeur
# par defaut, i.e. 1500).
#-mru

# Desactive la negociation du protocole de compression par champ (utilise la
# valeur par defaut, i.e le protocole de compression par champs desactive)
#-pc

# Impose a votre corresondant de s'autentifier avec PAP. Cela necessite une
# authentification des DEUX COTES - NE PAS utiliser pour une liaison standard
# authentifiee par PAP vers un FAI puisqu'il faudra que la machine du FAI
# soit authentifie aupres de votre machine (et ce qu'elle ne pourra pas faire).
#+pap

# Refuse d'utiliser l'authentification avec PAP.
#-pap

# Oblige votre correspondant a s'authentifier avec une authentification
# CHAP [Cryptographic Handshake Authentication Protocol]
# Cela necessite une authentification des DEUX COTES - ne PAS utiliser pour une
# liaison avec un FAI puisqu'il faudra que la machine du FAI
# soit authentifie aupres de votre machine (et ce qu'elle ne pourra pas faire).
#+chap

# Refuse d'utiliser l'authentification avec CHAP.
#-chap

# Desactive la negociation de la compression de l'entete IP style Van Jacobson
# (utilise la valeur par defaut, i.e. pas de compression).
#-vj
# Augmente de niveau de deboguage (comme -d). Si cette option est passee, pppd
# enverra dans le log le contenu de tous les paquets de controle envoyes ou 
# recus dans une forme lisible. Les paquets seront envoyes dans syslog avec les
# possibilites des daemons et du niveau de deboguage. Ces informations peuvent
# etre diriges dans un fichier en configurant /etc/syslog.conf correctement
# (voir syslog.conf(5)). (Si pppd est compile avec des options de deboguage
# supplementaires, il enverra les messages de log dans local2 au lieu du 
# daemon).
#debug

# Ouvre le nom de domaine &lt;d&gt; pour permettre l'authentification de nom d'hote
# local. Par exemple, si gethostname() retourne le nom porsche,
# mais le nom de domaine qualifie est porsche.Quotron.COM, vous devriez
# utiliser l'option domain pour mettre le nom de domaine a Quotron.COM.
#domain &lt;d&gt;

# Active le code de deboguage du pilote PPP au niveau du noyau. L'argument n
# est un nombre qui est la somme des valeurs suivantes : 1 active les messages
# de deboguage generaux, 2 pour que le contenu des paquets recus soient 
# affiches, et 4 pour que le contenu des paquets envoyes soient affiches.
#kdebug n

# Configure la valeur MTU [Unitee de Transmission Maximum] a &lt;n&gt;. A moins
# que votre correspondant ne demande une valeur plus petite lors de la
# negociation MRU, pppd demande que les codes reseaux du noyau envoie des
# paquets d'au plus n octets dans l'interface reseau PPP.
#mtu &lt;n&gt;

# Definit le nom du systeme local avec &lt;n&gt; dans un but d'authentification.
# Cela doit certainement avoir ete configure avec votre nom utilisateur de votre
# FAI si vous utilisez PAP/CHAP. 
#name &lt;n&gt;

# Definit le nom utilisateur avec &lt;u&gt; pour l'authentification avec le 
# correspondant utilisant PAP .
# Ne pas utiliser si vous utilisez le 'name' au-dessus !
#user &lt;u&gt;

# Force l'utilisation du nom d'hote comme nom du systeme local pour les
# authentification (masque l'option name).
#usehostname

# Configure le nom du systeme distant pour les authentifications a &lt;n&gt;.
#remotename &lt;n&gt;

# Ajoute une entree au systeme des tables ARP [Protocole de Resolution 
# d'Adresses] avec l'adresse IP de votre correspondant et l'adresse Ethernet
# de ce syteme.
#proxyarp

# Utilise le systeme de base de donnes de mots de passe pour l'authentification
# de votre correspondant avec PAP.
#login

# Si cette option est passee, pppd va envoyer une requete-echo LCP a votre
# correspondant toutes les n secondes. Sous Linux, une requete-echo est envoyee
# lorsqu'aucun paquet n'a ete recu du correspondant depuis n secondes. 
# Normalement, le correspondant doit repondre a la requete-echo en envoyant une
# reponse-echo. Cette option peut etre utilise avec l'option lcp-echo-failure
# pour detecter que le correspondant n'est plus connecte.
#lcp-echo-interval &lt;n&gt;

# Si cette option est passe, pppd va supposer que le correspondant est mort
# si n requetes-echo LCP sont envoyees sans recevoir de reponse-echo LCP
# valide. Si cela arrive, pppd va terminer la connexion. Utiliser cette option
# necessite une valeur non nulle pour le parametre lcp-echo-interval.
# Cette option peut etre utilisee pour permettre a pppd de terminer une fois 
# qu'une connexion pppd ait ete cassee (c.-a-d. le modem a ete raccroche) dans 
# les situations ou aucune ligne de controle materiel du modem n'est 
# disponibles
#lcp-echo-failure &lt;n&gt;

# Definit l'intervale relance LCP (delay de retransmission) a &lt;n&gt; secondes
# (defaut 3).
#lcp-restart &lt;n&gt;

# Definit le nombre maximal de transmission de requete-fin de LCP a &lt;n&gt;
# (defaut 3).
#lcp-max-terminate &lt;n&gt;

# Definit la nombre maximum de transmission de requete-configure LCP a &lt;n&gt;
# (defaut 10).
# Certains serveurs PPP sont lents a demarrer. Vous devrez alors augmenter 
# ceci si vous avez des erreurs 'serial line looped back' et que vous etes
# SUR que vous etes connecte correctement et que PPP doit demarrer sur le 
# serveur.
#lcp-max-configure &lt;n&gt;

# Definit le nombre maximum de retours LCP configure-NAKs avant de commencer
# a envoyer des configure-Rejects a la place a &lt;n&gt; (defaut 10).
#lcp-max-failure &lt;n&gt;

# Definit l'intervale de relancce de IPCP (temps de retransmission) a &lt;n&gt; 
# secondes (defaut 3).
#ipcp-restart &lt;n&gt;

# Definit le nombre maximum de transmission de requete-fin IPCP a &lt;n&gt;
# (defaut 3).
#ipcp-max-terminate &lt;n&gt;

# Definit la nombre maximum de transmission de requete-configure IPCP a &lt;n&gt;
# (defaut 10).
#ipcp-max-configure &lt;n&gt;

# Definit la nombre maximem de retour configure-NAKs IPCP avant de commencer
# a envoyer des configure-Rejects a la place a &lt;n&gt; (defaut 10).
#ipcp-max-failure &lt;n&gt;

# Definit l'intervalle de relance PAP (temps de retransmission) a &lt;n&gt; secondes
# (defaut 3).
#pap-restart &lt;n&gt;

# Definit le nombre maximum de transmission de requete-d'authentification PAP
# a n (defaut 10)
#pap-max-authreq &lt;n&gt;

# Definit les intervales de relance de CHAP (temps de retransmission) a &lt;n&gt;
# secondes (defaut 3).
#chap-restart &lt;n&gt;

# Definit le nombre maximal d'essai de  transmission de CHAP a &lt;n&gt;
# (defaut 10).
#chap-max-challenge

# Si cette option est passee, pppd va relancer votre correspondant toutes les
# &lt;n&gt; secondes.
#chap-interval &lt;n&gt;

# Avec cette option, pppd va accepter la proposition de votre correspondant
# pour votre adresse IP locale, meme si l'adresse IP est specifiee en option.
#ipcp-accept-local

# Avec cette option, pppd va accepter la proposition d'adresse IP (distante),
# meme si l'adresse distante est specifiee en option.
#ipcp-accept-remote
</pre>
<hr>
<h2><a name="ss12.2">12.2 Quelles options dois-je utiliser ? (Sans
PAP/CHAP)</a></h2>
<p>En fait, comme toujours, &ccedil;a d&eacute;pend. Les options
sp&eacute;cifi&eacute;es ici devraient marcher avec la plupart des
serveurs.</p>
<p>Cependant, si &ccedil;a NE fonctionne PAS LISEZ LE FICHIER
MODELE (<code>/etc/ppp/options.tpl</code>) <b>et</b> les pages de
manuel de <code>pppd</code> <b>et</b> demandez &agrave; votre
administrateur/support client qui fait marcher le serveur sur
lequel vous vous connectez.</p>
<p>Je rappelle &eacute;galement que les scripts de connexion
pr&eacute;sent&eacute;s ici utilisent &eacute;galement des options
en ligne de commande pour <code>pppd</code> et rendre les choses
plus facilement modifiables.</p>
<hr>
<pre>
# /etc/ppp/options (NO PAP/CHAP)
#
# Empeche pppd de forker en tache de fond
-detach
#
# utilise les lignes de controle du modem
modem
# utilise les verrous style uucp pour assurer une utilisation exclusive du 
# port serie
lock
# utilise le flux de controle materiel
crtscts
# creer une route par defaut pour cette connexion dans la table de routage
defaultroute
# ne configure aucune sequence de controle echapee
asyncmap 0
# utlise une taille maximale de paquet transmis de 552 octets
mtu 552
# utilise une taille maximale de paquets recus de 552 octets.
mru 552
#
#-------FIN D'EXEMPLE /etc/ppp/options (sans PAP/CHAP)
</pre>
<hr>
<h2><a name="pap"></a> <a name="s13">13. Si votre serveur PPP
utilise PAP (Password Authentification Protocol)</a></h2>
<p>Si le serveur sur lequel vous vous connectez a besoin de
l'authentification PAP ou CHAP, vous avez un petit peu plus de
travail.</p>
<p>Pour les fichiers de configuration pr&eacute;c&eacute;dents,
ajouter les lignes suivantes :</p>
<hr>
<pre>
#
# force pppd a utiliser le nom utilisateur de FAI comme 'nom d'hote' pendant
# le processus d'authentification
name &lt;le nom de votre FAI&gt;       # vous devez editer cette ligne
#
# Si vous avez un *serveur* PPP vous devez forcer PAP ou CHAP en decommentant
# l'une des lignes suivantes. Ne pas les utiliser si vous etes un client qui
# se connecte sur un serveur PPP (meme s'il utilise PAP ou CHAP) puisque cela
# forcera le serveur a s'authentifier aupres de votre machine (alors que cela
# ne sera certainement pas possible - et la liaison echouera).
#+chap
#+pap
#
# Si vous utilisez des secrets ENCRYPTES dans le fichier /etc/ppp/pap-secrets,
# alors decommentez la ligne suivante.
# Remarque: ce n'est pas pareil que d'utiliser les mots de passe MS encryptes
# comme ils peuvent etres avec MS RAS sur Windows NT.
#+papcrypt
</pre>
<hr>
<h2><a name="ss13.1">13.1 Utiliser MSCHAP</a></h2>
<p>Microsoft Windows NT RAS peut &ecirc;tre configur&eacute; pour
utiliser une variation particuli&egrave;re de CHAP
(Challenge/Handshake Authentication Protocol). Dans l'archive des
sources de PPP, vous devriez trouver un fichier appel&eacute;
README.MSCHAP80 qui parle de cela.</p>
<p>Vous pouvez d&eacute;terminer si le serveur demande une
authentification utilisant ce protocole en activant le deboguage
dans <code>pppd</code>. Si le serveur demande une authentification
MS CHAP, vous devriez voir les lignes</p>
<hr>
<pre>
rcvd [LCP ConfReq id=0x2 &lt;asyncmap 0x0&gt; &lt;auth chap 80&gt; &lt;magic 0x46a3&gt;]
</pre>
<hr>
<p>L'information critique ici est <b>auth chap 80</b>.</p>
<p>Pour utiliser MS CHAP, vous devez recompiler pppd. Veuillez
consulter les instructions dans le fichier README.MSCHAP80 des
sources de PPP pour obtenir les instructions sur la fa&ccedil;on de
compiler en utilisant cette variante.</p>
<p>Vous devez remarquer que le code pr&eacute;sent supporte
uniquement des clients Linux PPP connect&eacute;s sur un serveur MS
Windows NT. Mais NE supporte PAS la configuration d'un serveur PPP
Linux pour utiliser l'authentification MSCHAP80 pour les
clients.</p>
<h2><a name="ss13.2">13.2 Le fichier de secrets de
PAP/CHAP</a></h2>
<p>Si vous utilisez l'authentification PAP ou CHAP, alors vous
devez cr&eacute;er les fichiers . Ce sont</p>
<hr>
<pre>
/etc/ppp/pap-secrets
/etc/ppp/chap-secrets
</pre>
<hr>
<p>Il doivent &ecirc;tre poss&eacute;d&eacute;s par <b>root</b>, le
groupe <b>root</b> et avoir les permissions 740 pour la
s&eacute;curit&eacute;.</p>
<p>Le premier point &agrave; remarquer au sujet de PAP et CHAP est
qu'ils sont con&ccedil;us pour authentifier <b>les ordinateurs</b>
mais pas <b>les utilisateurs</b></p>
<p>"Humm? Qu'est ce que &ccedil;a change ? " Me demandez vous.</p>
<p>H&eacute; bien, une fois que l'ordinateur a &eacute;tabli une
connexion PPP avec le serveur, <b>n'importe quel</b> utilisateur de
votre syst&egrave;me peut utiliser cette connexion - pas seulement
vous. C'est pourquoi vous pouvez configurer un r&eacute;seau
&agrave; large domaine en reliant deux r&eacute;seaux locaux avec
PPP.</p>
<p>PAP peut (et CHAP <b>DOIT</b>) demander une authentification
<b>bidirectionnelle</b> - c'est un nom et un code secret qui est
n&eacute;cessaire pour chaque ordinateur avec lequel il est
impliqu&eacute;. Cependant, ce n'est pas la fa&ccedil;on dont tous
les serveurs PPP fonctionnent pour offrir l'authentification PAP
des appels PPP.</p>
<p>Il a &eacute;t&eacute; dit que votre FAI vous donnerait
certainement un nom utilisateur et un mot de passe pour vous
permettre de vous connecter sur son syst&egrave;me et ensuite sur
Internet. Votre FAI se fiche de conna&icirc;tre le nom de votre
ordinateur, vous devrez donc utiliser votre nom utilisateur chez
votre FAI comme nom pour votre machine.</p>
<p>Cela est possible avec l'option <code>name username</code> de
<code>pppd</code>. Donc, si vous utilisez le nom donn&eacute; par
votre FAI, ajoutez la ligne</p>
<hr>
<pre>
name votre_utilisateur nom_chez_votre_FAI
</pre>
<hr>
<p>dans votre fichier <code>/etc/ppp/options</code>.</p>
<p>Techniquement, vous devrez utiliser <code>user votre_utilisateur
nom_chez_votre_FAI</code> pour PAP, mais <code>pppd</code> est
suffisamment intelligent pour interpr&eacute;ter l'option
<code>name</code> comme <code>user</code> si n&eacute;cessaire pour
utiliser PAP. L'avantage d'utiliser l'option <code>name</code> est
qu'elle est &eacute;galement valide pour CHAP.</p>
<p>Puisque PAP permet d'authentifier les <b>ordinateurs</b>,
techniquement, vous devez aussi sp&eacute;cifier un nom
d'ordinateur distant. Toutefois, comme de nombreuses personnes ont
plus d'un seul FAI, vous pouvez utiliser un caract&egrave;re
g&eacute;n&eacute;rique (*) pour le nom d'ordinateur distant dans
le fichier de secrets.</p>
<p>Il est aussi int&eacute;ressant de remarquer que de nombreux FAI
utilise des banques de modems multiples connect&eacute;s sur
diff&eacute;rents serveurs de terminaux - tous ont un nom
diff&eacute;rent, mais sont accessibles avec un seul num&eacute;ro
d'appel. Il peut alors &ecirc;tre difficile dans certaines
circonstances de savoir &agrave; l'avance quel est le nom de
l'ordinateur distant, puisque cela d&eacute;pendra du serveur de
terminal sur lequel vous vous connecterez !</p>
<h2><a name="ss13.3">13.3 Le fichier de secrets de PAP</a></h2>
<p>Le fichier <code>/etc/ppp/pap-secrets</code> ressemble
&agrave;</p>
<hr>
<pre>
# Authentication Secrete avec PAP
# client        serveur       secret     adresses_IP_locale_acceptable
</pre>
<hr>
<p>Les quatre champs sont s&eacute;par&eacute;s par des espaces et
le dernier peut &ecirc;tre omis (c'est l'adresse dynamique ou sans
doute statique de votre FAI).</p>
<p>Supposons que votre FAI vous ait donn&eacute; un nom utilisateur
<code>fred</code> et un mot de passe <code>flintstone</code> vous
aurez l'option <code>name fred</code> dans
<code>/etc/ppp/options[.ttySx]</code> et vous configurerez votre
<code>/etc/ppp/pap-secrets</code> comme suit</p>
<hr>
<pre>
# Authentication Secrete avec PAP
# client        serveur       secret     adresses_IP_locale_acceptable
fred            *       flintstone
</pre>
<hr>
<p>Cela signifie que pour une machine locale <code>fred</code>
(<code>pppd</code> lui impose de s'appeler comme cela m&ecirc;me si
&ccedil;a n'est pas son nom de machine r&eacute;el) et pour
<b>n'importe quel</b> serveur, utiliser le mot de passe (secret)
<code>"flintstone"</code>.</p>
<p>Remarquez que vous ne devez pas sp&eacute;cifier d'adresse IP
locale, &agrave; moins que vous ne deviez FORCER une adresse locale
statique particuli&egrave;re. M&ecirc;me si vous essayez cette
option, il y a peu de chances qu'elle marche puisque la plupart des
serveurs PPP (pour des raisons de s&eacute;curit&eacute;) ne
permettent pas au syst&egrave;me distant de configurer l'adresse IP
qu'ils re&ccedil;oivent.</p>
<h2><a name="ss13.4">13.4 Le fichier de secrets de CHAP</a></h2>
<p>Cette m&eacute;thode n&eacute;cessite une m&eacute;thode
authentification mutuelle - c'est &agrave; dire que vous devez
permettre &agrave; votre machine d'authentifier le serveur distant
<b>ET</b> le serveur distant d'authentifier votre machine.</p>
<p>Donc, si votre machine s'appelle <code>fred</code> et que le
serveur distant s'appelle <code>barney</code> il faut
d&eacute;finir sur fred <code>name fred remotename barney</code> et
sur la machine distante <code>name barney remotename fred</code>
dans les fichiers <code>/etc/ppp/options.ttySx</code>
respectifs.</p>
<p>Le fichier <code>/etc/chap-secrets</code> de <code>fred</code>
ressemblera &agrave;</p>
<hr>
<pre>
# Authentication Secrete avec CHAP
# client        serveur       secret     adresses_IP_locale_acceptable
fred            barney      flintstone
barney          fred        wilma
</pre>
<hr>
<p>et pour <code>barney</code></p>
<hr>
<pre>
# Authentication Secrete avec CHAP
# client        serveur       secret     adresses_IP_locale_acceptable
barney          fred    flintstone
fred            barney  wilma
</pre>
<hr>
<p>Remarquez en particulier que les deux machines doivent avoir des
entr&eacute;es pour une authentification bidirectionnelle. Cela
permet &agrave; la machine locale d'authentifier elle-m&ecirc;me la
machine distante <b>ET</b> la machine distante d'authentifier
elle-m&ecirc;me la machine locale.</p>
<h2><a name="ss13.5">13.5 Supporter plusieurs connexions
authentifi&eacute;es avec PAP</a></h2>
<p>Certains utilisateurs ont plus d'un serveur sur lesquels ils se
connectent en utilisant PAP. A partir du moment o&ugrave; votre nom
utilisateur est diff&eacute;rent sur chacune des machines sur
lesquelles vous vous connectez, il n'y a pas de
probl&egrave;me.</p>
<p>Mais, nombreux sont les utilisateurs qui ont le m&ecirc;me nom
utilisateur sur deux (ou plus, voire m&ecirc;me tous les)
syst&egrave;mes o&ugrave; ils se connectent. Le probl&egrave;me
revient donc &agrave; choisir la bonne ligne du fichier
<code>/etc/ppp/pap-secrets</code>.</p>
<p>Comme vous pouvez le supposer, PPP fournit un m&eacute;canisme
pour r&eacute;gler cela. PPP permet de d&eacute;finir un &lt;&lt;
pseudonyme &gt;&gt; pour le serveur distant final de la connexion
en utilisant l'option <b>remotename</b> de pppd.</p>
<p>Supposons que vous vous connectiez sur deux serveurs PPP
utilisant le m&ecirc;me nom utilisateur <code>fred</code>. Vous
configurerez votre <code>/etc/ppp/pap-secrets</code> avec</p>
<hr>
<pre>
fred    pppserveur1      barney
fred    pppserveur2      wilma
</pre>
<hr>
<p>Maintenant, pour se connecter sur <code>pppserveur1</code> vous
utiliserez <code>name fred remotename pppserver1</code> dans votre
<code>ppp-options</code> et pour <code>pppserveur2</code>
<code>name fred remotename pppserver2</code>.</p>
<p>Puisque vous pouvez s&eacute;lectionner le fichier d'options
&agrave; utiliser avec <code>pppd</code> en utilisant l'option
<code>file filename</code>, vous pouvez d&eacute;finir un script
pour se connecter sur chacun de vos serveurs PPP, qui choisira le
fichier d'options correct et mettra la bonne option
<code>remotename</code>.</p>
<h2><a name="manual"></a> <a name="s14">14. Configurer une
connexion PPP &agrave; la main</a></h2>
<p>Maintenant que vous avez cr&eacute;&eacute; les fichiers
<code>/etc/ppp/options</code> et <code>/etc/resolv.conf</code> (et
si besoin le fichier <code>/etc/ppp/pap/chap-secrets</code>), vous
pouvez tester les param&egrave;tres en &eacute;tablissant une
connexion PPP &agrave; la main. (Une fois que la connexion manuelle
marchera, nous automatiserons le processus).</p>
<p>Pour ce faire, votre programme de communication doit pouvoir
&ecirc;tre quitt&eacute; sans r&eacute;initialiser le modem.
<code>Minicom</code> peut le faire avec Alt-Q (ou dans les versions
plus ancienne de <code>minicom</code> CTRL-A Q)</p>
<p>V&eacute;rifiez que vous &ecirc;tes <b>root</b>.</p>
<p>Lancez le programme de communication (<code>minicom</code> par
exemple), appelez le serveur PPP et connectez-vous comme
d'habitude. Si vous avez besoin d'envoyer une commande pour
d&eacute;marrer PPP sur le serveur, faites-le. Vous devriez
maintenant voir les messages que vous aviez d&eacute;j&agrave;
vus.</p>
<p>Si vous utilisez PAP ou CHAP, se connecter simplement sur le
syst&egrave;me distant devrait d&eacute;marrer PPP et vous devriez
voir des caract&egrave;res s'afficher sans toutefois se connecter
(m&ecirc;me si &ccedil;a peut ne pas marcher sur certains serveurs
- essayez alors d'appuyer sur <b>Entr&eacute;e</b> et les
caract&egrave;res devraient s'afficher).</p>
<p>Maintenant quittez le programme de communication <em>sans
initialiser le modem</em> (ALT-Q ou CTRL-A Q dans
<code>minicom</code>) et au message d'accueil de Linux
(&eacute;tant <b>root</b>) tapez</p>
<hr>
<pre>
pppd -d -detach /dev/ttySx 38400 &amp;
</pre>
<hr>
<p>L'option -d active le d&eacute;boguage - la conversation de
d&eacute;marrage de la connexion ppp sera retranscrite dans votre
journal syst&egrave;me - ce qui est tr&egrave;s utile si des
probl&egrave;mes apparaissent.</p>
<p>Les lumi&egrave;res de votre modem devraient alors clignoter
puisque la connexion PPP est &eacute;tablie. Cela peut prendre un
peu de temps avant que la connexion soit termin&eacute;e.</p>
<p>A ce niveau, vous pouver afficher l'interface PPP en tapant la
commande :</p>
<hr>
<pre>
ifconfig
</pre>
<hr>
<p>En plus des &eacute;ventuels p&eacute;riph&eacute;riques
loopback et Ethernet, vous devriez avoir quelque chose qui
ressemble &agrave; :</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>O&ugrave;</p>
<ul>
<li>inet addr:10.144.153.10 est l'adresse IP de votre
connexion.</li>
<li>P-t-P:10.144.153.5 est l'adresse IP du serveur.</li>
</ul>
<p>(Naturellement, <code>ifconfig</code> ne renvoie pas ces nombres
l&agrave;, mais ceux qui sont utilis&eacute;s par le serveur
PPP.)</p>
<p>Remarque : <code>ifconfig</code> indique &eacute;galement que
votre liaison fonctionne correctement !</p>
<p>Si vous aucun p&eacute;riph&eacute;rique PPP n'est
affich&eacute; ou quelque chose du genre</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>Votre liaison PPP n'est pas correcte... voir la section suivante
sur le d&eacute;buggage !</p>
<p>Vous devez aussi pouvoir voir une route vers l'h&ocirc;te
distant (et m&ecirc;me plus). Pour cela, entrez la commande</p>
<hr>
<pre>
route -n
</pre>
<hr>
<p>Vous devriez obtenir quelque chose comme :</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>Ce qui est important ici, c'est d'avoir DEUX entr&eacute;es
pointant vers votre interface ppp.</p>
<p>La premi&egrave;re est une route d'h&ocirc;te (indiqu&eacute;
par le drapeau H) et qui permet de voir l'h&ocirc;te sur lequel
vous &ecirc;tes connect&eacute; - mais pas plus.</p>
<p>La seconde est la route par d&eacute;faut (&eacute;tablie en
donnant &agrave; <code>pppd</code> l'option
<code>defaultroute</code>). C'est cette route qui indique &agrave;
votre PC Linux d'envoyer tous les paquets qui ne sont pas
destin&eacute;s &agrave; vos interfaces Ethernet - vers lesquelles
vous avez des routes r&eacute;seau sp&eacute;cifiques - au serveur
PPP lui-m&ecirc;me. Le serveur PPP est alors responsable de router
vos paquets vers Internet et de vous renvoyer les paquets chez
vous.</p>
<p>Si vous ne voyez pas une table de routage avec deux
entr&eacute;es, quelque chose ne marche pas. En particulier si
votre syslog contient des messages indiquant que <code>pppd</code>
ne remplace pas la route par d&eacute;faut, vous devez avoir une
route par d&eacute;faut qui pointe sur votre interface Ethernet -
qui <b>DOIT</b> &ecirc;tre remplac&eacute;e par une route
r&eacute;seau sp&eacute;cifique : <b>VOUS NE POUVEZ AVOIR QU'UNE
SEULE ROUTE PAR DEFAUT !!!</b></p>
<p>Vous devez explorer vos fichiers d'initialisation de votre
syst&egrave;me pour trouver o&ugrave; est configur&eacute; votre
route par d&eacute;faut (elle doit utiliser la commande <code>route
add default...</code>). Changer cette commande par quelque chose du
genre <code>route add net ...</code>.</p>
<p>Maintenant testez la liaison en 'pingant' le serveur &agrave;
l'adresse IP affich&eacute; par ifconfig, comme suit :</p>
<hr>
<pre>
ping 10.144.153.51
</pre>
<hr>
<p>Vous devriez obtenir</p>
<hr>
<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>
<hr>
<p>Ce listing doit continuer sans jamais s'arr&ecirc;ter - pour le
stopper, taper CTRL C, vous recevrez alors des informations
compl&eacute;mentaires :</p>
<hr>
<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>
<hr>
<p>Jusqu'ici tout va bien, jusqu'ici tout va bien.</p>
<p>Maintenant, essayez de pinger un nom d'h&ocirc;te (pas le nom du
serveur PPP lui-m&ecirc;me) mais un h&ocirc;te d'un autre site dont
vous SAVEZ qu'il y a de tr&egrave;s fortes chances qu'il
marche...). Par exemple</p>
<hr>
<pre>
ping sunsite.unc.edu
</pre>
<hr>
<em>ou lip6.fr</em>
<p>Dans ce cas, il va y avoir une petite pause le temps que Linux
obtienne l'adresse IP du nom de h&ocirc;te que vous avez
'ping&eacute;' par le DNS que vous avez sp&eacute;cifi&eacute; dans
le <code>/etc/resolv.conf</code> - ne vous inqui&eacute;tez pas
(les lumi&egrave;res de votre modem devraient clignoter).
Rapidement, vous devriez avoir l'affichage suivant</p>
<hr>
<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>
<hr>
<p>L&agrave; encore, arr&ecirc;tez le en tapant CTRL C pour obtenir
les statistiques...</p>
<hr>
<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>
<hr>
<p>Si vous n'avez pas de r&eacute;ponse, essayer de pinger
l'adresse de votre serveur DNS de votre FAI. Si vous n'avez pas de
r&eacute;sultat, alors il doit y avoir un probl&egrave;me avec
votre <code>/etc/resolv.conf</code>.</p>
<p>Si &ccedil;a ne fonctionne pas, vous devez avoir un
probl&egrave;me de routage, ou votre FAI a un probl&egrave;me
&agrave; vous renvoyer les paquets. V&eacute;rifiez les tables de
routages pr&eacute;sent&eacute;es plus haut et si tout est OK,
contacter votre FAI. Si cela se trouve apr&egrave;s votre FAI,
alors le probl&egrave;me est de votre cot&eacute;.</p>
<p>Si tout marche correctement, fermez la connexion en tapant</p>
<hr>
<pre>
ppp-off
</pre>
<hr>
<p>Apr&egrave;s une courte pause, le modem devrait raccrocher.</p>
<p>Si &ccedil;a ne marche pas, soit vous &eacute;teignez votre
modem, soit vous lancez votre programme de communication et vous
interrompez votre modem avec +++ puis vous raccrochez avec ATH0
quand vous recevez le message OK de votre modem.</p>
<p>Vous devez &eacute;galement effacer le fichier
cr&eacute;&eacute; par pppd</p>
<hr>
<pre>
rm -f /var/lock/LCK..ttySx
</pre>
<hr>
<h2><a name="automatiser"></a> <a name="s15">15. Automatiser votre
connexion - Cr&eacute;er les scripts de connexion</a></h2>
<p>M&ecirc;me si vous pouvez continuer &agrave; vous connecter
&agrave; la main comme montr&eacute; ci-dessus il est plus sympa de
faire quelques scripts pour automatiser tout &ccedil;a.</p>
<p>Quelques scripts vont automatiser la connexion et le lancement
de PPP, vous n'aurez alors plus qu'&agrave; envoyer une seule
commande (en &eacute;tant <b>root</b> ou membre du groupe PPP) pour
lancer votre connexion.</p>
<h2><a name="ss15.1">15.1 Scripts de connexion pour
l'authentification nom utilisateur/mot de passe</a></h2>
<p>Si votre FAI n'a pas besoin d'utiliser PAP/CHAP, ces scripts
sont faits pour vous !</p>
<p>Si le paquetage ppp est correctement install&eacute;, vous devez
avoir deux fichiers d'exemple. Pour PPP 2.1.2 il sont dans
<code>/usr/sbin</code> et pour PPP 2.2 il sont dans
<code>/etc/ppp/scripts</code>. Ils s'appellent</p>
<p>pour PPP-2.1.2</p>
<blockquote>
<pre>
<code>ppp-on
ppp-off
</code>
</pre></blockquote>
<p>et pour PPP 2.2</p>
<blockquote>
<pre>
<code>ppp-off
ppp-on
ppp-on-dialer
</code>
</pre></blockquote>
<p>Maintenant, si vous utilisez PPP 2.1.2, je vous presse fermement
de d&eacute;truire ces fichiers d'exemple. Il y a pleins de
probl&egrave;mes potentiels avec ceux-ci - et ne me dites pas
qu'ils marchent correctement - je les ai &eacute;galement
utilis&eacute; pendant des ann&eacute;es (et les recommandait
m&ecirc;me dans la premi&egrave;re version de ce HOWTO) !</p>
<p>Pour les utilisateurs de PPP 2.1.2, voici de BIEN MEILLEURS
mod&egrave;les, pris dans la distribution 2.2 de PPP. Je vous
conseille de les copier et d'utiliser ces scripts &agrave; la place
des anciens de PPP-2.1.2.</p>
<h2><a name="ss15.2">15.2 Le script ppp-on</a></h2>
<p>C'est le premier des DEUX scripts qui lance la connexion.</p>
<hr>
<pre>
#!/bin/sh
#
# Script pour initialiser une connexion PPP. C'est la premiere partie de deux
# scripts. Ce ne sont pas des scripts securises, puisque les codes sont
# visibles avec la commande 'ps'. Cependant ils sont simples.
#
# Ce sont des parametres a changer selon les besoins
TELEPHONE=555-1212    # Le numero de telephone de la connexion
ACCOUNT=george        # Le nom du compte (comme dans 'George Burns')
PASSWORD=gracie       # Le mot de passe du compte (et 'Gracie Allen')
LOCAL_IP=0.0.0.0      # L'adresse IP locale si elle est connue Dynamic = 0.0.0.0
REMOTE_IP=0.0.0.0     # Adresse IP distante. Normally 0.0.0.0
NETMASK=255.255.255.0 # Le masque reseau si besoin
#
# Les exporter pour qu'ils soit disponible avec 'ppp-on-dialer'
export TELEPHONE ACCOUNT PASSWORD
#
# C'est l'emplacement du script qui compose le numero et se connecte.
# Utilisez les noms de fichiers absolus, car la variable $PATH n'est pas
# utilisee avec l'option connect. (Faire ca en etant 'root' entraine un
# trou de securite.)
#
DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
#
# Commencer la connexion
#
#
exec /usr/sbin/pppd debug /dev/ttySx 38400 \
        $LOCAL_IP:$REMOTE_IP \
        connect $DIALER_SCRIPT
</pre>
<hr>
<p>Voici le script ppp-on-dialer :</p>
<hr>
<pre>
#!/bin/sh
#
# C'est la deuxieme partie du script ppp-on. Il contient le protocole de 
# connexion de la connexion desiree.
#
/usr/sbin/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>Avec PPP-2.2, le script <code>ppp-off</code> ressemble &agrave;
:</p>
<hr>
<pre>
#!/bin/sh
######################################################################
#
# Determine le peripherique a terminer.
#
if [ "$1" = "" ]; then
        DEVICE=ppp0
else
        DEVICE=$1
fi

######################################################################
#
# Si le fichier pid ppp0 est present alors le programme est lance. Le stopper.
if [ -r /var/run/$DEVICE.pid ]; then
        kill -INT `cat /var/run/$DEVICE.pid`
#
# Si le kill ne marche pas, alors il n'y a pas de processus lance pour ce pid.
# Cela peut signifier que le fichier de lock a ete laisse. Vous souhaitez 
# peut-etre detruire le fichier de lock en meme temps.
        if [ ! "$?" = "0" ]; then
                rm -f /var/run/$DEVICE.pid
                echo "ERROR: Removed stale pid file"
                exit 1
        fi
#
# Succes. pppd a enlever tout ce qu'il avait cree.
        echo "PPP link to $DEVICE terminated."
        exit 0
fi
#
# Le processus ppp ne marche pas pour ppp0
echo "ERROR: PPP link is not active on $DEVICE"
exit 1
</pre>
<hr>
<h2><a name="ss15.3">15.3 Editer les scripts de d&eacute;marrage de
PPP fournis</a></h2>
<p>Puisque les nouveaux scripts sont en deux parties, nous allons
les &eacute;diter chacun leur tour.</p>
<h3>Le script ppp-on</h3>
<p>Vous devez &eacute;diter ces fichiers pour contenir VOTRE nom
utilisateur de votre FAI, VOTRE mot de passe de votre FAI, et le
num&eacute;ro de t&eacute;l&eacute;phone de votre FAI.</p>
<p>Chacune des lignes ressemblant &agrave; <code>TELEPHONE=</code>
d&eacute;finissent une variable du shell contenant les informations
&agrave; droite du '=' (mise &agrave; part les commentaires
&eacute;videmment). &Eacute;diter donc toutes les lignes de ce
fichier pour qu'il corresponde a votre FAI et votre connexion.</p>
<p>De plus, si vous configurez l'adresse IP (si vous avez besoin)
dans le fichier <code>/etc/ppp/options</code>, DETRUISEZ les lignes
mentionnant</p>
<hr>
<pre>
$LOCAL_IP:$REMOTE_IP \
</pre>
<hr>
<p>Assurez-vous &eacute;galement que la variable shell
DIALER_SCRIPT pointe sur le chemin complet du script d'appel qui
sera r&eacute;ellement utilis&eacute;. Ainsi, si vous
d&eacute;placez ou renommez ce script, assurez-vous que vous
modifier correctement cette ligne dans le script
<code>ppp-on</code> !</p>
<h3>Le script ppp-on-dialer</h3>
<p>C'est le deuxi&egrave;me des scripts qui lance votre liaison
PPP.</p>
<p>Remarque : un script <code>chat</code> est normalement sur une
ligne compl&egrave;te. Les backslashs sont utilis&eacute;s pour
permettre &agrave; la ligne de se r&eacute;partir sur plusieurs
lignes physiques (pour une lisibilit&eacute; plus humaine) et ne
font pas partie du script lui-m&ecirc;me.</p>
<p>Cependant, il est tr&egrave;s utile de le regarder en
d&eacute;tail, comme cela nous comprenons ce qu'il est
r&eacute;ellement suppos&eacute; faire !</p>
<h2><a name="ss15.4">15.4 Ce que script Chat signifie...</a></h2>
<p>Un script <code>chat</code> est une s&eacute;quence de paires de
<code>"</code>cha&icirc;nes d'attentes<code>"</code> et de
<code>"</code>cha&icirc;nes d'envoi <code>"</code>. En particulier,
remarquez que nous attendons <b>TOUJOURS</b> quelque chose avant
d'envoyer quoi que ce soit.</p>
<p>Si nous envoyons quelque chose <b>SANS</b> avoir rien
re&ccedil;u avant, nous devons attendre une cha&icirc;ne vide avant
(indiqu&eacute;e par un <code>"</code><code>"</code>) Et de la
m&ecirc;me mani&egrave;re attendre quelque chose sans avoir rien
envoy&eacute; ! Ainsi, si les cha&icirc;ne consistent en quelques
mots, (c.-&agrave;-d. NO CARRIER), vous devez entourez les
cha&icirc;nes par des quotes pour qu'elles soient vues comme une
seule entit&eacute; par chat.</p>
<p>La ligne <code>chat</code> de notre mod&egrave;le est :</p>
<hr>
<pre>
exec /usr/sbin/chat -v
</pre>
<hr>
<p>Invoque chat, le -v indique &agrave; <code>chat</code> de mettre
toutes ses entr&eacute;e/sorties dans le journal syst&egrave;me
(g&eacute;n&eacute;ralement /var/log/messages). Une fois que votre
script <code>chat</code> marchera correctement, &eacute;ditez cette
ligne et enlevez le -v pour &eacute;conomiser des messages inutiles
dans votre syslog.</p>
<hr>
<pre>
TIMEOUT         3
</pre>
<hr>
&Ccedil;a d&eacute;finit un temps d'attente de trois secondes avant
la r&eacute;ception d'une entr&eacute;e attendue. Vous devrez
l'augmenter &agrave; 5 ou 10 secondes si vous utilisez un modem
extr&ecirc;mement lent !
<hr>
<pre>
ABORT           '\nBUSY\r'
</pre>
<hr>
<p>Si la cha&icirc;ne BUSY est re&ccedil;ue, abandonner
l'op&eacute;ration.</p>
<p>M</p>
<hr>
<pre>
ABORT           '\nNO ANSWER\r'
</pre>
<hr>
<p>Si la cha&icirc;ne NO ANSWER est re&ccedil;ue, abandonner
l'op&eacute;ration.</p>
<hr>
<pre>
ABORT           '\nRINGING\r\n\r\nRINGING\r'
</pre>
<hr>
<p>Si la cha&icirc;ne RINGING est re&ccedil;ue de mani&egrave;re
r&eacute;p&eacute;t&eacute;e, abandonner l'op&eacute;ration. C'est
parce que quelqu'un vous appelle !</p>
<hr>
<pre>
"              \rAT
</pre>
<hr>
<p>Ne rien attendre du modem et envoyer la cha&icirc;ne AT.</p>
<hr>
<pre>
OK-+++\c-OK   ATH0
</pre>
<hr>
<p>C'est un petit plus compliqu&eacute; car cela utilise certaines
capacit&eacute;s de chat &agrave; r&eacute;cup&eacute;rer les
erreurs.</p>
<p>&Ccedil;a veux dire...Expect OK, si on ne l'a pas re&ccedil;u
(parce que le modem n'est pas en ligne de commande) alors envoyer
+++ (la cha&icirc;ne standard des modems compatible Hayes pour
retourner en ligne de commande) et attendre OK. Ensuite envoyer
ATH0 (la cha&icirc;ne pour raccrocher). Cela permet au script de
r&eacute;pondre &agrave; la situation ou votre modem avait
laiss&eacute; la ligne d&eacute;croch&eacute;e !</p>
<hr>
<pre>
TIMEOUT         30
</pre>
<hr>
<p>Mettre le temps d'attente &agrave; 30 secondes pour le reste du
script. Si vous avez des soucis avec des abandons du script
<code>chat</code> &agrave; cause de timeout, augmentez cette valeur
&agrave; 45 secondes ou plus.</p>
<hr>
<pre>
OK              ATDT$TELEPHONE
</pre>
<hr>
<p>Attends un OK (la r&eacute;ponse du modem &agrave; la commande
ATH0) et compose le num&eacute;ro que nous voulez appeler.</p>
<hr>
<pre>
CONNECT         ''
</pre>
<hr>
<p>Attendre CONNECT(ce que le modem nous envoie lorsque le modem
distant d&eacute;croche) et n'envoie rien en r&eacute;ponse.</p>
<hr>
<pre>
ogin:--ogin:    $ACCOUNT
</pre>
<hr>
<p>Une fois encore nous avons une r&eacute;cup&eacute;ration
d'erreur ici. Attendre le message de login (...ogin:) mais si nous
ne le recevons pas au bout d'un certain temps, envoyer un retour
chariot et attendre une nouvelle fois le message de login. Lorsque
le message est re&ccedil;u, envoyer le nom utilisateur
(stock&eacute; dans la variable shell $ACCOUNT).</p>
<hr>
<pre>
assword:        $PASSWORD
</pre>
<hr>
<p>Attendre le message du mot de passe et envoyer le mot de passe
(l&agrave; aussi stock&eacute; dans une variable shell).</p>
<p>Ce script <code>chat</code> &agrave; une capacit&eacute; de
r&eacute;cup&eacute;ration d'erreurs r&eacute;sonnable. Chat
poss&egrave;de bien d'autres possibilit&eacute;s que celles
d&eacute;taill&eacute;s. Pour plus d'informations, consulter la
page de manuel de <code>chat</code> (<code>man 8 chat</code>).</p>
<h3>D&eacute;marrer PPP sur le serveur final</h3>
<p>Bien que le script ppp-on-dialer soit parfait pour les serveurs
qui lancent automatiquement <code>pppd</code> sur le serveur final
une fois que vous &ecirc;tes connect&eacute;s, certains serveurs
n&eacute;cessitent que vous lanciez PPP explicitement sur le
serveur.</p>
<p>Si vous avez besoin d'envoyer une commande de lancement de PPP
sur le serveur, vous DEVEZ &eacute;diter le script
ppp-on-dialer.</p>
<p>A la fin du script (apr&egrave;s la ligne password) ajouter une
paire <b>attente envoi</b> en plus - elle cherchera un message de
login (une suite de caract&egrave;res qui ont une signification
particuli&egrave;re dans le shell Bourne - comme $ et [ ou ] (les
crochets ouverts et ferm&eacute;s).</p>
<p>Une fois que <code>chat</code> &agrave; obtenu le prompt du
shell, <code>chat</code> doit envoyer la commande de
d&eacute;marrage de ppp n&eacute;cessaire sur le serveur PPP de
votre FAI.</p>
<p>Pour ma part, mon serveur PPP utilise un prompt Bash
standard</p>
<hr>
<pre>
[hartr@kepler hartr]$
</pre>
<hr>
<p>et n&eacute;cessite que je tapes</p>
<hr>
<pre>
ppp
</pre>
<hr>
<p>pour lancer ppp sur le serveur.</p>
<p>Une id&eacute;e judicieuse peut &ecirc;tre d'ajouter un peu de
r&eacute;cup&eacute;ration d'erreur, dans mon cas j'utilise</p>
<hr>
<pre>
        hartr--hartr    ppp
</pre>
<hr>
<p>Cela signifie que si je ne re&ccedil;ois pas le prompt dans le
temps imparti, j'envoie un retour chariot et je recherche le prompt
une nouvelle fois.</p>
<p>Une fois que le message est re&ccedil;u, j'envoie la
cha&icirc;ne <code>ppp</code>.</p>
<p>Remarque : n'oubliez pas d'ajouter un \ &agrave; la fin de la
ligne pr&eacute;c&eacute;dente pour que <code>chat</code> pense que
le script de connexion de <code>chat</code> est toujours sur une
seule ligne !</p>
<p>Malheureusement, certains serveurs g&eacute;n&egrave;rent un
nombre de messages tr&egrave;s variable ! Vous aurez
peut-&ecirc;tre besoin de vous connecter plusieurs fois avec
<code>minicom</code> pour comprendre comment &ccedil;a marche et
r&eacute;cup&eacute;rer une cha&icirc;ne "d'attente" stable.</p>
<h2><a name="ss15.5">15.5 Un script chat pour les connections
authentifi&eacute;es avec PAP/CHAP</a></h2>
<p>Si votre FAI utilise PAP/CHAP, alors votre script
<code>chat</code> est bien plus simple. Tout ce que votre script
<code>chat</code> doit faire est de composer le num&eacute;ro,
attendre la connexion et ensuite laisser <code>pppd</code>
s'occuper du processus de connexion !</p>
<hr>
<pre>
#!/bin/sh
#
# C'est la deuxieme partie du script ppp-on. Il contient le protocole de 
# connexion de la connexion desiree.
#
exec /usr/sbin/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>
<h2><a name="ss15.6">15.6 Les options <code>debug</code> et
<code>file option_file</code> de pppd</a></h2>
<p>Comme nous l'avons d&eacute;j&agrave; vu, vous pouvez activer
les informations de d&eacute;buggage avec l'option -d de pppd.
L'option 'debug' est &eacute;quivalente &agrave; celle-ci.</p>
<p>Puisque vous &eacute;tablissez la connexion avec un nouveau
script, laissez pour le moment les informations de
d&eacute;buggage. (Attention : si votre espace disque est
r&eacute;duit, les &eacute;changes de connexion de
<code>pppd</code> peuvent rapidement augmenter votre fichier syslog
et vous amener des probl&egrave;mes - mais pour aller jusque
l&agrave;, il faut que vous essayez et vous &eacute;chouiez vos
connexions un certain temps).</p>
<p>Une fois que tout marche correctement, vous pouvez alors enlever
cette option.</p>
<p>Si vous avez appel&eacute; votre fichier d'options de ppp
autrement que <code>/etc/ppp/options</code> ou
<code>/etc/ppp/options.ttySx</code>, sp&eacute;cifiez le nom du
fichier avec l'option <code>file</code> de <code>pppd</code> :</p>
<hr>
<pre>
exec /usr/sbin/pppd debug file options.myserver /dev/ttyS0 38400 \
</pre>
<hr>
<h2><a name="s16">16. Testez votre script de connexion</a></h2>
<p>Ouvrez un nouveau Xterm <b>root</b> (si vous &ecirc;tes sous X)
ou ouvrez une nouvelle console virtuelle et connectez vous comme
<b>root</b>.</p>
<p>Dans cette nouvelle session, tapez la commande</p>
<blockquote>
<pre>
<code>tail -f /var/log/messages
</code>
</pre></blockquote>
<p>(ou l'endroit exact ou se trouve le fichier log).</p>
<p>Dans la premi&egrave;re fen&ecirc;tre (ou console virtuelle),
tapez la commande</p>
<blockquote>
<pre>
<code>ppp-on &amp;
</code>
</pre></blockquote>
<p>(ou le nom que vous avez donn&eacute; &agrave; la nouvelle
version de votre /usr/sbin/ppp- on). Si vous ne mettez pas le
script en t&acirc;che de fond en sp&eacute;cifiant &amp; en fin de
commande, vous ne r&eacute;cup&eacute;rerez pas le prompt de votre
terminal avant que ppp se termine (ou que la liaison se
termine).</p>
<p>Maintenant revenez dans la fen&ecirc;tre ou vous affichez votre
journal syst&egrave;me.</p>
<p>L'affichage devrait ressembler &agrave; ce qui suit (si vous
avez sp&eacute;cifi&eacute; l'option -vi a <code>chat</code> et -d
&agrave; <code>pppd</code> )....c'est le d&eacute;roulement du
script <code>chat</code> et des r&eacute;ponses envoy&eacute;es
dans le fichier journal syst&egrave;me suivi des informations de
d&eacute;marrage de <code>pppd</code> :</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: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: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;--&gt; /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>(Remarque - j'utilise les adresses IP STATIQUES - ma machine
l'envoie au serveur PPP - vous ne verrez pas la m&ecirc;me chose si
vous utilisez des adresses IP DYNAMIQUES.) Ainsi, le server
n&eacute;cessite une commande sp&eacute;cifique pour
d&eacute;marrer ppp &agrave; la fin.</p>
<p>Ca semble OK - alors testez comme avant avec des ping des
adresses IP et des noms des h&ocirc;tes.</p>
<p>Lancer votre navigateur web ou n'importe quoi d'autre et allez
surfer - vous &ecirc;tes connect&eacute; !</p>
<h2><a name="off"></a> <a name="s17">17. Terminer une connexion
PPP</a></h2>
<p>Quand vous en avez termin&eacute; avec la liaison PPP, utilisez
la commande standard ppp-off pour la terminer (rappel - vous devez
&ecirc;tre <b>root</b> ou membre du groupe PPP ! ).</p>
<p>Dans votre fichier journal de votre syst&egrave;me, il devrait y
avoir quelque chose ressemblant &agrave; :</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>Ne pas s'inqui&eacute;ter du <code>SIOCDELRT</code> - c'est
juste <code>pppd</code> qui indique qu'il se termine, il n'y a pas
&agrave; s'en inqui&eacute;ter.</p>
<h2><a name="problemes"></a> <a name="s18">18. R&eacute;soudre les
probl&egrave;mes</a></h2>
<p>Il y a de nombreuses raisons pour que votre liaison ne
fonctionne pas - <code>chat</code> n'a pas r&eacute;ussi &agrave;
aller jusqu'au bout, vous avez une mauvaise ligne, etc. Regardez
votre syslog pour avoir des indications.</p>
<h2><a name="ss18.1">18.1 J'ai compil&eacute; le support PPP dans
le noyau, mais...</a></h2>
<p>Un probl&egrave;me relativement courant est que les gens
compilent le support PPP dans leur noyau et apr&egrave;s,
lorsqu'ils essayent de lancer pppd, le noyau r&eacute;pond qu'il ne
supporte pas ppp ! Un grand nombre de raisons peuvent en &ecirc;tre
la cause.</p>
<h3>Bootez-vous avec le bon noyau ?</h3>
<p>M&ecirc;me si vous <b>avez</b> recompli&eacute; votre support de
ppp dans le noyau, vous ne bootez pas sur le nouveau noyau. Cela
peut arriver si vous n'avez pas mis &agrave; jour
<code>/etc/lilo.conf</code> et relanc&eacute; lilo.</p>
<p>Une bonne fa&ccedil;on de v&eacute;rifier le noyau est d'envoyer
la commande <code>uname -a</code>, qui affiche la ligne ressemblant
&agrave;</p>
<hr>
<pre>
Linux archenland 2.0.28 #2 Thu Feb 13 12:31:37 EST 1997 i586
</pre>
<hr>
<p>Cela donne la version du noyau et la date &agrave; laquelle il a
&eacute;t&eacute; compil&eacute; - ce qui vous donnera une bonne
id&eacute;e de ce qui se passe.</p>
<h3>Avez-vous compil&eacute; le support noyau de ppp comme un
module ?</h3>
<p>Si vous avez compil&eacute; le support de ppp comme un module,
mais n'avez pas fait d'installation des modules, alors vous pouvez
avoir cette erreur. Relisez le kernel-HOWTO et le fichier README de
<code>/usr/src/linux</code> !</p>
<p>Une autre possibilit&eacute; concernant les modules est que vous
supposez que les modules sont charg&eacute;s automatiquement, alors
que le daemon <code>kerneld</code> n'est pas lanc&eacute; (il
charge et d&eacute;charge les modules au vol). V&eacute;rifiez le
mini-HOWTO kerneld pour des informations sur la configuration de
kerneld.</p>
<h3>Utilisez-vous une bonne version de PPP pour votre noyau ?</h3>
<p>Vous <b>devez</b> utiliser ppp-2.2 avec les versions 2.0.x du
noyau. Vous pouvez utiliser ppp-2.2 avec les versions 1.2.x du
noyau (si vous le patchez) sinon vous devez utiliser ppp-2.1.2.</p>
<h3>Lancez vous pppd en &eacute;tant root ?</h3>
<p>Si vous ne lancez pas <code>pppd</code> en &eacute;tant
l'utilisateur <b>root</b> (et que <code>pppd</code> n'est pas suid
vers <b>root</b>), vous pourrez recevoir ce message.</p>
<h2><a name="ss18.2">18.2 Mon modem se connecte mais PPP ne
d&eacute;marre jamais</a></h2>
<p>Il y a d'innombrables possibilit&eacute;s avec &ccedil;a
(regardez dans comp.os.linux....).</p>
<p>Une erreur <b>EXTREMEMENT</b> fr&eacute;quente est que vous avez
mal tap&eacute; quelque chose dans vos scripts. La seule chose
&agrave; faire est de v&eacute;rifier que vous avez la conversation
entre votre PC Linux et le serveur rapport&eacute; dans le syslog
/var/log/message) allez ensuite dans celui-ci <em>ligne par
ligne</em>. Vous aurez peut-&ecirc;tre besoin d'appeler votre
serveur ppp &agrave; la main pour rev&eacute;rifier tout
&ccedil;a.</p>
<p>Vous devez v&eacute;rifier les messages de logs r&eacute;els
tr&egrave;s attentivement - et ayez &agrave; l'esprit que les
hommes on tendance &agrave; lire ce qu'ils PENSENT avoir
tap&eacute; - et non ce qu'ils ont sous leurs yeux !</p>
<h2><a name="ss18.3">18.3 Le syslog contient "<code>serial line is
not 8 bit clean</code>..."</a></h2>
<p>Il y a plusieurs possibilit&eacute;s &agrave; cela - comme des
retours sur la ligne etc., qui peuvent &ecirc;tre la
cons&eacute;quence d'une (ou plusieurs) choses.</p>
<p>Pour comprendre ce qui se passe, il est n&eacute;cessaire de
chercher se qui se passe en coulisses dans <code>pppd</code>
lui-m&ecirc;me.</p>
<p>Lorsque <code>pppd</code> d&eacute;marre, il envoie des paquets
LCP (Link Control Protocol) &agrave; la machine distante. Si il
re&ccedil;oit une r&eacute;ponse valide il passe ensuite &agrave;
l'&eacute;tape suivante (avec IPCP - les paquets de contr&ocirc;le
IP) et c'est seulement une fois que cette n&eacute;gociation est
termin&eacute;e que les trames IP r&eacute;elles commencent et que
vous pouvez utiliser la liaison PPP.</p>
<p>Si il n'y a pas de serveur ppp fonctionnel &agrave; l'autre bout
quand votre PC envoie les paquets LCP, ceux-ci sont renvoy&eacute;s
par le processus de login final. Comme ces paquets utilisent 8
bits, et sont r&eacute;fl&eacute;chis avec le 8&egrave;me bit
(souvenez vous qu'ASCII est un code 7 bits). PPP s'en
aper&ccedil;oit et s'en plaint.</p>
<p>Il y a plusieurs possibilit&eacute; pour qu'un r&eacute;flexion
arrive.</p>
<h3>Vous n'&ecirc;tes pas correctement connect&eacute; sur le
serveur</h3>
<p>Lorsque le script <code>chat</code> se termine,
<code>pppd</code> d&eacute;marre sur votre PC. Cependant, si vous
n'avez pas termin&eacute; le processus de connexion au serveur
(comme envoyer une commande n&eacute;cessaire &agrave; lancer PPP
sur le serveur), PPP ne se lancera pas.</p>
<p>Ainsi, le paquet LCP sera r&eacute;fl&eacute;chi et vous aurez
une erreur.</p>
<p>Vous devez v&eacute;rifier et corriger (si n&eacute;cessaire)
attentivement votre script <code>chat</code> (voir plus haut).</p>
<h3>Vous n'avez pas lanc&eacute; PPP sur le serveur</h3>
<p>Certains serveurs PPP n&eacute;cessitent que vous entriez une
commande et/ou un retour chariot apr&egrave;s avoir termin&eacute;
le processus de connexion et avant que ppp soit lanc&eacute;
&agrave; l'autre bout.</p>
<p>V&eacute;rifiez votre script <code>chat</code> (voir plus
haut).</p>
<p>Si vous vous connectez &agrave; la main et que vous vous rendez
compte que vous devez envoyer sur ENTREE apr&egrave;s avoir
lanc&eacute; PPP, ajouter simplement une paire attente/envoi vide
&agrave; la fin de votre script <code>chat</code> (un cha&icirc;ne
vide envoie en fait ENTREE).</p>
<h2><a name="ss18.4">18.4 Le processus PPP distant est long
&agrave; d&eacute;marrer</a></h2>
<p>L&agrave; c'est un peu d&eacute;licat !</p>
<p>Par d&eacute;faut, votre <code>pppd</code> Linux est
compil&eacute; pour envoyer un maximum de 10 requ&ecirc;tes LCP de
configuration. Si le serveur est un peu lent &agrave;
d&eacute;marrer, la totalit&eacute; des 10 requ&ecirc;tes auront
&eacute;t&eacute; envoy&eacute;es avant que le serveur PPP distant
n'ait eu le temps de les recevoir.</p>
<p>Sur votre machine, <code>pppd</code> voit la r&eacute;flexion
des 10 requ&ecirc;tes (avec le 8&eacute;me bit invers&eacute;) et
s'arr&ecirc;te.</p>
<p>Il y a deux fa&ccedil;on de r&eacute;soudre cela :</p>
<p>Ajouter <code>lcp-max-configure 30</code> comme option de ppp.
Cela augmentera le nombre de packets de configuration LCP que
<code>pppd</code> enverra avant d'abandonner. Pour les serveurs
vraiment lents, vous devez m&ecirc;me mettre plus que
&ccedil;a.</p>
<p>Sinon, vous pouvez &ecirc;tre un peu malin de votre
c&ocirc;t&eacute;. Vous avez peut-&ecirc;tre remarqu&eacute; que
lorsque vous vous connectez &agrave; la main au serveur PPP et que
vous d&eacute;marrez alors PPP, le <b>premier</b> caract&egrave;re
que ppp envoie et qui appara&icirc;t est toujours le
caract&egrave;re tilda (~).</p>
<p>En savant cela, vous pouvez ajouter une nouvelle paire
<code>attente/envoi</code> &agrave; la fin de votre script
<code>chat</code> qui attendra un tilda et n'enverra rien. Cela
ressemblera alors &agrave; :</p>
<hr>
<pre>
\~      ''
</pre>
<hr>
<p>Remarque : comme le caract&egrave;re tilda a une signification
particuli&egrave;re pour le shell, il doit &ecirc;tre
&eacute;chapp&eacute; (en fait pr&eacute;c&eacute;d&eacute; par un
backslash).</p>
<h2><a name="ss18.5">18.5 La route par d&eacute;faut n'est pas
configur&eacute;e</a></h2>
<p>Si <code>pppd</code> refuse de configurer la route par
d&eacute;faut, c'est parce que (assez justement) il refuse de
remplacer/supprimer une route par d&eacute;faut existante.</p>
<p>La raison habituelle lorsque cette erreur appara&icirc;t est que
certaines distributions configurent une route par d&eacute;faut
pour votre carte Ethernet au lieu de la configurer comme une route
r&eacute;seau sp&eacute;cifique.</p>
<p>Voir le Linux NAG et le HOWTO Net2/3 pour des informations sur
la fa&ccedil;on de configurer correctement votre carte Ethernet et
les routes associ&eacute;es.</p>
<p>Une alternative &agrave; cela est que votre r&eacute;seau local
utilise d&eacute;j&agrave; un gateway/routeur et que votre table de
routage est d&eacute;j&agrave; configur&eacute;e pour envoyer la
route par d&eacute;faut &agrave; cet endroit.</p>
<p>R&eacute;soudre cette situation peut n&eacute;cessiter quelques
connaissances de r&eacute;seau IP qui sort du domaine de ce HOWTO.
Il est sugg&eacute;r&eacute; d'obtenir l'avis d'un expert (par les
groupes de news ou quelqu'un que vous pouvez interroger pr&egrave;s
de vous).</p>
<h2><a name="ss18.6">18.6 Autres probl&egrave;mes</a></h2>
<p>Il y a des tas de raisons autres que celles-ci pour que ppp ne
parvienne pas &agrave; se connecter et/ou fonctionner
correctement.</p>
<p>Lisez la FAQ PPP(qui est une s&eacute;rie de
questions-r&eacute;ponses). C'est un document tr&egrave;s
didactique et les r&eacute;ponses y SONT ! De ma propre (et triste)
exp&eacute;rience, si la r&eacute;ponse &agrave; votre
probl&egrave;me n'est pas dedans, votre probl&egrave;me N'est PAS
de la faute de ppp ! Pour ma part, j'utilisais un noyau ELF alors
que je n'avais pas mis &agrave; jour les modules du noyau. J'ai
juste perdu 2 jours (et presque une nuit) &agrave; chercher comment
doit &ecirc;tre un serveur PPP parfait avant de faire
lumi&egrave;re !</p>
<h2><a name="s19">19. Obtenir de l'aide quand on est totalement
perdu</a></h2>
<p>Si vous n'arrivez pas &agrave; faire fonctionner votre liaison
PPP, relisez ce document et tout v&eacute;rifier - en conjonction
avec les sorties de "chat-v..." et "pppd -d" dans votre journal
syst&egrave;me.</p>
<p>Consultez &eacute;galement la documentation de PPP la FAQ et
tout les documents mentionn&eacute;s ici !</p>
<p>Si vous &ecirc;tes encore bloqu&eacute;, essayez les groupes de
news comp.os.linux.misc et comp.os.linux.networking qui sont
r&eacute;guli&egrave;rement parcourus par des gens capable de vous
aider sur PPP ainsi que dans comp.protocols.ppp</p>
<p>Vous pouvez essayer de m'envoyer personnellement un email, mais
si j'ai une journ&eacute;e (et m&ecirc;me une vie) charg&eacute;,
je ne garanti pas de r&eacute;pondre rapidement (m&ecirc;me pas du
tout) selon la quantit&eacute; de travail en cours et l'&eacute;tat
de ma vie priv&eacute;e !</p>
<p>En particulier - <b>NE POSTEZ PAS DES PAGES ET DES PAGES DE
SORTIE DE DEBUGGAGE DANS LES NEWS GROUPS NI MEME A MOI PAR
EMAIL</b> - c'est une &eacute;norme perte de bande passante, et la
majorit&eacute; sera envoy&eacute; dans /dev/null (&agrave; moins
qu'elle ne soit express&eacute;ment demand&eacute;).</p>
<h2><a name="s20">20. Probl&egrave;mes classiques lorsque la
liaison fonctionne</a></h2>
<p>Un des probl&egrave;mes que vous rencontrerez est que de
nombreux fournisseurs d'acc&egrave;s est qu'ils ne supporterons que
les programmes de connexions qu'ils distribuent avec les nouveaux
comptes. Il sont (habituellement) pour Microsoft Windows :-( - et
la plupart des bureau d'aide des fournisseurs d'acc&egrave;s ne
sembleront rien savoir au sujet d'Unix (ou Linux). Donc
pr&eacute;parez vous &agrave; une assistance limit&eacute; de leur
part !</p>
<p>Vous pouvez &eacute;videmment leur faire une faveur et leur
apprendre ce qu'est Linux (certaines personnes au support de votre
fournisseur d'acc&egrave;s seront relativement 'branch&eacute;'
avec le monde Internet est auront une machine Linux chez eux - bien
s&ucirc;r que &ccedil;a existe ! )</p>
<h2><a name="ss20.1">20.1 Je n'arrive pas &agrave; voir
apr&egrave;s le serveur PPP ou je suis connect&eacute;</a></h2>
<p>OK - votre connexion PPP est lanc&eacute;e et fonctionne vous
pouvez pinger le serveur PPP avec son adresse IP (la
deuxi&egrave;me ou "remote" adresse IP affich&eacute;e par
<code>ifconfig ppp0</code>), mais vous ne pouvez rien atteindre
apr&egrave;s cela.</p>
<p>Tout d'abord, essayez de pinger les adresses IP que vous avez
sp&eacute;cifi&eacute; dans /etc/resolv.conf comme serveur de noms.
Si elles marchent, vous <b>pouvez</b> voir apr&egrave;s votre
serveur PPP (en tout cas ce qui &agrave; une adresse IP identique
&agrave; ce que vous avez sp&eacute;cifi&eacute;). Maintenant
essayez de pinger l'adresse compl&egrave;te de votre fournisseur
d'acc&egrave;s :</p>
<blockquote>
<pre>
<code>ping mon.fournisseur.internet.fr
</code>
</pre></blockquote>
<p>Si &ccedil;a ne marche pas, vous avez un probl&egrave;me avec la
r&eacute;solution des noms. C'est probablement &agrave; cause d'une
faute de frappe dans votre fichier /etc/resolv.conf.
V&eacute;rifiez &ccedil;a attentivement &agrave; partir des
informations que vous aviez obtenues en appelant votre fournisseur
d'acc&egrave;s. Si &ccedil;a semble correct, appelez votre
fournisseur d'acc&egrave;s, et v&eacute;rifiez que vous avez
not&eacute; l'adresse IP correctement.</p>
<p>Si &ccedil;a ne marche TOUJOURS pas (et que votre fournisseur
d'acc&egrave;s vous confirme que le serveur de noms fonctionne
correctement), vous devez avoir un probl&egrave;me ailleurs - et je
vous sugg&egrave;re de v&eacute;rifier votre installation de Linux
(en particulier les permissions des fichiers).</p>
<p>Si vous ne pouvez TOUJOURS pas pinger le serveur de nom de votre
fournisseur d'acc&egrave;s par l'adresse IP, soit il est
&eacute;teint (appelez les par t&eacute;l&eacute;phone et
v&eacute;rifiez) soit il y a un probl&egrave;me de routage du
c&ocirc;t&eacute; de votre fournisseur d'acc&egrave;s. De
m&ecirc;me appelez-les et demandez leur.</p>
<p>Un autre possibilit&eacute; est qu'&agrave; l'autre bout le
serveur PPP Linux n'ait pas l'option IP forwarding d'activ&eacute;e
dans le noyau !</p>
<p>Un bon test est d'essayer de se connecter avec le programme que
votre fournisseur d'acc&egrave;s vous a donn&eacute; pour (oups)
Microsoft Windows. Si tout marche sur un autre syst&egrave;me
d'exploitation avec exactement le m&ecirc;me compte, alors le
probl&egrave;me vient de votre machine Linux et NON de votre
fournisseur d'acc&egrave;s.</p>
<h2><a name="ss20.2">20.2 Je peux envoyer du courrier mais pas en
recevoir</a></h2>
<p>Si vous avez une adresse IP dynamique, c'est tout &agrave; fait
normal. Voir "Configurer les services" plus bas.</p>
<h2><a name="ss20.3">20.3 Pourquoi les gens ne peuvent pas faire de
finger, WWW, gopher, talk etc avec ma machine ?</a></h2>
<p>La aussi, si vous utilisez une adresse IP dynamique c'est tout
&agrave; fait normal. voir "Configurer les services" plus bas.</p>
<h2><a name="dynamic-serveur"></a> <a name="s21">21. Utiliser les
services Internet avec des adresses IP dynamiques</a></h2>
<p>Si vous utilisez une adresse IP dynamique (et tous les
provideurs ne vous donnerons qu'une adresse dynamique &agrave;
moins que vous ne payez bien plus pour votre connexion), vous devez
accepter les limitations qu'elle impose.</p>
<p>Tout d'abord, les requ&ecirc;tes pour les services sortant
fonctionneront parfaitement. Cela signifie que vous pourrez envoyer
du courrier avec sendmail (si sendmail est configur&eacute;
correctement), les fichiers ftp pour les sites distants, les
fingers vers d'autres machines, surfer sur le web etc.</p>
<p>En particulier, vous pourrez r&eacute;pondre au courrier que
vous avez re&ccedil;u m&ecirc;me si votre machine n'est plus
connect&eacute;e. Le courrier restera dans votre queue de messages
jusqu'&agrave; ce que vous appeliez votre FAI.</p>
<p>Cependant, votre machine N'est PAS connect&eacute;e &agrave;
Internet 24H/24, et en plus elle n'a pas la m&ecirc;me adresse IP
&agrave; chaque fois qu'elle se connecte. Il est donc impossible de
recevoir du courrier &eacute;lectronique directement sur votre
machine, et de cr&eacute;er un serveur web et ftp que vos amis
pourraient acc&eacute;der ! A partir du moment ou &ccedil;a
concerne Internet, votre machine n'est pas unique, ni accessible de
mani&egrave;re permanente comme cela serait le cas avec une adresse
IP unique (rappel - les autres machines utilisent les adresses IP
pour acc&eacute;der &agrave; votre machine).</p>
<p>Si vous configurez en serveur WWW (ou n'importe quoi d'autre),
il est totalement inconnu des utilisateurs d'Internet A MOINS
QU'ils soient au courant que votre machine est connect&eacute;e et
qu'ils connaissent votre adresse IP courante. Il y a plusieurs
fa&ccedil;on de fournir cette information, vous demander par
t&eacute;l&eacute;phone, leur envoyer un e-mail pour leur dire, ou
utiliser un fichier ".plan" sur le compte shell de votre
fournisseur d'acc&egrave;s (en partant du principe que votre
fournisseur d'acc&egrave;s permet les script shell et les
finger).</p>
<p>Maintenant, pour la majorit&eacute; des utilisateurs, &ccedil;a
n'est pas vraiment un probl&egrave;me - la plupart des gens veulent
pouvoir envoyer et recevoir leur email (sur le compte de leur
fournisseur d'acc&egrave;s) et faire des connexions sortantes vers
WWW, ftp et d'autres services d'Internet. Si vous AVEZ un besoin
imp&eacute;ratif de connexion sortantes, vous feriez mieux de
prendre une adresse IP statique. Cependant, vous pouvez aussi
explorer les m&eacute;thodes astucieuses ci dessous...</p>
<h2><a name="ss21.1">21.1 Configurer le courrier
&eacute;lectronique (email)</a></h2>
<p>M&ecirc;me avec une adresse IP dynamique, vous devrez
certainement configurer sendmail sur votre machine pour envoyer le
courrier que vous &eacute;crivez localement. La configuration de
sendmail peut &ecirc;tre obscure et difficile - ce document ne vous
parleras pas de la fa&ccedil;on de faire. Cependant, vous aimeriez
sans doute configurer sendmail pour que votre fournisseur
d'acc&egrave;s soit consid&eacute;r&eacute; comme un h&ocirc;te
"smart relay" (l'options <b>DS</b> de sendmail). (Pour plus d'info
sur la configuration de sendmail, voir la documentation de sendmail
- et regardez la configuration de m4 fourni avec sendmail. Il y a
forcement quelque chose qui r&eacute;ponds &agrave; ce que vous
cherchez).</p>
<p>Il y a un excellent livre sur Sendmail (une v&eacute;ritable
'bible' aux &eacute;ditions O'Reilly and Associates), mais c'est
certainement beaucoup trop pour la plupart des utilisateurs !</p>
<p>Une fois que vous avez configur&eacute; sendmail, vous avez
probablement envie que sendmail envoie les messages en attente
d&egrave;s que la connexion PPP est lanc&eacute;e. Pour cela,
ajouter la commande</p>
<blockquote>
<pre>
<code>sendmail -q &amp;
</code>
</pre></blockquote>
<p>dans votre script /etc/ppp/ip-up (voir plus haut).</p>
<p>Les mails entrant sont probl&eacute;matique avec les adresses IP
dynamiques. La fa&ccedil;on de les supporter est de :</p>
<ul>
<li>configurer votre lecteur d'email pour que le courrier
contiennent un champ "reply to" dans lequel il y aura votre adresse
&eacute;lectronique chez votre fournisseur d'acc&egrave;s.<br>
Si vous le pouvez, configurez &eacute;galement le champ FROM avec
votre adresse &eacute;lectronique chez votre FAI.</li>
<li>utiliser les programmes popclient, fetchmail pour
r&eacute;cup&eacute;rer le courrier chez votre fournisseur
d'acc&egrave;s. Ou bien, si votre FAI utilise IMAP, utilisez un
lecteur de courrier &eacute;lectronique ayant IMAP d'activ&eacute;
(comme pine).</li>
</ul>
<p>Vous pouvez automatiser ce processus lors de l'appel en ajoutant
la commande n&eacute;cessaire dans le script
<code>/etc/ppp/ip-up</code> (voir plus haut).</p>
<h2><a name="ss21.2">21.2 Configurer un serveur de noms
local</a></h2>
<p>M&ecirc;me si vous &ecirc;tes content d'utiliser le serveur de
noms situ&eacute; chez votre fournisseur d'acc&egrave;s, vous
pouvez en plus configurer un serveur de nom local (secondaire) de
cache uniquement qui serait lanc&eacute; avec le script ip-up.
L'avantage d'utiliser un serveur de noms local (cache uniquement)
est de gagner du temps (et de la bande passante) si vous contactez
souvent les m&ecirc;me sites pendant de longues sessions en
ligne.</p>
<p>La configuration du DNS pour un serveur de cache seulement (qui
utilise une ligne 'forwarders' dans le fichier named.boot pointant
sur le DNS de votre FAI) est relativement simple. Le livre O'Reilly
(DNS et Bind) explique tout ce que vous devez savoir sur le
sujet.</p>
<p>Il existe &eacute;galement un DNS-HOWTO.</p>
<p>Si un petit r&eacute;seau local acc&egrave;de &agrave; Internet
gr&acirc;ce &agrave; votre PC Linux (avec IP masquerading par
exemple), c'est sans doute une excellente id&eacute;e d'utiliser un
serveur de noms (avec la directive forwarders) puisque cela
r&eacute;duira les delais et la bande passante utilis&eacute;e pour
la r&eacute;solution des noms.</p>
<p>Un point de la Netiquette : demandez la permission &agrave;
votre fournisseur d'acc&egrave;s avant de mettre en place un
serveur de noms secondaire de cache uniquement dans le domaine de
votre FAI. Configur&eacute; correctement, il n'entrainera aucun
probl&egrave;me chez votre FAI, mais si il ne l'est pas, il peut
causer de nombreux probl&egrave;mes.</p>
<h2><a name="s22">22. Relier deux r&eacute;seaux locaux avec
PPP</a></h2>
<p>Il y a fondamentalement aucune diff&eacute;rence entre le fait
de relier un seul PC Linux avec PPP et relier deux r&eacute;seaux
locaux avec PPP et une machine sur chaque r&eacute;seau.
Souvenez-vous PPP est un protocole <b>r&eacute;versible</b>.</p>
<p>Cependant, vous devez <b>REELLEMENT</b> comprendre comment le
routage se d&eacute;roule. Lisez le NET-2 HOWTO et le Guide
d'administration Linux (NAG). Vous trouverez &eacute;galement une
aide inestimable dans le " TCP/IP Network Administration"
(publi&eacute; par O'Reilly and Assoc - ISBN 0-937175-82-X)</p>
<p>Si vous utilisez une adresse de sous-r&eacute;seau de chaque
c&ocirc;t&eacute; de la liaison, le (brouillon) de mini-howto Linux
sub networking pourra vous &ecirc;tre utile. Il est disponible
&agrave; <a href="http://www.interweft.com.au/other/">Linux Sub
networking mini-HOWTO</a>.</p>
<p>Pour relier deux r&eacute;seaux locaux, vous <b>devez</b>
utiliser des adresses IP diff&eacute;rentes (ou des
sous-r&eacute;seau d'adresses diff&eacute;rentes) et vous devrez
utiliser des adresses IP statiques ou l'IP Masquerading. Si vous
voulez utiliser l'IP Masquerading, consultez le mini-howto IP
masquerade pour avoir des instructions sur la mani&egrave;re de le
configurer.</p>
<h2><a name="ss22.1">22.1 Configurer les adresses IP</a></h2>
<p>Arrangez-vous avec l'administrateur syst&egrave;me de l'autre
r&eacute;seau local pour choisir les adresses IP qui seront
utilis&eacute;s de chaque c&ocirc;t&eacute; de l'interface PPP. Si
vous utilisez des adresses IP statiques, il sera sans doute
pratique d'appeler un num&eacute;ro de t&eacute;l&eacute;phone
d&eacute;di&eacute;.</p>
<p>Maintenant, &eacute;ditez le fichier
<code>/etc/ppp/options[.ttyXX]</code> appropri&eacute; - il est
judicieux d'avoir un modem et un port d&eacute;di&eacute; de chaque
c&ocirc;t&eacute; de la connexion. Cela n&eacute;cessite quelques
changements dans le fichier <code>/etc/ppp/options</code> et la
cr&eacute;ation d'un fichier options.ttyXX appropri&eacute; pour
les autres connexions !</p>
<p>Sp&eacute;cifiez les adresses IP pour le c&ocirc;t&eacute; de
votre liaison PPP dans les fichiers d'options appropri&eacute;s
exactement comme cela est d&eacute;cris plus haut pour les adresses
IP statiques.</p>
<h2><a name="ss22.2">22.2 Configurer le routage.</a></h2>
<p>Vous devez vous occuper que les paquets du r&eacute;seau local
soit rout&eacute;s &agrave; travers l'interface lorsque la liaison
PPP est lanc&eacute;e. Ce processus se fait en deux parties.</p>
<p>Tout d'abord, vous devez configurer une route partant de la
machine qui fait marcher la liaison PPP vers le r&eacute;seau
situ&eacute; &agrave; l'autre bout. Si cette liaison donne sur
Internet, vous pouvez utilisez la route par d&eacute;faut mise en
place par <code>pppd</code> lui-m&ecirc;me &agrave; la connexion
avec l'option <code>defaultroute</code>.</p>
<p>Si toutefois, la liaison relie seulement deux r&eacute;seaux
locaux, alors une route r&eacute;seau sp&eacute;cifique doit
&ecirc;tre ajout&eacute;e pour tous les r&eacute;seaux accessible
par cette liaison. C'est la commande 'route' qui le fait pour
chaque r&eacute;seau dans le script /etc/ppp/ip-up script (voir une
fois que la liaison fonctionne...) pour des instructions
d&eacute;taill&eacute;es.</p>
<p>La seconde chose dont vous avez besoin est de pr&eacute;venir
les autres ordinateurs que vous &ecirc;tes le gateway vers les
r&eacute;seaux situ&eacute;s &agrave; l'autre bout de la
liaison.</p>
<p>Bien s&ucirc;r, l'administrateur r&eacute;seau de l'autre
cot&eacute; de la liaison doit faire les m&ecirc;me choses !
Cependant, puisque qu'il route les paquets vers votre r&eacute;seau
particulier, une <b>route r&eacute;seau sp&eacute;cifique</b> est
indispensable, et non la route par d&eacute;faut (&agrave; moins
que le r&eacute;seau situ&eacute; &agrave; l'autre bout se connecte
chez vous pour acc&eacute;der &agrave; Internet).</p>
<h2><a name="ss22.3">22.3 S&eacute;curit&eacute;
r&eacute;seau</a></h2>
<p>Si vous reliez votre r&eacute;seau local &agrave; Internet avec
PPP - ou du moins avec un r&eacute;seau local "&eacute;tranger",
vous devez r&eacute;fl&eacute;chir aux probl&egrave;mes de
s&eacute;curit&eacute;. Je vous conseille fermement de penser
&agrave; configurer un firewall !</p>
<p>Vous devriez &eacute;galement parler &agrave; l'administrateur
r&eacute;seau de votre site <b>AVANT</b> de lancer une connexion
vers un r&eacute;seau local &eacute;tranger voire vers Internet ce
cette mani&egrave;re. Ne rien faire peut soit n'amener aucune
r&eacute;action soit de s&eacute;rieux probl&egrave;mes !</p>
<h2><a name="ip-up"></a> <a name="s23">23. Une fois que la
connexion fonctionne - le script
<code>/etc/ppp/ip-up</code></a></h2>
<p>Une fois que la connexion est &eacute;tablie, <code>pppd</code>
cherche un <code>/etc/ppp/ip-up</code>. Si ce script existe et est
ex&eacute;cutable, le daemon PPP le lance. Cela permet
d'automatiser des commandes de routages sp&eacute;ciales qui
peuvent &ecirc;tre n&eacute;cessaires et toutes les autres actions
que vous souhaitez lancer une fois que la liaison PPP est
activ&eacute;e.</p>
<p>C'est un simple script shell qui fait uniquement ce qu'un script
shell peut faire (en fait quasiment tout ce que vous voulez).</p>
<p>Par exemple, vous pouvez demander &agrave; sendmail d'envoyer
les messages en attentes.</p>
<p>Il y a quelques restrictions avec
<code>/etc/ppp/ip-up</code>:</p>
<ul>
<li>Il fonctionne d&eacute;lib&eacute;remment dans un environnement
r&eacute;duit pour augmenter la s&eacute;curit&eacute;. Cela
signifie que vous devez donner le chemin complet des
ex&eacute;cutables.</li>
<li>Techniquement, <code>/etc/ppp/ip-up</code> est un
<em>programme</em> et non un script. Cela signifie qu'il ne peut
pas &ecirc;tre ex&eacute;cut&eacute; directement - m&ecirc;me si il
a besoin du (<code>#!/bin/bash</code>) magique au d&eacute;but de
la premi&egrave;re ligne et qu'il doit &ecirc;tre lisible est
ex&eacute;cutable par root.</li>
</ul>
<h2><a name="ss23.1">23.1 Routages sp&eacute;ciaux</a></h2>
<p>Si vous reliez deux r&eacute;seaux locaux, vous devez configurer
des routes sp&eacute;cifiques vers le r&eacute;seau
'&eacute;tranger'. Le script <code>/etc/ppp/ip-up</code> peut le
faire facilement. La seule difficult&eacute; est lorsque votre
machine supporte plusieurs liaisons PPP.</p>
<p><code>/etc/ppp/ip-up</code> est utilis&eacute; &agrave; chaque
lancement de ppp, vous devez donc &ecirc;tre extr&ecirc;mement
vigilant d'ex&eacute;cuter les commandes de routage correctes pour
la liaison qui d&eacute;marre - et non lorsque n'importe quelle
liaison d&eacute;marre !</p>
<h2><a name="ss23.2">23.2 Support du courrier &eacute;lectronique
en attente</a></h2>
<p>Lorsqu'une liaison entre deux r&eacute;seaux locaux
d&eacute;marre, vous voudriez vous assurez que le courrier en
attente de chaque cot&eacute; de la liaison est bien envoy&eacute;
&agrave; son destinataire. Cela est possible en ajoutant un appel
correct &agrave; <code>sendmail</code>.</p>
<p>Utiliser la commande case du bash sur le bon param&egrave;tre
que passe pppd au script permet cela. Par exemple, voici un script
<code>/etc/ppp/ip-up</code> que j'utilise pour mes liaisons entre
l'entreprise et chez mon r&eacute;seau Ethernet (&eacute;galement
connect&eacute; au m&ecirc;me serveur ppp).</p>
<h2><a name="ss23.3">23.3 Un exemple de script
<code>/etc/ppp/ip-up</code></a></h2>
<p>Le script suivant permet de nombreuses utilisations.</p>
<hr>
<pre>
#!/bin/bash
#
# Script permettant de supporter les possiblites de routages necessaires a pppd
# Seule la liaison vers Newman necessite ce support.
#
# Quand la liaison ppp demarre, ce script est appele avec les parmetres 
# suivants
#       $1      le nom de l'interface utilisee par pppd (c.-a-d. ppp3)
#       $2      le nom du peripherique tty
#       $3      la vitesse du peripherique tty
#       $4      l'adresse IP locale de l'interface
#       $5      l'adresse  IP distante
#       $6      le parametre specifie par l'option 'ipparam' a pppd
#
case "$5" in
# Supporte le routage vers le serveur du Newman Campus
        202.12.126.1)
                /sbin/route add -net 202.12.126.0 gw 202.12.126.1
# et envoie les courriers en attente la-bas !
                /usr/sbin/sendmail -q &amp;
                ;;
        139.130.177.2)
# Notre liaison Internet
# Lorsque notre liaison est lancee, demarre le serveur de temps et 
# se synchronise avec le monde si il n'a pas encore bouge.
                if [ ! -f /var/lock/subsys/xntpd ]; then
                        /etc/rc.d/init.d/xntpd.init start &amp;
                fi
# Demarre le serveur de news (si il ne marche pas encore)
                if [ ! -f /var/lock/subsys/news ]; then
                        /etc/rc.d/init.d/news start &amp;
                fi
                ;;
        203.18.8.104)
# Recupere le courrier electronique sur ma machine tant que la liaison 
# fonctionne. Aucun routage n'est necessaire tant que mon reseau local
# Ethernet supporte IP masquerade et le routages proxyarp.
                /usr/sbin/sendmail -q &amp;
                ;;
        *)
esac
exit 0
</pre>
<hr>
<p>Le r&eacute;sultat du lancement de la liaison PPP vers notre
campus Newman et le d&eacute;marrage de ce script, d&eacute;termine
les entr&eacute;es de la table de routage (cette machine est aussi
notre serveur PPP g&eacute;n&eacute;ral ET supporte nos liaisons
Internet). J'ai ajout&eacute; des commentaires sur la sortie pour
expliquer a quoi correspond chaque entr&eacute;e) :</p>
<hr>
<pre>
[root@kepler /root]# route -n
Kernel routing table
Destination     Gateway         Genmask         Flags MSS    Window Use Iface
# la route de l'HOTE de notre gateway internet
139.130.177.2   *               255.255.255.255 UH    1500   0      134 ppp4
# la route de l'HOTE vers le serveur Newman campus
202.12.126.1    *               255.255.255.255 UH    1500   0       82 ppp5
# la route de l'HOTE de mon r&eacute;seau local ethernet
203.18.8.104    *               255.255.255.255 UH    1500   0       74 ppp3
# deux des lignes g&eacute;n&eacute;rales PPP
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
# la route r&eacute;seau specifique vers le r&eacute;seau Newman campus
202.12.126.0    202.12.126.1    255.255.255.0   UG    1500   0        0 ppp5
# la route de notre r&eacute;seau local Ethernet (super-netting two adjacent C classes)
203.18.8.0      *               255.255.254.0   U     1500   0     1683 eth0
# la route vers le p&eacute;riph&eacute;rique loop back
127.0.0.0       *               255.0.0.0       U     3584   0      483 lo
# la route par d&eacute;faut vers Internet
default         139.130.177.2   *               UG    1500   0     3633 ppp4
</pre>
<hr>
<h2><a name="ss23.4">23.4 Support du courrier
&eacute;lectronique</a></h2>
<p>La section pr&eacute;c&eacute;dente montrait comment supporter
le mail sortant - en envoyant simplement le courrier lorsque la
liaison d&eacute;marrait.</p>
<p>Si vous utilisez une liaison pour un r&eacute;seau large, vous
pouvez vous arranger avec l'administrateur r&eacute;seau du site
distant pour qu'il fasse exactement la m&ecirc;me chose. Par
exemple, &agrave; l'autre bout de la liaison au Newman Campus, le
script <code>/etc/ppp/ip-up</code> ressemble &agrave; :</p>
<hr>
<pre>
#!/bin/bash
#
# Script permettant de supporter les possiblites de routages necessaires a pppd
# Seule la liaison vers Hedland necessite ce support.
#
# Quand la liaison ppp demarre, ce script est appele avec les parmetres 
# suivants
#       $1      le nom de l'interface utilisee par pppd (c.-a-d. ppp3)
#       $2      le nom du peripherique tty
#       $3      la vitesse du peripherique tty
#       $4      l'adresse IP locale de l'interface
#       $5      l'adresse  IP distante
#       $6      le parametre specifie par l'option 'ipparam' a pppd
#
case "$5" in
        203.18.8.4)
                /usr/sbin/sendmail -q
                ;;
        *)
esac
exit 0
</pre>
<hr>
<p>Si toutefois, vous n'avez qu'une adresse IP dynamique chez votre
FAI, vous devrez recevoir votre courrier sur le compte de votre
fournisseur d'acc&egrave;s. Cela est g&eacute;n&eacute;ralement
possible en utilisant POP (Post Office Protocol). Ce processus peut
&ecirc;tre support&eacute; avec le programme 'popclient" - le
script ip-up peut automatiser le processus pour vous !</p>
<p>Cr&eacute;ez simplement un script <code>/etc/ppp/ip-up</code>
qui contient un appel correct &agrave; popclient. Pour mon portable
avec la RedHat Linux (que je prends lorsque je voyage), j'ai</p>
<hr>
<pre>
popclient -3 -c -u hartr -p &lt;password&gt; kepler.hedland.edu.au |formail -s procmail
</pre>
<hr>
<p>Vous pouvez aussi utiliser slurp en quelque chose d'autre
d'identique pour les news, et d'autres trucs. Souvenez vous que le
script ip-up est un script bash standard et qui peut servir
&agrave; automatiser TOUTES les fonctions que vous devez accomplir
chaque fois qu'une liaison PPP correspondante d&eacute;marre.</p>
<h2><a name="s24">24. Utiliser
<code>/etc/ppp/ip-down</code></a></h2>
<p>Vous pouvez &eacute;crire un script, qui sera
ex&eacute;cut&eacute; &agrave; chaque fois qu'une liaison se
termine. Qui se situe dans <code>/etc/ppp/ip-down</code>. Il peut
&ecirc;tre utilis&eacute; pour retirer ce que vous avez ajoutez de
sp&eacute;cial avec le script /etc/ppp/ip-up correspondant.</p>
<h2><a name="s25">25. Possibilit&eacute; de routage sur un
r&eacute;seau local</a></h2>
<p>Si vous &ecirc;tes connect&eacute; sur un r&eacute;seau local et
que vous voulez toujours utiliser PPP avec votre machine Linux,
vous devez d&eacute;finir les routes que les packets doivent
prendre pour atteindre le r&eacute;seau local &agrave; partir de
votre machine (par l'interface Ethernet) et &eacute;galement le
serveur PPP distant voire plus loin.</p>
<p>Cette section ne pr&eacute;tend pas vous apprendre le routage -
elle traite seulement de cas simples et sp&eacute;ciaux de routage
(statique) !</p>
<p>Je vous recommande chaudement de lire de Guide d'administration
R&eacute;seau Linux si vous n'&ecirc;tes pas habitu&eacute; avec le
routage. De m&ecirc;me le livre d'O'Reilly "TCP/IP Network
Administration" couvre le sujet de mani&egrave;re tr&egrave;s
abordable.</p>
<p>La r&egrave;gle de base du routage statique est que la route par
DEFAUT pointe &agrave; l'endroit o&ugrave; il y le PLUS grand
nombre d'adresse r&eacute;seau. Pour les autres r&eacute;seau,
entr&eacute;s des routes sp&eacute;cifiques dans la table de
routage.</p>
<p>La SEULE situation que je couvre ici est lorsque votre machine
Linux est sur un r&eacute;seau non connect&eacute; &agrave;
Internet - et vous voulez vous connectez &agrave; Internet pour une
utilisation personnelle tout en restant connect&eacute; au
r&eacute;seau local.</p>
<p>Tout d'abord, assurez-vous que votre route Ethernet est bien
configur&eacute; comme une adresse r&eacute;seau sp&eacute;cifique
disponible sur votre r&eacute;seau local - et PAS dans la route par
defaut !</p>
<p>V&eacute;rifiez cela en tapant la commande route, vous devriez
avoir quelque chose qui ressemble &agrave; ce qui suit :</p>
<blockquote>
<pre>
<code>[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
</code>
</pre></blockquote>
<p>Si votre interface Ethernet (eth0) pointe vers la route par
d&eacute;faut, (la premi&egrave;re colonne contiendra un "default"
dans la ligne eth0) vous devez changer les scripts
d'inititalisation d'Ethernet pour qu'ils utilisent des adresses
r&eacute;seau sp&eacute;cifiques plut&ocirc;t que la route par
d&eacute;faut (consultez le HOWTO Net2 et le NAG).</p>
<p>Cela va permettre &agrave; <code>pppd</code> de configurer votre
route par d&eacute;faut comme suit :</p>
<blockquote>
<pre>
<code>[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
</code>
</pre></blockquote>
<p>Comme vous pouvez le voir, nous avons une route d'h&ocirc;te
vers le serveur PPP (10.144.153.51) par ppp0 qui est
&eacute;galement la route par d&eacute;faut utilis&eacute; par le
serveur PPP comme gateway.</p>
<p>Si votre configuration est plus compliqu&eacute; que cela, lisez
les documents concernant le routage cit&eacute;s plus haut, et
consultez un expert de votre site !</p>
<p>Si votre r&eacute;seau local &agrave; aussi des routeurs, vous
devez d&eacute;j&agrave; avoir des gateways pour interconnecter les
r&eacute;seaux disponibles sur votre site. Vous devez TOUJOURS
mettre la route par d&eacute;faut vers l'interface PPP - et
utiliser des routes sp&eacute;cifiques pour les autres
r&eacute;seaux que vous acc&eacute;dez.</p>
<h2><a name="ss25.1">25.1 Remarques sur la
s&eacute;curit&eacute;</a></h2>
<p>Lorsque vous configurez une machine Linux sur un r&eacute;seau
local existant sur Internet, vous ouvrez potentiellement tout votre
r&eacute;seau local vers Internet - ainsi que les pirates qui
l'utilise. Avant de commencer, je vous conseille vivement de
consulter votre administrateur r&eacute;seau et le responsable de
la s&eacute;curit&eacute; de votre site. Si votre connexion PPP
vers Internet est utilis&eacute; et permet d'attaquer votre site,
vous serez dans la plus mauvaise position face &agrave; la
col&egrave;re de vos coll&egrave;gues et votre administrateur
syst&egrave;me et r&eacute;seau. Vous pourriez vous-m&ecirc;me
avoir de s&eacute;rieux probl&egrave;mes !</p>
<p>Avant de connecter un r&eacute;seau local sur Internet, vous
devez prendre en compte les probl&egrave;mes de
s&eacute;curit&eacute; m&ecirc;me avec une connexion DYNAMIQUE -
dans ce cas la r&eacute;f&eacute;rence la plus r&eacute;cente est
le "Building Internet Firewalls" d'O'Reilly !</p>
<h2><a name="ppp-serveur"></a> <a name="s26">26. Configurer un
serveur PPP</a></h2>
<p>Comme c'est mentionn&eacute; plus haut, il y a des tas de
fa&ccedil;ons de faire. Ce que je pr&eacute;sente ici est la
fa&ccedil;on de faire une liaison tournante sur plusieurs lignes
t&eacute;l&eacute;phoniques (avec une carte s&eacute;rie
multi-ports utilisant des Cyclades)</p>
<p>Si vous n'aimez pas la m&eacute;thode pr&eacute;sent&eacute;e
ici, faites donc comme vous pr&eacute;f&eacute;rez. J'aimerais
toutefois ajouter des m&eacute;thodes suppl&eacute;mentaires dans
les prochaines versions de ce HOWTO. Envoyez donc moi comment vous
faites !</p>
<p>Remarquez que cette section ne concerne que la configuration de
Linux comme serveur PPP. Je ne compte absolument pas donner
d'informations sur la fa&ccedil;on de configurer des serveurs
terminaux ou autre.</p>
<p>M&ecirc;me si, j'ai d&eacute;j&agrave; exp&eacute;riment&eacute;
l'utilisation de shadow password (et l'utilise de temps en temps).
Les informations pr&eacute;sent&eacute;es ici n'utiliserons
toutefois pas ce m&eacute;canisme.</p>
<h2><a name="ss26.1">26.1 Compiler le noyau</a></h2>
<p>Tous les commentaires pr&eacute;c&eacute;dent concernant la
compilation du noyau et les versions du noyau et de
<code>pppd</code> sont encore valables. Cette section
consid&egrave;re que vous avez lu les sections
pr&eacute;c&eacute;dentes du document !</p>
<p>Pour un serveur PPP, vous <b>DEVEZ</b> ajouter le support de IP
forwarding dans votre noyau. Vous pouvez aussi inclure d'autres
supports (comme le IP fire walls, accounting etc etc).</p>
<p>Si vous utilisez une carte s&eacute;rie multi-port, vous devez
bien entendu inclure &eacute;galement les pilotes
n&eacute;cessaires dans le noyau !</p>
<h2><a name="ss26.2">26.2 Pr&eacute;sentation du syst&egrave;me de
serveur</a></h2>
<p>Nous offrons des comptes PPP (ou SLIP) et des comptes shell en
utilisant les m&ecirc;mes paires nom utilisateur/ mot de passe.
Cela permet (pour nous) que les utilisateurs n'aient qu'un seul
compte qu'ils peuvent utiliser pour toutes les connexions.</p>
<p>Comme nous sommes une organisation &eacute;ducative, nous ne
faisons pas payer le personnel ni les &eacute;tudiants pour leur
acc&egrave;s, et nous n'avons donc pas besoin de nous
inqui&eacute;ter des probl&egrave;mes de payement.</p>
<p>Un firewall existe entre notre site et Internet, et cela limite
les acc&egrave;s des utilisateurs puisque les lignes d'appels sont
sur notre firewall Internet (pour certaines raisons
&eacute;videntes, le d&eacute;tails des autres firewalls internes
ne sera pas pr&eacute;sent&eacute; ici et serait de toute
fa&ccedil;on inutile)</p>
<p>Le processus avec lequel un utilisateur &eacute;tablit une
liaison PPP avec notre site (une fois qu'ils ont un compte bien
s&ucirc;r) :</p>
<ul>
<li>Appeler notre ligne d'appel group&eacute; (qui est un
num&eacute;ro de t&eacute;l&eacute;phone qui se connecte sur une
banque de modems - le premier modem libre est utilis&eacute;).</li>
<li>Connexion avec une paire valide de nom utilisateur et mot de
passe</li>
<li>Au prompt du shell, lancement de la commande <code>ppp</code>
pour lancer PPP sur le serveur.</li>
<li>D&eacute;marrer PPP sur le PC (il peut utiliser Windows, DOS,
Linux, MAC OS ou n'importe quoi d'autre - ce n'est pas un
probl&egrave;me).</li>
</ul>
<p>Le serveur utilise un fichier
<code>/etc/ppp/options.ttyXX</code> individuel pour chacune des
connexions sur le port o&ugrave; est configur&eacute; l'adresse IP
distante pour l'allocation des adresses IP dynamiques. Le serveur
utilisateur route les clients avec proxyarp (configur&eacute; avec
l'option appropri&eacute;e de pppd). Cela oblige la pr&eacute;sence
de routed ou gated.</p>
<p>Quand l'utilisateur raccroche de son cot&eacute;,
<code>pppd</code> le d&eacute;tecte et indique au modem de
raccrocher, fermant en m&ecirc;me temps la liaison PPP.</p>
<h2><a name="ss26.3">26.3 Faire marcher les programmes tous
ensemble</a></h2>
<p>Vous avez besoin des programmes suivants :</p>
<ul>
<li>Linux, correctement compil&eacute; avec les options
n&eacute;cessaires</li>
<li>La version de <code>pppd</code> correspondant &agrave; votre
noyau</li>
<li>Un programme 'getty' qui d&eacute;croche intelligemment les
communications par modem.<br>
Nous utilisons getty_ps2.0.7h, mais mgetty est aussi bien. Je sais
que mgetty peut s'apercevoir qu'un appel utiliser PAP/CHAP (PAP est
le standard pour Windows 95) et invoquer <code>ppp</code>d
automatiquement, mais je dois encore explorer un peu
&ccedil;a.</li>
<li>Un serveur de nom (DNS) fonctionnel qui est accessible pour les
utilisateurs qui se connectent.</li>
</ul>
<p><b>Ce howto ne couvre pas sa configuration. Regardez la
documentation de getty de votre choix ou le serial HOWTO pour plus
d'informations sur le sujet.</b></p>
<h2><a name="ss26.4">26.4 Configurer les fichiers
d'options</a></h2>
<p>Vous avez besoin de configurer la totalit&eacute; de
<code>/etc/ppp/options</code> avec les options standard pour les
ports d'appel. Les options utiles sont :</p>
<hr>
<pre>
asyncmap 0
netmask 255.255.254.0
proxyarp
lock
crtscts
modem
</pre>
<hr>
<p>Remarque - nous n'utilisons AUCUN routage (direct) - et en
particulier il n'y a pas d'option defaultroute. La raison de cela
est que tout ce dont vous avez besoin (en tant que serveur PPP)
&agrave; l'endroit o&ugrave; router les paquets <b>venant</b> du
client ppp vers votre r&eacute;seau local ou Internet et de router
les paquets <b>vers</b> le client ppp qui viennent du votre
r&eacute;seau local ou d'Internet.</p>
<p>Tout ce dont vous avez besoin est la route h&ocirc;te de la
machine client et l'utilisation de l'option 'proxyarp' de pppd.</p>
<p>L'option 'proxyarp' configure (surprise) une entr&eacute;e proxy
ARP dans la table ARP du serveur qui signifie en substance 'envoie
moi tous les paquets destin&eacute;s au client'. C'est la
mani&egrave;re la plus simple de configurer le routage vers un
client PPP unique - mais elle ne peut &ecirc;tre utilis&eacute;
pour le routage entre deux r&eacute;seaux locaux - vous devez alors
utiliser les routes r&eacute;seau r&eacute;elles qui ne pourront
pas utiliser le proxy ARP.</p>
<p>Vous devez certainement avoir envie de fournir des adresses IP
dynamiques aux utilisateurs qui se connectent. Vous pouvez le faire
en associant une adresse IP dynamique sur chaque port d'appel.
Cr&eacute;ez alors pour chaque port d'appel un
<code>/etc/ppp/options.ttyXX</code>.</p>
<p>Dedans, mettez simplement l'adresse IP locale du serveur et
l'adresse IP qui doit &ecirc;tre utilis&eacute; pour ce port. Par
exemple</p>
<hr>
<pre>
kepler:slip01
</pre>
<hr>
<p>Remarquez en particulier que vous pouvez utiliser les noms
d'h&ocirc;tes valides dans ce fichier (je trouve que c'est la seule
fa&ccedil;on de se souvenir des adresses IP des machines
importantes de mon r&eacute;seau, les noms sont bien plus
significatifs) !</p>
<h2><a name="ss26.5">26.5 Configurer pppd pour permettre aux
utilisateurs de le lancer</a></h2>
<p>Comme configurer une liaison ppp implique de configurer un
p&eacute;riph&eacute;rique dans le noyau (une interface
r&eacute;seau) et de manipuler les tables de routage, des
privil&egrave;ges sp&eacute;ciaux sont n&eacute;cessaires - en fait
la totalit&eacute; des privil&egrave;ges root.</p>
<p>Heureusement, <code>pppd</code> est pr&eacute;vu pour marcher
correctement avec set uid root. Vous devez donc</p>
<hr>
<pre>
chmod u+s /usr/sbin/pppd
</pre>
<hr>
<p>Quand vous listez le fichier, il doit appara&icirc;tre comme
cela</p>
<hr>
<pre>
-rwsr-xr-x   1 root     root        74224 Apr 28 07:17 /usr/sbin/pppd
</pre>
<hr>
<p>Si vous n'avez pas &ccedil;a, vous ne pourrez pas utiliser votre
liaison ppp.</p>
<h2><a name="ss26.6">26.6 Cr&eacute;er un alias global pour
pppd</a></h2>
<p>Pour simplifier les choses pour les utilisateurs de notre
connexion PPP, nous cr&eacute;erons un alias global (dans
/etc/bashrc) qui est en fait une simple commande qui lancera ppp
sur le serveur d&egrave;s qu'ils seront connect&eacute;s.</p>
<p>Cela nous donne</p>
<hr>
<pre>
alias ppp="exec /usr/sbin/pppd -detach"
</pre>
<hr>
<p>Et il fait ceci</p>
<ul>
<li>exec : va remplacer le programme en cours (dans le cas d'un
shell) par le programme qui va &ecirc;tre lanc&eacute;.</li>
<li>pppd -detach : lance <code>pppd</code> et le laisse pas en
t&acirc;che de fond. Cela assure que <code>pppd</code> existe et
qu'il n'y a pas d'autres processus qui tra&icirc;nent.</li>
</ul>
<p>Quand un utilisateur se connecte comme cela, il va
appara&icirc;tre apr&egrave;s un 'w'</p>
<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>Et c'est tout... Je vous avais dit que c'&eacute;tait simple un
serveur PPP de base !</p>
<h2><a name="directe"></a> <a name="s27">27. Utiliser PPP avec une
connexion null modem</a></h2>
<p>C'est tr&egrave;s simple - il n'y a pas de modem et ainsi les
choses sont bien plus facile.</p>
<p>Tout d'abord, choisissez une machine comme 'serveur', configurez
getty sur le port s&eacute;rie pour que vous testiez si vous avez
une connectivit&eacute; en utilisant minicom sur le 'client'.</p>
<p>Une fois que &ccedil;a fonctionne, vous pouvez enlever le getty
A MOINS que vous vouliez &ecirc;tre s&ucirc;r que la connexion
permet d'utiliser les paires nom utilisateur/ mot de passe pour les
connexions entrantes. Comme vous avez un 'contr&ocirc;le physique'
des deux machines, je pense que vous n'avez pas besoin de
&ccedil;a.</p>
<p>Maintenant, sur le serveur, enlevez getty et assurez vous que
les ports s&eacute;rie sont configur&eacute;s correctement sur les
deux machines avec 'setserial'.</p>
<p>Tout ce que vous avez besoin maintenant est de d&eacute;marrer
<code>pppd</code> sur les deux syst&egrave;mes. Je suppose que les
connexions utilise une connexion par /dev/ttyS34. Ainsi sur les
deux machines lancez la commande :</p>
<hr>
<pre>
pppd -detach crtscts lock &lt;local IP&gt;:&lt;remote IP&gt; /dev/ttyS3 38400 &amp;
</pre>
<hr>
<p>Cela devrait lancer la connexion - mais pour le moment il n'y a
aucun routage de sp&eacute;cifi&eacute;. Vous pouvez tester la
connexion en pingant l'autre machine. Si &ccedil;a marche,
&eacute;teignez la liaison en tuant le processus pppd</p>
<p>Le routage dont vous avez besoin d&eacute;pend de ce que vous
voulez faire exactement. G&eacute;n&eacute;ralement, une des
machines sera connect&eacute; sur un r&eacute;seau Ethernet (et
m&ecirc;me plus) le routage n&eacute;cessaire est donc exactement
le m&ecirc;me qu'entre un serveur PPP et un client.</p>
<p>Sur la machine &eacute;quip&eacute;e d'Ethernet, la commande
sera donc</p>
<hr>
<pre>
pppd -detach crtscts lock proxyarp &lt;local IP&gt;:&lt;remote IP&gt; /dev/ttyS3 38400 &amp;
</pre>
<hr>
<p>et sur l'autre machine</p>
<hr>
<pre>
pppd -detach crtscts lock defaultroute &lt;local IP&gt;:&lt;remote IP&gt; /dev/ttyS3 38400 &amp;
</pre>
<hr>
<p>Si vous reliez deux r&eacute;seaux locaux (avec une liaison
s&eacute;rie !) vous aurez besoin d'un routage plus complexe, vous
pouvez utiliser /etc/ppp/ip-up exactement de la m&ecirc;me
fa&ccedil;on qu'il est d&eacute;crit plus haut.</p>
<p><b>Robert Hart</b><br>
Port Hedland, Western Australia<br>
Melbourne, Victoria, Australia August/October 1996 January/March
1997</p>
</body>
</html>