/usr/share/doc/HOWTO/pl-html/AX25-HOWTO.pl.html is in doc-linux-pl-html 2002.06.14-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<META HTTP-EQUIV="content-type" content="text/html; charset=iso-8859-2">
<TITLE>Linux AX25-HOWTO, Radio Amatorskie.</TITLE>
</HEAD>
<BODY>
<H1>Linux AX25-HOWTO, Radio Amatorskie.<BR></H1>
<H2>Terry Dawson, VK2KTJ,
<A HREF="mailto:terry@perf.no.itg.telecom.com.au">terry@perf.no.itg.telecom.com.au</A>.<BR>
v1.4, 2 Marca 1997.<BR>
<B>Wersja polska: Benedict P. Barszcz, KB2QZV
<A HREF="mailto:poseidon@ziplink.net">poseidon@ziplink.net</A><BR></B>
v1.4, 28 kwietnia 1997</H2>
<P><HR>
<EM>System Operacyjny Linux jest chyba jedynym na ¶wiecie systemem operacyjnym, który szczyci siê standardow± i rodzim± obs³ug± protoko³u AX.25 dla packet radio u¿ywanego przez operatorów Radia Amatorskiego po ca³ym ¶wiecie. Dokument ten jest po¶wiêcony temu jak zainstalowaæ i skonfigurowaæ tê obslugê.</EM>
<HR>
<H2><A NAME="s1">1. Wstêp</A></H2>
<P>Dokument ten by³ pocz±tkowo za³±cznikiem do HAM-HOWTO ale urós³ za bardzo, aby mo¿na go by³o w ten sposób nadal pisaæ. Dokument ten opisuje w jaki sposób zainstalowaæ i skonfigurowaæ rodzim± obs³ugê protoko³ów AX25, NetRom oraz Rose na Linuxie. Podano tutaj kilka typowych konfiguracji, które mog± pos³u¿yæ jako model do dalszej pracy.
<P>Wersje protoko³ów radia amatorskiego pod Linuxem s± bardzo elastyczne. Dla ludzi, którzy nie s± zbytnio zapoznani z systemem operacyjnym Linux proces konfiguracji wydawaæ siê mo¿e uci±¿liwy i skomplikowany. Zajmie ci to trochê czasu zanim zrozumiesz w jaki sposób wszystko ze sob± pasuje. Konfiguracja jest bardzo trudna je¶li wpierw nie zapoznasz siê z Linuxem ogólnie. Nie oczekuj, ¿e uda ci siê przej¶æ z jakiego¶ ¶rodowiska do Linuxa bez zapoznania siê uprzednio z samym Linuxem.
<P>
<H2>1.1 Zmiany w stosunku do poprzednich wersji</H2>
<P>
<DL>
<DT><B>Dodatki.</B><DD><P>do³±czy³em informacje o ³atce dla modu³ów. Doda³em parê ogólnych informacji o strukturze j±dra.
<P>
<DT><B>Poprawki.</B><DD><P>Poprawi³em konfiguracje ax25d - podziêkowania dla John Tanner, VK2ZXQ. Poprzestawia³em mnóstwo rzeczy, powinno teraz byæ bardziej logicznie.
<P>
<DT><B>Do zrobienia.</B><DD><P>Poprawiæ sekcjê o SCC, obecna jest chyba z³a. Rozwin±æ sekcjê programowania. Dodaæ odno¶niki do dokumentacji ¼róde³ AX25 i NetRom.
</DL>
<P>
<P>
<H2>1.2 Inne dokumentacje na ten temat</H2>
<P>Jest wiele zwi±zanych z tym tematem dokumentów. Jest sporo dokumentów traktuj±cych o sprawach sieciowych pod Linuxem w sposób bardziej ogólny, które bardzo polecam poniewa¿ pomog± ci one w twoich wysi³kach i dadz± ci g³ebszy wgl±d w inne mo¿liwe konfiguracje.
<P>Oto one:
<P>
<A HREF="http://sunsite.unc.edu/LDP/HOWTO/HAM-HOWTO.html">HAM-HOWTO</A><P>
<A HREF="http://sunsite.unc.edu/LDP/HOWTO/Ethernet-HOWTO.html">Ethernet-HOWTO</A><P>
<A HREF="http://www.jtz.org.pl/Html/NET-3-HOWTO.pl.html">NET-3-HOWTO</A><P>
<H2><A NAME="s2">2. Gdzie znale¼æ najnowsz± wersjê tego dokumentu</A></H2>
<P>Najlepszym miejscem do znalezienia ostatniej wersji tego dokumentu jest Archiwum Linux Documentation Project. Linux Documentation Project prowadzi Web Server i dokument niniejszy pojawia siê tam jako
<A HREF="http://sunsite.unc.edu/LDP/HOWTO/AX25-HOWTO.html">The AX25-HOWTO</A>. Mo¿esz te¿ skontaktowaæ siê ze mn± ale zwykle przekazujê ostatnie wersje tego dokumentu koordynatorowi projektu LDP, wiêc je¶li go tam nie ma to s± du¿e szanse, ¿e jeszcze go nie skoñczy³em.
<P>
<H2><A NAME="s3">3. Protoko³y dla Packet Radio a Linux</A></H2>
<P>Protokó³ <I>AX.25</I> oferuje dwa tryby operacji: connected i connectionless. U¿ywany jest albo do po³±czeñ typu stacja-do-stacji albo jako medium dla innych protoko³ow takich jak TCP/IP lub NetRom.
<P>Podobny jest w swej strukturze do X.25 level 2 z pewnymi modyfikacjami, które czyni± go bardziej u¿ytecznym do pracy w ¶rodowisku radia amatorskiego.
<P>Protokó³ <I>NetRom</I> jest prób± pe³nego protoko³u sieciowego i w swej najni¿szej warstwie u¿ywa AX.25 jako protoko³u typu datalink. Dostarcza on sieciowej warstwy, która jest adaptowan± form± AX.25. Protokó³ NetRom cechuje siê dynamicznym routingiem, posiada te¿ funkcjê pseudonimów dla wêz³ów.
<P>Protokó³ <I>Rose</I> zosta³ wynaleziony i po raz pierwszy zastosowany przez Tom'a Moulton, W2VY, i jest wariacj± protoko³u X.25 w warstwie packet. Pomy¶lany jest tak, ¿e AX.25 jest jego warstw± typu datalink. Sam równie¿ dostarcza warstwê sieciow±. Adresy Rose przyjmuj± formê 10 cyfrowych numerków. Pierwsze cztery cyfry stanowi± Data Network
Identification Code (DNIC) i wziête zosta³y z za³±cznika B z zaleceñ CCITT X.121. Wiêcej informacji na temat protoko³u Rose mo¿na uzyskaæ z
<A HREF="http://www.rats.org/">Serwera RATS</A>.
<P>Pocz±tkowo, wczesne oprogramowanie AX.25 wspó³pracuj±ce z j±drem Linuxa wypracowa³ Alan Cox. Nastêpnie
<A HREF="mailto:g4klx@g4klx.demon.co.uk">Jonathon Naylor</A> przej±³ rozwijaj±cy siê projekt dodaj±c ob³ugê NetRomu i Rose; obecnie on w³a¶nie zajmuje siê opracowywaniem ¼róde³ AX.25 wspó³pracujego z j±drem Linuxa. DAMA zosta³o napisane przez
<A HREF="mailto:jreuter@lykos.tng.oche.de">Joerg Reuter</A>. Obs³ugê karty d¼wiêkowej jako modemu oraz modem Baycom doda³
<A HREF="mailto:sailer@ife.ee.ethz.ch">Thomas Sailor</A>. Programy narzêdziowe AX.25 s± obecnie prowadzone przeze mnie.
<P>Linux obs³uguje TNC w trybie KISS (Terminal Node Controllers), kartê Ottawa PI, kartê Gracillis PacketTwin oraz inne oparte na scalaku SCC Z8530, modem Baycom zarówno seryjny jak i równoleg³y. Nowy, od Tomasza, sterownik D¼wiêkoModemu obs³uguje karty d¼wiêkowe SoundBlaser oraz te zbudowane w oparciu o Crystal chipset.
<P>Programy u¿ytkownika zawieraj± prosty PMS (Personal Message System), program latarnie, liniowy program 'call' do po³aczeñ, 'listen' przyk³adowy program do uchwycenia surowych ramek AX.25 na poziomie interfejsu, oraz programy do konfiguracji NetRomu. Za³±czono równie¿ program, ktory jest jakby serwerem AX.25 przechwytuj±cym i rozprowadzaj±cym wchodz±ce po³±czenia; jest te¿ demonik dla NetRomu, który wykonuje ca³± czarn± robotê dla obs³ugi protoko³u NetRom.
<P>
<H2>3.1 Jak to wszystko dzia³a?</H2>
<P>AX.25 pod Linuxem jest zupe³nie now± implementacj±. Choæ na pozór wygl±da podobnie do NOS, BPQ lub innych implementacji AX.25 to jednak nie przypomina ¿adnej z nich ani nie jest identyczn± z ¿adn± z nich. AX.25 pod Linuxem mo¿na skonfigurowaæ tak, ¿e bêdzie zachowywaæ siê niemal¿e tak jak inne implementacje AX.25 ale proces konfiguracyjny jest bardzo odmienny.
<P>Aby dopomóc ci w sposobie my¶lenia przy konfigurowaniu, sekcja ta stara siê wyja¶niæ niektóre strukturalne cechy AX.25 oraz umieszcza je w ogólnej strukturze Linuxa.
<P><B>Uproszczony schemat warstw protoko³ów sieciowych</B>.
<PRE>
-----------------------------------------------
| AF_AX25 | AF_NETROM | AF_INET | AF_ROSE |
|=========|===========|=============|=========|
| | | | |
| | | TCP/IP | |
| | ---------- | |
| | NetRom | | Rose |
| -------------------------------------
| AX.25 |
-----------------------------------------------
</PRE>
Schemat ten ilustruje poprostu, ¿e NetRom, TCP/IP i Rose wszystkie razem rezyduj± na protokole AX.25 ale ¿e ka¿dy z nich traktowany jest osobno u poziomu programowania na interfejsie. Nazwy 'AF' to nazwy nadawane dla <I>Address Family</I> ka¿dego z tych protoko³ów podczas pisania dla nich programów. Wa¿ne tutaj jest to, ¿e konfiguracja urz±dzenia AX.25 kluczowo wp³ywa na to jak bêd± konfigurowane NetRom, Rose oraz TCP/IP.
<P><B>Schemat modu³ów w implementacji sieciowej Linuxa</B>
<PRE>
----------------------------------------------------------------------------
User | Programs | call node || Daemons | ax25d mheardd
| | pms mheard || | inetd netromd
----------------------------------------------------------------------------
| Sockets | open(), close(), listen(), read(), write(), connect()
| |------------------------------------------------------
| | AF_AX25 | AF_NETROM | AF_ROSE | AF_INET
|------------------------------------------------------------------
Kernel | Protocols | AX.25 | NetRom | Rose | IP/TCP/UDP
|------------------------------------------------------------------
| Devices | ax0,ax1 | nr0,nr1 | rose0,rose1 | eth0,ppp0
|------------------------------------------------------------------
| Drivers | Kiss PI2 PacketTwin SCC BPQ | slip ppp
| | Soundmodem Baycom | ethernet
----------------------------------------------------------------------------
Hardware | PI2 Card, PacketTwin Card, SCC card, Serial port, Ethernet Card
----------------------------------------------------------------------------
</PRE>
Ten schemat jest troszeczkê bardziej ogólny od pierwszego. Stara siê on ukazaæ zale¿no¶æ pomiêdzy programami narzêdziowymi, j±drem oraz sprzêtem. Pokazuje te¿ zale¿no¶æ pomiêdzy interfejsem programowania <CODE>gniazd</CODE> dla aplikacji, w³a¶ciwymi modu³ami protoko³ów, interfejsami sieciowymi j±dra, oraz sterownikami urz±dzeñ. Ka¿dy element schematu polega na tym elemencie, który jest poni¿ej niego samego i konfiguracjê trzeba rozpoczynaæ od samego do³u w górê. Wiêc dla przyk³adu, je¶li chesz odpalaæ program <I>call</I> to musisz równie¿ skonfigurowaæ sprzêt, nastêpnie upewniæ siê, ¿e j±dro posiada odpowiedni sterownik urz±dzenia, dalej musisz stworzyæ w³a¶ciwy interfejs sieciowy oraz, ¿e j±dro zawiera w³a¶ciwy protokó³, który oferuje odpowiedni dla programu <I>call</I> interfejs programowania. W takiej hierarchii stara³em siê te¿ roz³ozyæ ten dokument.
<P>
<H2><A NAME="s4">4. Sk³adniki oprogramowania AX.25/NetRom.</A></H2>
<P>Oprogramowanie AX.25 sk³ada siê z trzech czê¶ci: ¼rode³ j±dra, narzêdzi do konfiguracji sieci oraz programów narzêdziowych.
<P>Wersje j±dra Linuxa 2.0.xx zawieraj± w sobie pierwotnie sterowniki dla AX.25, NetRom, dla kart Z8530 SCC, PacketTwin i Gracillis. Zosta³y one znacz±co udoskonalone w j±drach 2.1.xx. Niestety, pozosta³a czê¶æ j±dra 2.1.* czyni je bardz± chwiejnymi i nie nadaj± sie w takim stanie do za³±czenia w stabilnych wersjach j±der. Aby zaradziæ temu problemowi, Jonathon Naylor przygotowa³ zespó³ ³atek, które oblugê protoko³ów radia amatorskiego w j±drach 2.0.xx wynosz± do poziomu standardu j±der 2.1.*. Jest to bardz± ³atwe w zaaplikowaniu i wprowadza wachlarz us³ug, które s± nieobecne w standardowych j±drach, np. ob³ugê Rose.
<P>
<H2>4.1 Gdzie znale¼æ j±dro, narzêdzia i zespó³ programów narzêdziowych?</H2>
<H3>¬ród³a j±dra</H3>
<P>¬ród³a j±dra nale¿y szukaæ w jego zwyczajnym miejscu:
<P>
<A HREF="ftp://ftp.funet.fi//pub/Linux/PEOPLE/Linus/v2.0/linux-2.0.29.tar.gz">ftp://ftp.funet.fi//pub/Linux/PEOPLE/Linus/v2.0/linux-2.0.29.tar.gz</A><P>Obecna kopia zespo³u ³atek wed³ug Jonathon'a znajduje siê na:
<P>
<A HREF="ftp://ftp.cs.nott.ac.uk/jsn/ax25-module-12.tar.gz">ftp://ftp.cs.nott.ac.uk/jsn/ax25-module-12.tar.gz</A><P>
<H3>Narzêdzia sieciowe</H3>
<P>Ostatnia wersja <I>alpha</I> standardowych narzêdzi sieciowych Linuxa obs³uguje AX.25 i NetRom i mo¿na j± znale¿æ tutaj:
<P>
<A HREF="ftp://ftp.inka.de/pub/comp/Linux/networking/net-tools/net-tools-1.32-alpha.tar.gz">ftp://ftp.inka.de/pub/comp/Linux/networking/net-tools/net-tools-1.32-alpha.tar.gz</A><P>lub
<P>
<A HREF="ftp://ftp.linux.org.uk/pub/linux/Networking/base/net-tools-1.32-alpha.tar.gz">ftp://ftp.linux.org.uk/pub/linux/Networking/base/net-tools-1.32-alpha.tar.gz</A><P>Ostani pakiet ipfwadm mo¿na znale¼æ tu:
<P>
<A HREF="ftp://ftp.xos.nl/pub/linux/ipfwadm/">ftp://ftp.xos.nl/pub/linux/ipfwadm/</A><P>
<H3>Programy narzêdziowe AX.25</H3>
<P>Istniej± dwie odmienne ¿y³y programów narzêdziowych AX.25. Jedna przeznaczona jest do pracy z j±drami 2.0.* a druga albo do j±der 2.1.* lub do kombinacji: j±dro 2.0.28+³atka module10. Numer wersji pakietu ax25-utils wskazuje na najstarsz± wersjê j±dra, z któr± mog± pracowaæ. Wybierz sobie tak± wersjê pakietu ax25-utils, która bêdzie pracowaæ z j±drem twojego systemu.
<P>Programy narzêdziowe dla 2.1.22 i pó¼niejszych, oraz ax25-utils+module mo¿na znale¼æ na domowej stronie Jonathon'a Naylor:
<P>
<A HREF="ftp://ftp.cs.nott.ac.uk/jsn/">ftp://ftp.cs.nott.ac.uk/jsn/ax25-utils-2.1.22b.tar.gz</A><P>lub na:
<P>
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/ham/ax25/ax25-utils-2.1.22b.tar.gz">ftp://sunsite.unc.edu/pub/Linux/apps/ham/ax25/ax25-utils-2.1.22b.tar.gz</A><P>Starsze narzêdzia, zdolne do pracy z niepo³atanym j±drem 2.0.29 nazywaj± siê ax25-utils-2.0.12c.tar.gz w tym samym miejscu.
<P>
<H2><A NAME="s5">5. Instalacja oprogramowania AX.25/NetRom.</A></H2>
<P>Aby w sposób udany zainstalowaæ obs³ugê AX.25/NetRom na systemie Linux nale¿y skonfigurowaæ i zainstalaowaæ w³a¶ciwe j±dro a nastêpnie programy narzêdziowe AX.25.
<P>
<H2>5.1 Kompilacja j±dra.</H2>
<P>Je¶li jeste¶ ju¿ zaznajomiony z kompilowaniem j±dra na Linuxie to mo¿esz pomin±æ tê sekcjê, upewnij siê tylko, ¿e wybra³e¶ w³a¶ciwe opcje dla j±dra. Je¶li nie, to czytaj dalej.
<P>Normalnie, ¼ród³a j±dra nale¿y rozpakowywaæ bêd±c w katalogu <CODE>/usr/src</CODE> do podkatalogu zwanego linux. Aby to uczyniæ nale¿y siê zalogowaæ jako root a nastêpnie wykonaæ takie czynno¶ci:
<PRE>
# cd /usr/src
# mv linux linux.old
# tar xvfz linux-2.0.29.tar.gz
# tar xvfz ax25-module-12.tar.gz
# patch -p0 < /usr/src/ax25-module-12/ax25-2.0.29-2.1.22.diff
# cd linux
</PRE>
<P>Po tym jak rozpakowa³e¶ i po³ata³e¶ j±dro, musisz odpaliæ skrypt konfiguracyjny i zaznaczyæ opcje, które odpowiadaj± uk³adowi twojego sprzêtu oraz te, które chcesz, aby by³y obecne w j±drze. Wystarczy napisaæ:
<PRE>
# make config
</PRE>
<P>Je¶li wolisz metodê opart± o menu to mo¿na te¿ spróbowaæ:
<PRE>
# make menuconfig
</PRE>
<P>Opiszê tutaj metodê zasadnicz±, a ty wybierz tak± jaka ci najbardziej odpowiada.
W obu przypadkach zostaniesz postawiony wobec pytañ, na które trzeba odpowiedzieæ "tak" lub "nie". (Zauwa¿, ¿e mo¿na te¿ odpowiedzieæ naci¶niêciem "M" je¶li u¿ywa¿ modu³ów w Linuxie. Dla uproszczenia jednak przyjmujê, ¿e ich nie u¿ywasz, wiêc dokonaj w³a¶ciwych poprawek je¶li jest przeciwnie.)
<P>Najbardziej zasadniczymi opcjami dla skonfigurowania AX.25 s±:
<PRE>
Code maturity level options --->
...
[*] Prompt for development and/or incomplete code/drivers
...
General setup --->
...
[*] Networking support
...
Networking options --->
...
[*] TCP/IP networking
[?] IP: forwarding/gatewaying
...
[?] IP: tunneling
...
[?] IP: Allow large windows (not recommended if <16Mb of memory)
...
[*] Amateur Radio AX.25 Level 2
[?] Amateur Radio NET/ROM
[?] Amateur Radio X.25 PLP (Rose)
...
Network device support --->
[*] Network device support
...
[*] Radio network interfaces
[?] BAYCOM ser12 and par96 driver for AX.25
[?] Soundcard modem driver for AX.25
[?] Soundmodem support for Soundblaster and compatible cards
[?] Soundmodem support for WSS and Crystal cards
[?] Soundmodem support for 1200 baud AFSK modulation
[?] Soundmodem support for 4800 baud HAPN-1 modulation
[?] Soundmodem support for 9600 baud FSK G3RUH modulation
[?] Serial port KISS driver for AX.25
[?] BPQ Ethernet driver for AX.25
[?] Gracilis PackeTwin support for AX.25
[?] Ottawa PI and PI/2 support for AX.25
[?] Z8530 SCC KISS emulation driver for AX.25
...
</PRE>
Opcje, które oznakowa³em jako '*' to te, na które musisz odpowiedzieæ 'Y' - tak. Reszta jest zale¿na od sprzêtu, jaki posiadasz oraz od opcji, które sobie ¿yczysz. Niektóre z tych opcji s± opisane trochê po¼niej, wiêc je¶li nie wiesz jeszcze czego chcesz to czytaj dalej a potem tutaj wróæ.
<P>Po skoñczeniu konfiguracji j±dra powiniene¶ teraz g³adko skompilowaæ j±dro:
<P>
<PRE>
# make dep
# make clean
# make zImage
</PRE>
Upewnij siê, aby skopiowaæ plik arch/i386/boot/zImage tam gdzie byæ powinien oraz zrób edycje /etc/lilo oraz restartuj lilo, aby¶ faktycznie odpali³ system z nowego j±dra.
<P>
<H3>Co jest nowego w j±drach 2.0.*+ModuleXX i 2.1.* ?</H3>
<P>J±dra 2.1.* zawieraj± udoskonalone wersjê niemal¿e wszyskich protoko³ów oraz sterowników. Najbardziej znacz±ce nowinki to:
<P>
<BLOCKQUOTE><CODE>
modularyzacja
<BLOCKQUOTE><CODE>
protoko³y i sterowniki zosta³y zmodularyzowane tak, ¿e mo¿na nimi do woli ¿±glowaæ poleceniami insmod, rmmod. Redukuje to wymogi pamiêciowe dla j±dra przy sporadycznie u¿ywanych modu³ach oraz sprawia, ¿e polowanie na pluskwy i pielêgancja s± ³atwiejsze.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<BLOCKQUOTE><CODE>
wszystkie sterowniki s± teraz sterownikami sieciowymi
<BLOCKQUOTE><CODE>
wszelkie urz±dzenia jak Baycom, SCC, PacketTwin, Gracillis itp. oferuj± teraz normalny interfejs sieciowy, tzn. wygl±daj± teraz tak jak sterownik Ethernetu; nie wygl±daj± ju¿ tak jak TNC w trybie KISS. Na ¿yczenie, mo¿na zbudowaæ interfejs kiss do tych urz±dzeñ przy pomocy programiku 'net2kiss'.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<BLOCKQUOTE><CODE>
usuniêto pluskwy
<BLOCKQUOTE><CODE>
wiele pluskw zosta³o wykrytych i zniszczonych dodano te¿ do sterowników i protoko³ów sporo nowych cech i funkcji.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<H2>5.2 Narzêdzia do ustawiania sieci</H2>
<P>Teraz, po wykompilowaniu j±dra, powiniene¶ równie¿ skompilowaæ nowe narzêdzia do konfiguracji sieci. Przy ich pomocy bêdziesz móg³ manipulowaæ interfejsami sieciowymi oraz dodawaæ routing do tablic routingowych.
<P>Nowa wersja <I>alpha</I> standardowego pakietu net-tools zawiera obs³ugê AX.25 i NetRom. Sprawdza³em to i wydaje siê, ¿e u mnie dzia³a to ¶wietnie.
<P>
<H3>Budowa standardowej wersji net-tools.</H3>
<P>Nie zapomnij przeczytaæ pliku Readme i zastosowaæ siê to wszelkich tam podanych wskazówek. Czynno¶ci jakie ja wykona³em, by skompilowaæ net-tools to:
<P>
<PRE>
# cd /usr/src
# tar xvfz net-tools-1.32-alpha.tar.gz
# cd net-tools-1.32-alpha
# make config
</PRE>
W tym stadium zaoferowane ci zostan± pytania podobnie jak przy kompilacji j±dra. Upewnij siê, aby zaznaczyæ obs³ugê jakichkolwiek protoków, które zamierzasz u¿ywaæ.W razie, gdyby¶ nie wiedzia³ co odpowiedzieæ, zaznacz "Y".
<P>Net-tools powinny skompilowaæ siê g³adko ze ¼ród³ami j±dra bez ¿adnych ostrze¿eñ.
gdy kompilacja ustanie, wówczas wydaj polecenie:
<PRE>
# make install
</PRE>
to zainstaluje programy w ich w³a¶ciwe miejsca.
<P>Je¶li planujesz u¿ywaæ us³ugê IP firewall to potrzebujesz ostatnich narzêdzi ipfwadm do administracji <CODE>¶ciany ogniowej</CODE>. Narzêdzie to podmienia starsze <CODE>ipfw</CODE>, które nie pracuje ju¿ z nowszymi j±drami.
<P>Programik ipfwadm skompilowa³em w taki sposób:
<PRE>
# cd /usr/src
# tar xvfz ipfwadm-2.0beta2.tar.gz
# cd ipfwadm-2.0beta2
# make install
# cp ipfwadm.8 /usr/man/man8
# cp ipfw.4 /usr/man/man4
</PRE>
<P>
<H2>5.3 Pogramy narzêdziowe AX.25</H2>
<P>Po skompilowaniu i restarcie nowego j±dra, potrzebujesz jeszcze skompilowaæ programy narzêdziowe. Aby skompilowaæ programy narzêdziowe nale¿y wykonaæ takie czynno¶ci:
<PRE>
# cd /usr/src
# tax xvfz ax25-utils-2.1.22b.tar.gz
# cd ax25-utils-2.1.22b
# make config
# make
# make install
</PRE>
Pliki zostan± zainstalowane pierwotnie do katalogu /usr w podkatalogi takie jak:
bin, sbin, etc and man.
<P>Je¶li poka¿± ci siê ostrze¿enia podobnej tre¶ci:
<PRE>
gcc -Wall -Wstrict-prototypes -O2 -I../lib -c call.c
call.c: In function `statline':
call.c:268: warning: implicit declaration of function `attron'
call.c:268: `A_REVERSE' undeclared (first use this function)
call.c:268: (Each undeclared identifier is reported only once
call.c:268: for each function it appears in.)
</PRE>
zatem powiniene¶ pozprawdzaæ czy masz na swoim systemie zainstalowany poprawnie pakiet <CODE>ncurses</CODE>. Skrypt konfiguracyjny stara siê zlokalizowaæ pakiet ncurses na twoim systemie w znanych katalogach. Niektóre jednak instalacje ¼le wpisuj± ncurses i skryp nie potrafi ich znale¼æ.
<P>
<H2><A NAME="s6">6. Najpierw o znakach radioamatorkich , adresach, itp.</A></H2>
<P>Ka¿dy port AX.25 lub NetRom na twoim systemie musi mieæ przydzielony znak i przypiêty do niego numeryczny identyfikator stacji. Rzeczy te konfigurujemy w plikach, które zosta³y opisane dalej. Niektóre implementacje AX.25, np. BPQ lub NOS, pozwalaj± na przypisanie tego samego <CODE>znaku/indentyfikatora</CODE> na obu portach AX.25 i NetRom. Linux na to nie pozwala z pewnych technicznych, skomplikowanych powodów. W praktyce, nie jest to taki wielki problem.
<P>Oznacza to, ¿e przy konfigurowaniu trzeba byæ ¶wiadomy tych rzeczy i wzi±æ je pod uwagê:
<OL>
<LI>Ka¿dy port ax.25 lub NetRom musi byæ konfigurowany z unikalnym znakiem/identyfikatorem.</LI>
<LI>TCP/IP u¿ywaæ bêdzie tego znaku/identyfikatora, na którego porcie odbywa siê odbiór i transmisja AX.25, tj. ten, który skonfigurowa³e¶ w punkcie 1.</LI>
<LI>NetRom u¿ywaæ bêdzie tego znaku/identyfikatora, który zosta³ mu przydzielony w jego w³asnym pliku konfiguracyjnym. Znak ten u¿ywany bêdzie tylko wówczas, gdy twój NetRom rozmawia z innym NetRomem. Nie jest to znak, ktory u¿ytkownicy AX.25 maj± u¿ywaæ przy wchodzeniu do twojego wêz³a. Wiêcej na ten temat powiemy dalej.</LI>
<LI>Rose, pierwotnie, bêdzie u¿ywa³ znaku/identyfikatora nale¿±cego do portu AX.25 chyba, ¿e wyra¼nie zostanie przekonfigurowany poleceniem 'rsparms' na inny. Je¶li przydzielisz znak/identyfikator dla Rose poleceniem 'rsparms' wówczas Rose u¿ywaæ bêdzie tego znaku na wszystkich swych portach.</LI>
<LI>Inne programy, takie jak 'ax25d' mog± s³uchaæ na jakichkolwiek <CODE>znakach/identyfikatorach</CODE> i w dodatku mo¿na te znaki duplikowaæ po wszelakich portach.</LI>
<LI>Bêd±c ostro¿ny przy routingu, mo¿esz nawet przyznac wszystkim portom ten sam adres IP.</LI>
</OL>
<H2>6.1 Czym s± owe T1, T2, T3 i inne rzeczy?</H2>
<P>Analogicznie, tak jak nie ka¿dy radiooperator jest in¿ynierem, tak samo nie ka¿da implementacja AX.25 jest zgodna ze standardem TNC2. Linux stosuje nomenklaturê, która ró¿ni siê w pewnym wzglêdzie od tej, jakiej u¿ywa³by¶,je¶li jedynym twoim do¶wiadczeniem w packet radio by³by TNC. Podana ni¿ej tablica powinna byæ pomocna w interpretacji czym s± poszczególne elementy, które daje siê konfigurowaæ, zatem je¶li napotkasz je pó¼niej w tym tek¶cie pomo¿e ci to w ich zrozumieniu.
<PRE>
-------------------------------------------------------------------
Linux | TAPR TNC | Description
-------------------------------------------------------------------
T1 | FRACK | czas wyczekiwania przed retransmisj±
| | niepotwierdzonej ramki
-------------------------------------------------------------------
T2 | RESPTIME | minimalny czas wyczekiwania na inn± ramkê
| | przed transmisj± potwierdzenia
| |
-------------------------------------------------------------------
T3 | CHECK | czas wyczekiwania pomiêdzy sprawdzeniami czy
| | l±cze jest nadal aktywne
-------------------------------------------------------------------
N2 | RETRY | ilo¶æ retransmisji zanim za³o¿ymy, ¿e l±cze
| | pad³o
-------------------------------------------------------------------
Idle | | okres czasu, który ³±cze mo¿e staæ bezczynnie
| | zanim zostanie zamkniête
-------------------------------------------------------------------
Window | MAXFRAME | maksymalna liczba niepotwierdzonych,
| | wytransmitowanych ramek
-------------------------------------------------------------------
</PRE>
<P>
<H2>6.2 Parametry, które daj± siê konfigurowaæ w trakcie pracy.</H2>
<P>J±dra 2.1.* oraz 2.0.29+module maj± now± cechê, która pozwala na zmianê uprzednio niemo¿liwych do manipulacji warto¶ci w trakcie pracy. Je¶li uwa¿nie przyjrzysz siê strukturze katalogu /proc/sys/net/ to zauwa¿ysz parê plików o sugestywnych nazwach, które wskazuj± na ró¿ne parametry do konfigurowania sieci. Ka¿dy plik w katalogu /proc/sys/net/ax25 reprezentuje jeden ustawiony port AX.25. Nazwa pliku odnosi siê do nazwy portu. Struktura plików wygl±da nastêpuj±co:
<PRE>
No. Nazwa Znaczenie Warto¶æ domy¶lna
1 IP Default Mode 0=DG 1=VC 0
2 AX.25 Default Mode 0=Normal 1=Extended 0
3 Allow Vanilla Connects 0=No 1=Yes 1
4 Backoff 0=Linear 1=Exponential 1
5 Connected Mode 0=No 1=Yes 1
6 Standard Window 1 <= N <= 7 2
7 Extended Window 1 <= N <= 63 32
8 T1 Timeout 1s <= N <= 30s 10s
9 T2 Timeout 1s <= N <= 20s 3s
10 T3 Timeout 0s <= N <= 3600s 300s
11 Idle Timeout 0m <= N 20m
12 N2 1 <= N <= 31 10
13 AX.25 Frame Length 1 <= N <= 512 256
14 Max Queue 1 <= N <= 20 2
15 Digipeater Mode 0=None 1=Inband 2=XBand 3=Both 3
</PRE>
<P>W powy¿szej tablicy T1, T2, T3 zosta³y podane w sekundach a Idle Timout podano w minutach. Zauwa¿ jednak, ¿e warto¶ci u¿ywane przez interfejs <CODE>sysctl</CODE> mierzone s± warto¶ciami wewnêtrznymi, gdzie czas w sekundach mno¿ony jest przez 10, co pozwala na rozdrobnienie na 1/10 sekundy. Tam, gdzie liczniki pozwalaj± na warto¶æ zero, np. T3 lub Idle, zero oznacza, ¿e licznik jest wy³±czony.
<P>
<H2><A NAME="s7">7. Konfigurowanie portu AX.25.</A></H2>
<P>Ka¿dy program AX.25 wpierw czyta plik konfiguracyjny, aby uzyskaæ potrzebne parametry poszczególnego portu AX.25, obecnego na twoim systemie Linux. Dla portów AX.25 jest to plik /etc/ax25/axports. Ka¿dy port AX.25, który chcesz mieæ na swoim systemie, musi byæ w tym pliku opisany.
<H2>7.1 Jak utworzyæ plik /etc/ax25/axports?</H2>
<P>Plik /etc/ax25/axports to prosty tekstowy plik, który tworzymy zwyk³ym edytorem. Format pliku /etc/ax25/axports jest nastêpuj±cy:
<BLOCKQUOTE><CODE>
portname callsign baudrate paclen window description
</CODE></BLOCKQUOTE>
Gdzie:
<BLOCKQUOTE><CODE>
portname
<BLOCKQUOTE><CODE>
to wolna nazwa, krór± nale¿y ochrzciæ port, u¿ywana do nazewnictwa tego portu
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<BLOCKQUOTE><CODE>
callsign
<BLOCKQUOTE><CODE>
znak/identyfikator, który przypisujesz dla portu AX.25
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<BLOCKQUOTE><CODE>
paclen
<BLOCKQUOTE><CODE>
to maksymalna d³ugo¶æ pakietów, które bêd± mo¿liwe na tym porcie przy transmisjch AX.25 w trybie 'connected'.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<BLOCKQUOTE><CODE>
window
<BLOCKQUOTE><CODE>
to parametr (K) AX.25 window. To samo co MAXFRAME w wielu urz±dzeniach TNC.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<BLOCKQUOTE><CODE>
description
<BLOCKQUOTE><CODE>
to dowolny opis tego portu
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>W moim przypadku wygl±da to tak:
<PRE>
radio VK2KTJ-15 4800 256 2 4800bps 144.800 MHz
ether VK2KTJ-14 10000000 256 2 BPQ/ethernet device
</PRE>
<P>Pamiêtaj, ¿e nale¿y przypisaæ unikalny znak/identyfikator dla ka¿dego portu AX.25, który utworzysz. Wprowad¼ jeden wpis dla ka¿dego urz±dzenia AX.25, które chcesz u¿ywaæ. Odnosi siê to do portów: KISS, Baycom, SCC, PI, PT, D¼wiêkoModem. W tym miejscu ka¿dy wpis ma odnosiæ siê do ka¿dego z osobna urz±dzenia AX.25. Wpisy w tym pliku powi±zane s± z interfejsami sieciowymi poprzez ich znak/identyfikator.
<P>Plik ten u¿ywany bêdzie przez programy opisane dalej.
<P>
<H2>7.2 Jak utworzyæ interfejsy sieciowe AX.25?</H2>
<P>Interfejs sieciowy jest tym, co widaæ na ekranie po wydaniu polecenia 'ifconfig'. Jest to objekt, poprzez który j±dro Linuxa odbiera i wysy³a dane sieciowe. Prawie zawsze interfejs sieciowy zwi±zany jest z fizycznym portem, s± jednak wypadki, kiedy nie jest to konieczne. Interfejs sieciowy odnosi siê wówczas bezpo¶rednio do sterownika urz±dzenia fizycznego. W oprogramowaniu AX.25 pod Linuxem istnieje wiele sterowników urz±dzeñ fizycznych. Najpopularniejszym jest zapewne sterownik KISS, lecz s± te¿ inne jak np. sterownik SCC, Baycom czy SoundModem (D¼wiêkoModem).
<P>Ka¿dy z tych sterowników, przy uruchomianiu go, spowoduje równie¿ otworzenie interfejsu sieciowego.
<P>
<H3>Jak do³±czyæ urz±dzenie KISS?</H3>
<P>Najczê¶ciej spotykan± konfiguracj± bedziê chyba KISS TNC na porcie seryjnym. Nale¿y uprzednio skonfigurowaæ sam TNC i doczepiæ go do portu seryjnego. Aby wprowadziæ swój TNC w tryb KISS mo¿na u¿yæ programu terminala, jak np. minicom lub seyon. Z kolei, aby utworzyæ urz±dzenie KISS nale¿y u¿yæ polecenia 'kissattach', które to polecenie w swej najprostszej formie mo¿e wygl±daæ tak:
<PRE>
# /usr/sbin/kissattach /dev/ttyS0 radio
# kissparms -p radio -t 100 -s 100 -r 25
</PRE>
<P>Polecenie kissattach utworzy te¿ sieciowy interfejs KISS. Interfejsy te nosz± wtedy nazwê od 'ax[0-9]'. Przy pierwszym wydaniu polecenia 'kissattach' powstaje 'ax0', przy nastêpnym 'ax1', itd. Ka¿dy interfejs KISS powi±zany jest ze swoim portem seryjnym.
<P>Polecenie 'kissparms' pozwala na manipulowanie ró¿nymi parametrami interfejsu KISS.
<P>W podanym wy¿ej przyk³adzie do³±czony zosta³by sieciowy interfejs KISS do seryjnego urz±dzenia w Linuxie '/dev/ttyS0' i do portu oznaczonego w pliku /etc/ax25/axports jako 'radio'. Nastêpnie konfigurowany on jest z warto¶ciami 100 milisekund dla txdelay oraz slottime i warto¶ci± 25 dla ppersist.
<P>Wiêcej informacji mo¿na znale¼æ w man pages w Linuxie.
<P>
<H3>Konfigurowanie urz±dzeñ TNC o dwóch portach.</H3>
<P>Programik 'mkiss', zawarty w programach narzêdziowych ax25-utils, pozwala na wykorzystanie obydwu modemów w ur±dzeniach TNC o dwóch portach. Ustawienie jest do¶æ proste. Programik ten dzia³a tak, ¿e bior±c pojedyncze urz±dzenie do³aczone do wieloportowego TNC przedstawia je tak, i¿ wygl±da ono, jakby to by³y dwa urz±dzenia, ka¿de z w³asnym TNC. Czynno¶æ tê trzeba wykonaæ zanim zaczniesz jak±kolwiek konfiguracjê AX.25. Powsta³e na skutek tego interfejsy pseudo-TTY, (/dev/ttypf*), które nie s± rzeczywistymi urz±dzeniami seryjnymi, wykorzystywane s± z kolei do konfiguracji AX.25. Interfejsy Pseudo-TTY wyprowadzaj± swego rodzaju fajkê, poprzez któr± programy umiej±ce nadawaæ do urz±dzeñ <CODE>/dev/tty</CODE> mog± sie porozumiewaæ miêdzy sob±. Ka¿da fajka posiada koñcówkê master i slave. Koñcówki master s± ogólnie oznaczane jako /dev/ptyp*, koñcówki slave maj± emblem /dev/ttyp*. Pomiêdzy master a slave istnieje intymna zale¿no¶c, zatem /dev/ptyp0 stanowi koncówkê master dla przewodu, ktory ma /dev/ttyp0 na koñcówce slave. Zanim otworzysz koñcówkê slave, musisz najpierw otworzyæ koñcówkê master. 'mkiss' wykorzystuje ten w³a¶nie mechanizm do rozczepienia pojedynczego urz±dzenia seryjnego, na osobne.
<P>Przyk³ad: je¶li posiadasz TNC o dwóch portach i jest ono doczepione do seryjnego urz±dzenia /dev/ttyS0 o prêdko¶ci 9600 bps, to polecenie:
<PRE>
# /usr/sbin/mkiss -s 9600 /dev/ttyS0 /dev/ptyp0 /dev/ptyp1
# /usr/sbin/kissattach /dev/ttyp0 port1
# /usr/sbin/kissattach /dev/ttyp1 port2
</PRE>
utworzy dwa interfejsy pseudo-tty, a ka¿de z nich wygl±daæ bêdzie tak, jakby by³o pojedynczym seryjnym portem, ka¿de z w³asnym TNC. Wowczas interfejsy /dev/ttyp0 i /dev/ttyp1 mo¿esz potraktowaæ tak jak inne konwencjonalne seryjne porty z doczepionymi do nich urz±dzeniami TNC. W praktyce oznacza to, ze odpali³by¶ dla obydwu polecenie 'kissattach' przy zachowaniu wpisów o portach AX.25 jako port1 i port2. Nie nale¿y odpalaæ polecenia 'kissattach' dla rzeczywistego urz±dzenia /dev/ttyS0 poniewa¿ zajête zosta³o ono przez program 'mkiss'.
<P>Polecenie 'mkiss' przyjmuje szereg dodatkowych argumentów, które s± do twojej dyspozycji. Oto ich streszczenie:
<PRE>
-c pozwala na dodanie checksum o jednym byte.
Wiêkszo¶æ implementacji KISS tego nie obsluguje, jest to
mo¿liwe przy u¿yciu Rom'u G8BPG KISS.
-s <speed>
ustawia prêdko¶æ portu urz±dzenia seryjnego.
-h omo¿liwia hardware handshaking na porcie seryjnym, pierwotnie
jest wy³±czone. Wiêksz¶æ implementacji KISS tego nie obs³uguje.
Niektóre jednak to maj±.
-l umo¿liwia prowadzenie log'u do plików typu syslog.
</PRE>
<P>
<H3>Jak doczepiæ urz±dzenie Baycom</H3>
<P>Wbrew powszechnemu przekonaniu, ¿e nie bêdzie to zbyt dobrze dzia³aæ,
<A HREF="mailto:sailer@ife.ee.ethz.ch">Thomas Sailor</A> podj±³ siê rozbudowy obs³ugi modemów Baycom pod Linuxem. Jego sterowniki obs³uguj± modemy Ser12 na port seryjny, oraz Par96 i udoskonalony PicPar na porty równoleg³e. Wiêcej informacji o samych modemach mo¿na uzyskaæ na
<A HREF="http://www.baycome.de/">Web Serverze Baycoma</A><P>Najpierw musisz sprawdziæ adres wej¶cia/wy¶cia oraz adresy bazowe portu seryjnego lub równoleg³ego, do którego masz doczepiony modem Baycom. Z t± informacj± mo¿esz dopiero konfigurowaæ sterownik samego Baycom'a.
<P>Programik <CODE>sethdlc</CODE> pozwala na u¿ycie tych parametrów ze sterownikiem, lub, je¶li masz tylko jeden modem Baycom i u¿ywasz modu³ów w Linuxie to mo¿na te parametry podaæ rêcznie jako opcje dla programu 'insmod' ³aduj±cego modu³ Baycom'a.
<P>Dla przykladu, prosty uk³ad. Wy³±czenie sterownika urz±dzenia seryjnego COM1:, a nastêpnie ustawienie tam sterownika modemu Baycom Ser12 na COM1: z u¿yciem detekcji typu software DCD:
<PRE>
# setserial /dev/ttyS0 uart none
# insmod baycom mode="ser12*" iobase=0x3f8 irq=4
</PRE>
<P>Albo modem Par96 na porcie równoleg³ym LPT1: z u¿yciem detekcji hardware DCD:
<PRE>
# insmod baycom mode="par96" iobase=0x378 irq=7 options=0
</PRE>
Nie jest to jednak najlepszy sposób. Programik <CODE>sethdlc</CODE> dzia³a dobrze zarówno z jednym jak i z wieloma urz±dzeniami.
<P>Podrêcznik systemowy 'man' programiku <CODE>sethdlc</CODE> opisuje szczegó³y na ten temat, jednak kilka przyk³adów pozwoli zilustrowaæ wa¿niejsze aspekty tej¿e konfiguracji. Poni¿szy przyk³ad zak³ada, ¿e za³adowa³e¶ ju¿ modu³ Baycom'a poleceniem:
<PRE>
# insmod baycom
</PRE>
Ustawienie sterownika dla interfejsu bc0 stusuj±c równoleg³y modem Baycom na LPT1: detekcja typu software DCD:
<PRE>
# sethdlc -p -i bc0 mode par96 io 0x378 irq 7
</PRE>
Ustawienie sterownika dla interfejsu bc1 stosuj±c seryjny modem Baycom na COM1::
<PRE>
# sethdlc -p -i bc1 mode "ser12*" io 0x3f8 irq 4
</PRE>
<P>
<H3>Jak ustawiæ parametry dostêpu do kana³u AX.25?</H3>
<P>Parametry dostêpu do kana³ów AX.25 s± analogiczne do parametrów KISS, takich jak ppersist, txdelay, slottime. Tutaj te¿ u¿ywamy programiku <CODE>sethdlc</CODE>.
<P>I znów podrêcznik systemowy 'man' jest g³ównym ¼ród³em informacji na temat sethdlc, ale jak zwyk³e jeden czy drugi przyk³ad nie zaszkodzi:
<P>Ustawienie interfejsu bc0 z warto¶ci± 200ms dla TxDelay, 100ms dla Slottime, warto¶æ 40 dla ppersist oraz half-duplex:
<PRE>
# sethdlc -i bc0 -a txd 20 slot 10 ppersist 40 half
</PRE>
<P>Zauwa¿, ¿e warto¶ci licznika s± tutaj podane w 10-tkach milisekund.
<P>
<H3>Jak doczepiæ urz±dzenie D¼wiêkoModem?</H3>
<P>Thomas Sailor napisa³ nowy sterownik dla j±dra Linuxa pozwalaj±cy na u¿ycie karty d¼wiêkowej komputera jako modemu do packet radio. Mo¿na teraz pod³±czyæ radio bezpo¶rednio do karty d¼wiêkowej i zabawiæ siê w packet!! Thomas poleca przynajmniej procesor 486DX/66 poniewa¿ ca³y ciê¿ar obliczeniowy sygna³u cyfrowego spada w tym wypadku na CPU.
<P>Obecnie sterownik emuluje takie typy modemów: 1200 bps AFSK, 4800 HAPN and 9600 FSK (G3RUH compatible). Jedyne karty, które s± ob³ugiwane tym sterownikiem to te, zgodne z SoundBlaster oraz WindowsSoundSystem. Karty d¼wiêkowe potrzebuj± dodatkowego uk³adu wspomagaj±cego uk³ad PTT a informacjê na ten tema mo¿na zasiêgn±æ na domowej stronie Thomas'a Sailora,
<A HREF="http://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html">tutaj</A>. Istnieje szereg mo¿liwo¶ci: detekcja sygan³u z karty d¼wiêkowej, lub przez port równoleg³y, seryjny, port midi. Przyk³ady schematów s± na stronie Thomas'a.
<P>Przy za³±czeniu sterownik D¼wiêkoModemu do³±cza interfejsy sieciowe: sm0, sm1, sm2, itp.
<P>Uwaga: Sterownik D¼wiêkoModemu wspó³zawodniczy w zagarnianiu zasobów komputera ze sterownikiem karty d¼wiêkowej. Je¶li wiêc planujesz u¿ywaæ sterownik D¼wiêkoModemu to upewnij siê, czy sterownik karty d¼wiêkowej jest wyinstalowany. Jak zwyk³e mo¿esz obydwa skompilowaæ jako modu³y i u¿ywaæ je wtedy, gdy jest to wygodne.
<P>
<H3>Konfigurowanie karty d¼wiêkowej.</H3>
<P>Sterownik D¼wiêkoModemu nie wzbudza karty d¼wiêkowej przy ³adowniu siê systemu. Pakiet ax25-utils zawiera programik 'setcrystal', który obluguje karty oparte o Crystal Chipset. je¶li posiadasz inn± kartê to potrzebujesz innego oprogramowania, aby j± pobudziæ. Sk³adnia programiku jest oczywista:
<PRE>
setcrystal [-w wssio] [-s sbio] [-f synthio] [-i irq] [-d dma] [-c dma2]
</PRE>
Je¶li, zatem ¿yczysz sobie doczepiæ kartê soundblaster na adresie 0x388, irq 10 i DMA 1, to dj tak:
<PRE>
# setcrystal -s 0x388 -i 10 -d 1
</PRE>
Je¶li ustawiasz kartê WinSoundSystem na adresie 0x534, irq 5, DMA 3, to daj tak:
<PRE>
# setcrystal -w 0x534 -i 5 -d 3
</PRE>
Parametr [-f synthio] s³u¿y do zdeklarowania adresu syntezatora, a [-c dma2] do podania drugiej warto¶ci dla DMA, ktora pozwala na operacjê full-duplex.
<P>
<H3>Jak ustawiæ interfejs D¼wiêkoModemu?</H3>
<P>Po skonfigurowaniu karty d¼wiêkowej musisz teraz powiedzieæ strownikowi D¼wiêkoModemu gdzie mo¿e jej szukaæ oraz jakiego rodzaju modem ma emulowaæ.
<P>Parametry te mog± zostaæ zdeklarowane programikiem 'sethdlc', lub, je¶li u¿ywaæ bêdziesz tylko jednej karty mo¿na je podaæ rêcznie programowi 'insmod', który ³aduje sterownik D¼wiêkomodemu.
Dla przyk³adu, prosta konfiguracja: jedna karta d¼wiêkowa SoundBlaster ustawiona wed³ug powy¿szego przyk³adu i emuluj±ca modem 1200 pbs:
<PRE>
# insmod soundmodem mode="sbc:afsk1200" iobase=0x220 irq=5 dma=1
</PRE>
Nie jest to jednak najlepszy sposób. Programik <CODE>sethdlc</CODE> dzia³a dobrze zarówno z jednym jak i z wieloma urz±dzeniami.
<P>Man pages programiku <CODE>sethdlc</CODE> pisz± w szczegó³ach na ten temat, jednak kilka przyk³adów pozwoli zilustrowaæ wa¿niejsze aspekty tej¿e konfiguracji. Poni¿szy przyk³ad zak³ada, ze za³adowa³e¶ ju¿ modu³ sterownika D¼wiêkoModemu poleceniem:
<PRE>
# insmod soundmodem
</PRE>
Ustawienie sterownika do ob³ugi uprzednio skonfigurowanej karty WinSoundSystem, aby emulowa³ modem G3RUH 9600 jako interfejs sieciowy sm0, na porcie równoleg³ym z uk³adem PTT o adresie 0x378:
<PRE>
# sethdlc -p -i sm0 mode wss:fsk9600 io 0x534 irq 5 dma 3 pario 0x378
# ifconfig sm0 up
</PRE>
Ustawienie sterownika uprzednio skonfigurowanej karty SoundBlaster, aby emulowa³ modem HAPN 4800 bps jako interfejs sieciowy sm1 z ukladem PTT na porcie seryjnym o adresie 0x2f8:
<PRE>
# sethdlc -p -i sm1 mode sbc:hapn4800 io 0x388 irq 10 dma 1 serio 0x2f8
# ifconfig sm1 up
</PRE>
Ustawienie sterownika uprzednio skonfigurowanej karty SoundBlaster, aby emulowa³ modem AFSK 1200 bps jako interfejs sieciowy sm1, na seryjnym porcie z uk³adem PTT o adresie 0x2f8:
<PRE>
# sethdlc -p -i sm1 mode sbc:afsk1200 io 0x388 irq 10 dma 1 serio 0x2f8
# ifconfig sm1 up
</PRE>
<H3>Jak ustawiæ parametry dostêpu do kana³u AX.25?</H3>
<P>Parametry dostêpu do kana³ów AX.25 s± analogiczne do parametrów KISS, takich jak ppersist, txdelay, slottime. Tutaj te¿ u¿ywamy programiku <CODE>sethdlc</CODE>.
<P>I znów man pages s± g³ównym ¼ród³em informacji na temat sethdlc, ale jak zwykle jeden czy drugi przyk³ad nie zaszkodzi:
<P>
<P>Ustawienie interfejsu sm0 z warto¶ci± 100ms dla TxDelay, 50ms dla Slottime, warto¶æ 128 dla ppersist oraz half-duplex:
<PRE>
# sethdlc -i sm0 -a txd 10 slot 5 ppersist 128 full
</PRE>
Zauwa¿, ¿e warto¶ci licznika s± tutaj podane w 10-tkach milisekund.
<P>
<H3>Ustalenie poziomu audio i dostrojenie sterownika</H3>
<P>Ka¿dy modem radiowy domaga siê do poprawnej pracy w³a¶ciwej regulacji poziomu audio. Dotyczy to równie¿ D¼wiêkoModem'u. Thomas napisa³ programy narzêdziowe, które u³atwiaj± to zadanie. S± to: 'smdiag' i 'smmixer'.
<BLOCKQUOTE><CODE>
smdiag
<BLOCKQUOTE><CODE>
dostarcza dwóch typów wy¶wietlacza, typu oscyloskopowego i typu "eye pattern"
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<BLOCKQUOTE><CODE>
smmixer
<BLOCKQUOTE><CODE>
pozwa³a na w³a¶ciwe wyregulowanie poziomu nadawania i odbioru.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>To polecenie odpala programik 'smdiag' w trybie "eye" dla interfejsu sm0:
<PRE>
# smdiag -i sm0 -e
</PRE>
To polecenie odpala programik 'smmixer' dla interfejsu sm0:
<PRE>
# smmixer -i sm0
</PRE>
<P>
<P>
<H3>Przygotowanie czê¶ci AX.25 j±dra do wykorzystania D¼wiêkoModemu.</H3>
<P>Sterownik D¼wiêkoModemu powoduje do³±czenie standardowego interfejsu sieciowego, gotowego do wykorzystania przez j±dro. Konfiguracja przypomina tê, jak± stosujemu przy kartach PacketTwin oraz PI.
<P>Najpierw, interfejsowi trzeba przypisaæ znak/identyfikator. U¿ywamy programu 'ifconfig'. Polecenie:
<PRE>
# /sbin/ifconfig sm0 hw ax25 VK2KTJ-15 up
</PRE>
przypisze interfejsowi sm0, nale¿±cemu do D¼wiêkoModemu, znak/identyfikator VK2KTJ-15 w protokole AX.25.
<P>Nastêpny krok to dokonanie wpisu do pliku /etc/ax25/axports podobnie jak dla innych urz±dzeñ fizycznych. Ten¿e wpis w pliku ax25ports jest powi±zany z interfejsem sieciowym, który powy¿ej skonfigurowa³e¶ na tym¿e znaku/identyfikatorze. Wpis w pliku axports nosz±cy znak/identyfikator, ktorego u¿y³e¶ przy D¼wiêkoModemie bêdzie u¿ywany jako odno¶nik do tego modemu.
<P>Tak ustawione urz±dzenie AX.25 mo¿esz teraz spo¿ytkowaæ jak ka¿de inne. Skonfiguruj je do pracy w TCP/IP, dodaj je do demona ax25d, u¿yj do NetRom lub Rose, jak tylko chcesz.
<P>
<H3>Jak do³aczyæ urz±dzenie z kart± PI?</H3>
<P>Sterownik karty PI generuje powstanie interfejsów sieciowych typu `pi[0-9][ab]. Pierwszej wykrytej karcie PI zostanie przypisany interfejs pi0, kolejnej pi1, itd. Literki 'a' i 'b' odnosz± sie do fizycznych portów znajduj±cych siê na karcie PI. Je¶li zbudowa³e¶ j±dro z obs³ug± karty PI, oraz je¶li zosta³a ona poprawnie wykryta to mo¿esz skonfigurowaæ sobie interfejs sieciowy w taki sposób:
<PRE>
# /sbin/ifconfig pi0a hw ax25 VK2KTJ-15 up
</PRE>
Polecenie to skonfigurowa³oby pierwszy port pierwszej wykrytej karty PI przypisuj±c jej znak/identyfikator VK2KTJ-15 i uczyni³oby go aktywnym. Zauwa¿, ¿e znak musi mieæ swój odpowiednik w pliku /etc/ax25/axports, aby móc u¿ywaæ tego portu.
<P>Sterownik do karty PI napisany zosta³ przez David'a Perry,
<A HREF="mailto:dp@hydra.carleton.edu">dp@hydra.carleton.edu</A><P>
<H3>Jak doczepiæ urz±dzenie z kart± PacketTwin.</H3>
<P>Sterownik karty PacketTwin generuje powstanie interfejsów sieciowych typu `pt[0-9][ab]. Pierwszej wykrytej karcie PacketTwin zostanie przypisany interfejs pt0, kolejnej pt1, itd. Literki 'a' i 'b' odnosz± sie do fizycznych inerfejsów znajduj±cych siê na karcie PacketTwin. Je¶li zbudowa³e¶ j±dro z obs³ug± karty PacketTwin, oraz je¶li zosta³a ona poprawnie wykryta to mo¿esz skonfigurowaæ sobie interfejs sieciowy w taki sposób:
<PRE>
# /sbin/ifconfig pt0a hw ax25 VK2KTJ-15 up
</PRE>
Polecenie to skonfigurowa³oby pierwszy port pierwszej wykrytej karty PacketTwin przypisuj±c jej znak/identyfikator VK2KTJ-15 i uczyni³oby go aktywnym. Zauwa¿, ¿e znak musi mieæ swój odpowiednik w pliku /etc/ax25/axports, aby móc u¿ywaæ tego portu.
<P>Sterownik karty PacketTwin zosta³ napisany przez Craig Small, VK2XLZ,
<A HREF="mailto:csmall@triode.apana.org.au">csmall@triode.apana.org.au</A>.
<P>
<H3>Jak doczepiæ generyczne urz±dzenie SCC?</H3>
<P>Joerg Reuter, DL1BKE,
<A HREF="mailto:jreuter@lykos.tng.oche.de">jreuter@lykos.tng.oche.de</A> wypracowa³ sterownik do generycznej obs³ugi kart opartych o scalak Z8520 SCC. Sterownik ten daje siê konfigurowaæ do obs³ugi wielorakich kart oferuj±c interfejs, który zachowuje siê tak jak TNC w trybie KISS. Traktuj wiêc go tak, jakby to by³ TNC w trybie KISS.
<P>
<H3>Gdzie uzyskaæ i jak zbudowaæ pakiet do narzêdzi konfiguracyjnych?</H3>
<P>Choæ sterownik zawarty jest w standardowym ¿ródle j±dra to jednak Joerg uwalnia wci±¿ nowsze wersje ¼ród³owe razem ze specjalnymi narzêdziami do konfiguracji, które równie¿ potrzebujesz.
<P>Pakiet z narzêdziami do konfiguracji znajdziesz tutaj:
<PRE>
db0bm.automation.fh-aachen.de
/incoming/dl1bke/
lub:
insl1.etec.uni-karlsruhe.de
/pub/hamradio/linux/z8530/
lub:
ftp.ucsd.edu
/hamradio/packet/tcpip/linux
/hamradio/packet/tcpip/incoming/
</PRE>
Znajdziesz tam ró¿norakie wersje, wiêc wybierz te, które odpowiadaj± twojej wersji j±dra:
<PRE>
z8530drv-2.4a.dl1bke.tar.gz 2.0.*
z8530drv-utils-3.0.tar.gz 2.1.6 lub nowsze
</PRE>
Oto polecenia, które musia³em wykonaæ, aby skompilowaæ i zainstalowaæ ów pakiet z j±drem 2.0.25:
<PRE>
# cd /usr/src
# gzip -dc z8530drv-2.4a.dl1bke.tar.gz | tar xvpofz -
# cd z8530drv
# make clean
# make dep
# make module # je¶li chcesz aby sterownik by³ modu³em
# make for_kernel # Je¶li chcesz, aby sterownik by³ wbudowany w j±dro
# make install
</PRE>
Po zakoñczonej operacji powiniene¶ mieæ trzy programy w katalogu /sbin: gencfg, sccinit i sccstat. To w³a¶nie one nadaj± siê do tego, aby skonfigurowaæ sterownik dla twojej karty.
<P>Zostanie rownie¿ utworzona specjalna grupa plików w katalogu /dev/ zwanych scc0 .. scc7. Zostan± one pó¼niej u¿yte jako urz±dzenia KISS i w³a¶nie te bêdziesz stosowa³.
<P>Je¶li zdecydujesz sie na polecenie 'make for_kernel', wówczas bêdziesz musia³ przebudowaæ j±dro. Przy budowaniu j±dra po wydaniu polecenia 'make config' zadbaj o to, aby¶ odpowiedzia³ "Y" na pytanie o obs³ugê `Z8530 SCC kiss emulation driver for AX.25'.
<P>Nie potrzebyjesz przebudowywaæ j±dra je¶li wybierzesz polecenie 'make module', wówczas plik scc.o zostanie umieszczony w odpowiednim katalogu /lib/modules. Nie zapomnij o poleceniu 'insmod' przed prób± u¿ycia i konfiguracji starownika.
<P>
<H3>Jak skonfigurowaæ sterownik do twojej karty?</H3>
<P>Sterownik Z8530 SCC zosta³ pomy¶lany, tak aby da³ siê nagi±æ do niemal¿e ka¿dej karty. Lecz z elastyczno¶ci± idzie w parze trud jej konfiguracji.
Bardziej pouczaj±cej lektury dostarcz± pliki samego pakietu i powiniene¶ tam szukaæ informacji. A w szczególno¶ci nale¿y zajrzeæ tutaj: doc/scc_eng.doc or doc/scc_ger.doc. Zparafrazowa³em poni¿ej parê wa¿niejszych detali, lecz w rezultacie pomin±³em szczegó³y ni¿szego rzêdu.
<P>Program sccinit czyta najpierw plik /etc/z8530drv.conf. Plik dzieli siê na dwa etapy: ustawienie parametrów dla sprzêtu i dla kana³u AX.25. Po tym wystarczy tylko daæ polecenie:
<PRE>
# sccinit
</PRE>
<P>
<H3>Ustawienie parametrów sprzêtu.</H3>
<P>pierwsza sekcja dzieli siê na strofy, ka¿da strofa reprezentuje scalak 8530. Strofy to poprostu lista 's³ów' i 'argumentów'. Mo¿na w tym pliku zdeklarowaæ do 4 scalaków SCC. Je¶li potrzebujesz wiêcej to da siê to zrobiæ w pliku scc.c ustawiaj±c ¿±dan± wartosæ w #idef MAXSCC 4.
<P>Dozwolone 's³owa' i 'argumenty' to:
<P>
<BLOCKQUOTE><CODE>
chip
<BLOCKQUOTE><CODE>
s³owo chip s³u¿y do oddzielania strof. jego argumentem mo¿e byæ wszystko. Argumenty nie s± u¿ywane.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
data_a
<BLOCKQUOTE><CODE>
u¿ywane do zdeklarowania adresu portu "data" dla kana³u 'A'. Argument w formie hexadecymalnej, tj. 0x300.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
ctrl_a
<BLOCKQUOTE><CODE>
u¿ywany do zdeklarowania adresu portu "control" dla kana³u 'A'. Argument w formie hexadecymalnej, tj. 0x304
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
data_b
<BLOCKQUOTE><CODE>
u¿ywany do zdeklarowania adresu portu "data" dla kana³u 'B'. Argument w formie hexadecymalnej, tj. 0x301.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
ctrl_b
<BLOCKQUOTE><CODE>
u¿ywany do zdeklarowania adresu portu "control" dla kana³u 'B'. Argument w formie hexadecymalnej, tj. 0x305
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
irq
<BLOCKQUOTE><CODE>
u¿ywany do zdeklarowania IRQ u¿ywanego przez 8530 SCC w be¿±cej strofie. Argument w formie liczby ca³kowitej, tj. 5
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
pclock
<BLOCKQUOTE><CODE>
u¿ywany do zdeklarowania czêstotliwo¶ci zegara na igle PCLK w 8530.. Argument w formie liczby ca³kowitej w Hz. Warto¶æ domy¶lna wynosi 4915200.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
board
<BLOCKQUOTE><CODE>
typ p³yty. Argumentem jest napis. A oto dozwolone warto¶ci:
<PRE>
PA0HZP
karta PA0HZP SCC
EAGLE
karta Eagle
PC100
karta DRSI PC100 SCC
PRIMUS
karta PRIMUS-PC (DG9BL)
BAYCOM
karta BayCom (U)SCC
</PRE>
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
escc
<BLOCKQUOTE><CODE>
jest nie dobowi±zkowe i do³±cza obs³ugê polepszonych scalaków, takich jak:8580, 85180, lub 85280. Argumentem jest tylko 'yes' lub 'no'.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
vector
<BLOCKQUOTE><CODE>
dla kart PA0HZP jest to warto¶æ tzw. "intack port". Mo¿e byæ tylko jeden dla wszystkich scalaków. Warto¶æ domy¶lna = 0. Nieobowi±zkowy.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
special
<BLOCKQUOTE><CODE>
okre¶la rejestry funkcyjne na niektórych kartach. Nieobowi±zkowy. Warto¶æ domy¶lna = 0.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
option
<BLOCKQUOTE><CODE>
jest nieobowi±zkowy i przyjmuje waro¶æ domy¶ln± 0.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>Oto przyk³adowe konfiguracje dla najbardziej popularnych kart:
<PRE>
BayCom USCC
chip 1
data_a 0x300
ctrl_a 0x304
data_b 0x301
ctrl_b 0x305
irq 5
board BAYCOM
#
# SCC chip 2
#
chip 2
data_a 0x302
ctrl_a 0x306
data_b 0x303
ctrl_b 0x307
board BAYCOM
PA0HZP SCC
chip 1
data_a 0x153
data_b 0x151
ctrl_a 0x152
ctrl_b 0x150
irq 9
pclock 4915200
board PA0HZP
vector 0x168
escc no
#
#
#
chip 2
data_a 0x157
data_b 0x155
ctrl_a 0x156
ctrl_b 0x154
irq 9
pclock 4915200
board PA0HZP
vector 0x168
escc no
DRSI SCC
chip 1
data_a 0x303
data_b 0x301
ctrl_a 0x302
ctrl_b 0x300
irq 7
pclock 4915200
board DRSI
escc no
</PRE>
Je¶li twoja karta pracuje pod NOS'em i masz do niej konfiguracjê, to mo¿esz u¿yæ polecenia 'gencfg' do konwersji poleceñ sterownika PE1CHL NOS. Powstaje wtedy plik przydatny do za³±czenia w pliku konfiguracyjnym dla sterownika z8530.
<P>Polecenia 'gencfg' odpala siê z tymi samymi paramatrami co sterownik PE1CHL pod NET/NOS, np.:
<PRE>
# gencfg 2 0x150 4 2 0 1 0x168 9 4915200
</PRE>
Powy¿sze wygeneruje szkic konfiguracyjny dla karty OptoSCC.
<P>
<H3>Konfiguracja kana³u.</H3>
<P>Sekcja Konfiguracji Kana³u zajmuje siê zdeklarowniem tych wszystkich parametrów, które rz±dz± portem , na którym chcesz pracowaæ. Znów mamy tutaj strofy. Ka¿da strofa reprezentuje jeden logiczny port, zatem bêdziemy mieli dwie strofy poniewa¿ ka¿da karta 8530 SCC mo¿e mieæ dwa porty.
<P>Poni¿sze 's³owa' i 'argumenty' s± równie¿ zapisywane do pliku /etc/z8530drv.conf i musz± wystêpowaæ za sekcj± o parametrach sprzêtu.
<P>Kolejno¶æ w tej sekcji jest bardzo istotna, lecz je¶li bêdziesz pod±¿a³ za sugerowan± sekwencj± to powinno dzia³aæ wszystko w porz±dku. Dozwolone 's³owa' i 'argumenty to:
<BLOCKQUOTE><CODE>
device
<BLOCKQUOTE><CODE>
musi staæ w pierszym wierszu deklaracji portu i okre¶la nazwê pliku w katalogu /dev/ stanowi±cego podstawê dalszej konfiguracji, tj. /dev/scc0
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
speed
<BLOCKQUOTE><CODE>
okre¶la prêdko¶æ interfejsu w bitach na sekundê. Argumentem jest liczba calkowita, np. 1200.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
clock
<BLOCKQUOTE><CODE>
okre¶la w parametry dla zegara. Dozwolone warto¶ci to:
<PRE>
dpll
normalny tryb halfduplex
external
MODEM dostarcza swój w³asny zegar Rx/Tx
divider
u¿ycie devidera fullduplex, je¶li jest zainstalowany
</PRE>
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
mode
<BLOCKQUOTE><CODE>
okre¶la czy kodowanie danych ma byæ za³aczone. Argumentami s±: nrzi lub nrz
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
rxbuffers
<BLOCKQUOTE><CODE>
okre¶la liczbê buforów odbioru, dla których nale¿y rezerwowaæ pamiêæ. Argumentem jest liczba ca³kowita, np. 8.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
txbuffers
<BLOCKQUOTE><CODE>
okre¶la liczbê buforów nadawania, dla których nale¿y rezerwowaæ pamiêæ. Argumentem jest liczba ca³kowita, np. 8.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
bufsize
<BLOCKQUOTE><CODE>
okre¶la rozmiary buforów odbioru i transmisji. Argumentem jest liczba bytów i stanowi on od sumê wszystkich 'ramek', zatem trzeba wiêc wzi±æ pod uwagê równie¿ nag³ówki protoko³u AX.25 a nie li tylko pole danych. S³owo to jest nieobowi±zkowe i przyjmuje warto¶æ domy¶ln± 384.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
txdelay
<BLOCKQUOTE><CODE>
to warto¶æ opó¿nienia transmisji dla KISS, argumentem jest liczba ca³kowita.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
persist
<BLOCKQUOTE><CODE>
to warto¶æ parametru persist dla KISS, argumentem jest liczba ca³kowita.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
slot
<BLOCKQUOTE><CODE>
to jest warto¶æ slottime dla KISS. argumentem jest liczba ca³kowita w mS.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
tail
<BLOCKQUOTE><CODE>
to jest warto¶æ tail dla KISS. argumentem jest liczba ca³kowita w mS.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
fulldup
<BLOCKQUOTE><CODE>
to jest oznaczenie fullduplex dla KISS, argumentem jest liczba ca³kowita. 1==Full Duplex, 0==HALF DUPLEX.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
wait
<BLOCKQUOTE><CODE>
to jest warto¶æ wait dla KISS, argumentem jest liczba ca³kowita w mS.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
min
<BLOCKQUOTE><CODE>
to jest warto¶æ min dla KISS, argumentem jest liczba ca³kowita w S.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
maxkey
<BLOCKQUOTE><CODE>
to jest warto¶æ maximum keyup dla KISS, argumentem jest liczba ca³kowita w S.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
idle
<BLOCKQUOTE><CODE>
to jest warto¶æ licznika idle dla KISS, argumentem jest liczba ca³kowita w S.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
maxdef
<BLOCKQUOTE><CODE>
to jest warto¶æ maxdef dla KISS, argumentem jest liczba ca³kowita.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
group
<BLOCKQUOTE><CODE>
to jest warto¶æ group dla KISS, argumentem jest liczba ca³kowita.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
txoff
<BLOCKQUOTE><CODE>
to jest warto¶æ txoff dla KISS, argumentem jest liczba ca³kowita w mS.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
softdcd
<BLOCKQUOTE><CODE>
to jest warto¶æ softdcd dla KISS, argumentem jest liczba ca³kowita.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
slip
<BLOCKQUOTE><CODE>
to jest oznaczenie slip dla KISS, argumentem jest liczba ca³kowita.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<H3>U¿ywanie sterownika.</H3>
<P>Przy u¿ywaniu sterownika traktujemy urz±dzenia /dev/scc* tak, jak urz±dzenie seryjne tty z doczepionym TNC w trybie KISS. Na przyk³ad, aby skonfigurowaæ j±dro do ob³ugi sieci pod Linuxem przy u¿yciu swojej karty nale¿y u¿yæ polecenia:
<PRE>
# kissattach -s 4800 /dev/scc0 VK2KTJ
</PRE>
Mo¿na te¿ doczepiæ NOS'a w dok³adnie taki sam sposób. Z JNOS'a, np. wykonaæ móg³by¶ polecenie:
<PRE>
attach asy scc0 0 ax25 scc0 256 256 4800
</PRE>
<P>
<H3>Narzêdzia 'sccstat' oraz 'sccparam'.</H3>
<P>Pomocnym przy diagnostyce urz±dzenia SCC jest program 'sccstat'. Wy¶wietla on bie¿±c± konfiguracjê. Spróbuj go tak uruchomiæ:
<PRE>
# sccstat /dev/scc0
</PRE>
wy¶wietli to szerok± gamê informacji zwi±zanych z ustawieniem i ogóln± kondycj± portu /dev/scc0 SCC.
<P>Polecenie 'sccparam' pozwala na zmianê i modyfikowanie parametrów podczas pracy. Sk³adnia przypomina polecenie 'param' z NOS'a, zatem aby ustawiæ txtail urz±dzenia na 100mS, nale¿a³oby napisaæ:
<PRE>
# sccparam /dev/scc0 txtail 0x8d
</PRE>
<P>
<H3>Jak utworzyæ urz±dzenie BPQ z ethernetem?</H3>
<P>Linux jest kompatybilny z BPQ Ethernet. Umo¿liwia to na przepust protoko³u AX.25 po Lokalnej Sieci ethernetowej i doczepienie swojej maszyny do innej obs³uguj±cej BPQ na Lokalnej Sieci.
<P>Interfejsy sieciowe typu BPQ nosz± nazwê 'bpq[0-9]'. Interfejs 'bpq0' powi±zane jest z interfejsem 'eth0', a 'bpq1' z interfejsem 'eth1', itd.
<P>Konfiguracja jest trywialna. Najpierw trzeba ustawiæ standardowe urz±dzenie Ethernet. To oznacza, ¿e po wkompilowaniu obs³ugi karty Ethernet do j±dra nale¿y zobaczyæ czy pracuje poprawnie. Zajrzyj do Ethernet-HOWTO jak tego dokonaæ.
<P>Aby ustawiæ obs³ugê BPQ potrzebujesz przypisaæ interfejsowi Ethernet znak/identyfikator AX.25. Oto polecenie, które to spowoduje:
<PRE>
# /sbin/ifconfig bpq0 hw ax25 vk2ktj-14 up
</PRE>
I znów, nie zapomnij, ¿e znak/identyfikator, który tutaj podajesz musi zgadzaæ siê z wpisem w pliku /etc/ax25/axports dla portu, którego chcesz u¿ywaæ.
<P>
<H3>Ustawienie wêz³a BPQ do wspó³pracy z obs³ug± AX.25 pod Linuxem.</H3>
<P>W normalnych warunkach BPQ Ethernet stosuje adres multicast. Pod Linuxem tak nie jest, zamiast tego stosowany jest zwyczajny Ethernetowy adres broadcast. Nale¿y zatem zmodyfikowaæ plik NET.CFG dla sterownika BPQ ODI w nasêpuj±cy sposób:
<PRE>
LINK SUPPORT
MAX STACKS 1
MAX BOARDS 1
LINK DRIVER E2000 ; lub inne MLID wed³ug w³asnej karty
INT 10 ;
PORT 300 ; wed³ug w³asnej karty
FRAME ETHERNET_II
PROTOCOL BPQ 8FF ETHERNET_II ; wymagane dla BPQ - zmieniæ PID
BPQPARAMS ; nieobowi±zkowe - tylko wtedy,
; gdy znieniasz docelowy adres
ETH_ADDR FF:FF:FF:FF:FF:FF ; docelowy adres
</PRE>
<P>
<H2>7.3 Ustawienie parametrów operacyjnych dla interfejsu AX.25</H2>
<P>Pakiet ax25-utils zawiera w sobie program narzêdziowy 'axctl', który pozwala na ustawienie ró¿norodnych parametrów interfejsu AX.25.
<P>Polecenie to jest zupe³nie proste w u¿yciu a podrêcznik systemowy 'man' dostarcza kompletnego opisu, przyk³adowym jednak sposobem u¿ycia tego programu mo¿e byæ:
<PRE>
# /usr/sbin/axctl radio -window 2 -t1 5 -n2 10
</PRE>
Powy¿sze polecenie ustawi³oby warto¶ci takie jak Window, T1 oraz N2 dla portu AX.25 nazwanego tu 'radio'.
<P>
<H2>7.4 Ustawieniu routingu AX.25.</H2>
<P>Je¶li jest potrzeba mo¿na ustawiæ domy¶lne ¶cie¿ki do digipeaterów dla konkretnych wêz³ow. Przydaje siê to przy zarówno czystych ³±czach AX.25 jak i opartych o IP. Robimy to poleceniem 'axparms'. Znowu, podrêcznik systemowy 'man' podaje wszystkie szczegó³y, lecz prosty przyk³ad mo¿e byæ taki:
<PRE>
# /usr/sbin/axparms -route add radio VK2XLZ VK2SUT
</PRE>
Polecenie to utworzy³oby ¶cie¿kê digipeatera dla stacji VK2XLZ przez stacjê VK2SUT na porcie AX.25 nosz±cego nazwê 'radio'.
<P>
<H2><A NAME="s8">8. Ustawianie interfejsu AX.25 do pracy w TCP/IP.</A></H2>
<P>Ustawienie portu AX.25 do pracy w TCP/IP jest bardzo proste. Je¶li posiadasz interfejs KISS to masz dwie metody do ustawienia adresu IP. Polecenie 'kissattach' posiada opcjê, która pozwala na okre¶lenie adresu IP. Metoda konwencjonalna przy u¿yciu polecenia 'ifconifg' zadzia³a na wszystkich typach interfejsów.
<P>A zatem, zmieniaj±c poprzedni przyk³ad dla KISS:
<PRE>
# /usr/sbin/kissattach -i 44.136.8.5 -m 512 /dev/ttyS0 radio
# /sbin/route add -net 44.136.8.0 netmask 255.255.255.0 ax0
# /sbin/route add default ax0
</PRE>
utworzy to interfejs AX.25 z adresem IP 44.136.8.5 oraz MTU 512 bytów. Je¶li zachodzi potrzeba to nale¿y inne parametry ustawiæ tez poleceniem 'ifconfig' raz jeszcze.
<P>Je¶li posiadasz jakikolwiek inny typ interfejsu to stosujesz polecenie 'ifconfig' do ustawienia adresu ip i netmask dla danego portu i dodajesz routing przez ów port, tak jak zrobi³by¶ to dla ka¿dego jednego interfejsu TCP/IP. Poni¿szy przyk³ad jest dla interfejsu Karty PI, ale zadzia³a równie dobrze dla ka¿dego interfejsu sieciowego AX.25:
<PRE>
# /sbin/ifconfig pi0a 44.136.8.5 netmask 255.255.255.0 up
# /sbin/ifconfig pi0a broadcast 44.136.8.255 mtu 512
# /sbin/route add -net 44.136.8.0 netmask 255.255.255.0 pi0a
# /sbin/route add default pi0a
</PRE>
Polecenia powy¿sze powinny byæ znane dla tych, którzy u¿ywali NOS lub jego pochodne lub jakiekolwiek inne oprogramowanie TCP/IP. Zauwa¿, ¿e je¶li masz ju¿ ustawione jaki¶ interfejs sieciowy to routing domy¶lny nie jest ci potrzebny.
<P>Aby to wypróbowaæ zpróbuj 'zapingowaæ' lub zrób telnet do lokalnego wêz³a:
<PRE>
# ping -i 5 44.136.8.58
</PRE>
Zauwa¿ zastosowanie '-i 5', które sprawia, ¿e pingowanie odbywa siê co 5 sekund, a nie jak pierwotnie co 1 sekundê.
<P>
<H2><A NAME="s9">9. Ustawienie portu dla NetRom.</A></H2>
<P>Protokó³ Netrom wykorzystuje i zale¿y od portów AX.25, które utworzy³e¶ uprzednio. Protokó³ NetRom biega po plecach protoko³u AX.25. Nale¿y zrobiæ edycjê dwóch plików, aby ustawiæ sobie NetRom na interfejsie AX.25. Jeden plik okre¶la interfejsy NetRomu, a drugi porty AX.25, po których NetRom bêdzie biega³.
<P>
<H2>9.1 Edycja pliku /etc/ax25/nrports</H2>
<P>Na pocz±tek plik /etc/ax25/nrports. Plik ten okre¶la porty NetRomu podobnie jak plik /etc/ax25/axports okre¶la porty AX.25. Ka¿de urz±dzenie NetRom musi zawieraæ swój wpis w pliku /etc/ax25/nrports. Normalnie, na Linuxie spotykamy tylko jedno urz±dzenie Netrom, które u¿ywa wielu zdeklarowanych portów AX.25. W niektórych tylko wypadkach, jak np. z BBS'em, mo¿na utworzyæ dodatkowy pseudonim dla wêz³a NetRom, wówczas bêdzie wiêcej ni¿ jeden.
<P>Plik ten ma tak± formê:
<PRE>
name callsign alias paclen description
</PRE>
Gdzie:
<BLOCKQUOTE><CODE>
name
<BLOCKQUOTE><CODE>
to tekst, wed³ug którego chcesz odwo³ywaæ sie do tego portu.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
callsign
<BLOCKQUOTE><CODE>
to jest znak/identyfikator, na którym pracowaæ bêdzie protokó³ NetRom. Uwaga: nie jest to znak, do którego u¿ytkownicy bêd± siê ³±czyæ, aby wej¶æ do twojego wêz³a. (program 'node' opisany jest dalej). Znak ten powinien byæ unikalny i nie powinien powtarzaæ siê nigdzie w pliku /etc/ax25/axports lub /etc/ax25/nrports.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
alias
<BLOCKQUOTE><CODE>
to jest przypisany pseudonim dla portu NetRom
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
paclen
<BLOCKQUOTE><CODE>
to jest maksymalny rozmiar ramek NetRom transmitowanych przez ten port
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
description
<BLOCKQUOTE><CODE>
dowolna nazwa dla tego portu
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>Oto jak mo¿e to wygl±daæ:
<PRE>
netrom VK2KTJ-9 LINUX 236 Linux Switch Port
</PRE>
Plik ten u¿ywany jest m. in. przez program <I>call</I>.
<P>
<H2>9.2 Ustawienie pliku /etc/ax25/nrbroadcast</H2>
<P>Nastêpny plik to /etc/ax25/nrbroadcast. Zawiera on parê wpisów. Normalnie potrzebny jest jeden apis dla ka¿dego portu AX.25 po którym puszczany bêdzie protokó³ NetRom.
<P>Plik przyjmuje taki format:
<PRE>
axport min_obs def_qual worst_qual verbose
</PRE>
Gdzie:
<P>
<BLOCKQUOTE><CODE>
axport
<BLOCKQUOTE><CODE>
to nazwa portu uzyskana z pliku /etc/ax25/axports. Je¶li w pliku /etc/ax25/axports nie ma wpisu dla danego portu oznacza to, ¿e zabraknie routingu dla NetRom na tym porcie oraz, ¿e broadcasts bêd± ignorowane.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
min_obs
<BLOCKQUOTE><CODE>
jest to warto¶æ dla min obscelecence dla tego portu
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
def_qual
<BLOCKQUOTE><CODE>
okre¶la warto¶æ default quality dla NetRomu na tym porcie
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
worst_qual
<BLOCKQUOTE><CODE>
okre¶la warto¶æ 'worst quality' dla NetRomu na tym porcie, wszystki routingi o tej warto¶ci bêd± ignorowane
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
verbose
<BLOCKQUOTE><CODE>
to jest oznakowanie czy z tego portu wychodziæ bêdzie NetRom broadcast w pe³nej formie czy te¿ jednynie broadcast o tym wê¿le.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>Oto przyk³ad:
<PRE>
radio 1 200 100 1
</PRE>
<P>
<H2>9.3 Jak utworzyæ interfejs sieciowy dla NetRom.</H2>
<P>Po ustawieniu powy¿szych dwóch plików nale¿y teraz utworzyæ urz±dzenie NetRom w bardzo podobny sposób do tego, w jaki czynili¶my do dla urz±dzeñ AX.25. Tym razem stosujemy polecenie 'nrattach'. Dzia³a ono tak samo jak 'axattach' z t± ró¿nic±, ¿e powoduje doczepienie sieciowych interfejsów zwanych 'nr[0-9]'. I znów, przy pierwszym u¿yciu utworzon zostaje interfejs 'nr0', przy nastêpnym u¿yciu, 'nr1' itd. Zatem, aby doczepiæ sieciowy interfejs do portu NetRom, który zdefiniowali¶my uprzednio, wydaliby¶my polecenie:
<PRE>
# nrattach netrom
</PRE>
Polecenie to wygenerowa³o by pojawienie siê interfejsu (nr0), z parametrami wed³ug szczegó³ów okre¶lonych w pliku /etc/ax25/nrports dla portu 'netrom'.
<P>
<H2>9.4 Odpalenie demona NetRom.</H2>
<P>J±dro Linuxa obs³uguje wszystkie mechanizmy protoko³u NetRom, nie potrafi tylko wykonaæ niektórych funkcji. Demon NetRomu bierze na siebie tablice routingowe i broadcasty NetRomu. Uruchamiamy go poleceniem:
<PRE>
# /usr/sbin/netromd -i
</PRE>
Po pewnej chwili powiniene¶ zobaczyæ jak plik /proc/net/nr_neigh wype³nia siê powoli informacjami o s±siednich stacjach NetRom.
<P>Nie zapomnij umie¶ciæ polecenia /usr/sbin/netromd w jednym z plików *rc, aby zosta³o odpalone przy ³adowaniu systemu operacyjnego.
<P>
<H2>9.5 ustawienie routingu dla NetRom</H2>
<P>Mo¿liwe jest ustawienie statycznych ¶cie¿ek NetRom do poszczególnych wêz³ów. Pozwala na to polecenie 'nrparms'. podrêcznik systemowy 'man' podaje kompletny opis, a tutaj mamy prosty przk³ad:
<PRE>
# /usr/sbin/nrparms -nodes VK2XLZ-10 + #MINTO 120 5 radio VK2SUT-9
</PRE>
Polecenie to utworzy³oby ¶cie¿kê statyczn± #MINTO:VK2XLZ-10 poprzez s±siada VK2SUT-9 na porcie AX.25 o nazwie 'radio'.
<P>Mo¿na te¿ rêcznie dokonaæ wpisu dla s±siednich stacji przy u¿yciu polecenia nrparms, Przyklad:
<PRE>
# /usr/sbin/nrparms -routes radio VK2SUT-9 + 120
</PRE>
polecenie to wpisa³oby VK2SUT-9 jako s±siada z warto¶ci± 'quality' 120, wpis nie zostanie usuniêty automatycznie lecz jest sta³y.
<P>
<H2><A NAME="s10">10. Ustawienie interfejsu NetRom dla pracy w TCP/IP.</A></H2>
<P>
<P>Ustawianie interfejsu NetRom dla pracy w TCP/IP przypomina zupe³nie konfigurowanie interfejsu AX.25 dla pracy w TCP/IP. Tutaj te¿, mo¿na albo okre¶liæ adres IP i warto¶æ MTU w wierszu poleceñ dla 'nrattach', albo zastosowaæ polecenie 'ifconfig' i 'route'. Nale¿y jednak rêcznie wprowadziæ wpisy ARP dla wêz³ów, do których chcesz mieæ routing poniewa¿ brakuje mechanizmu, dziêki któremu twój komputer móg³by dowiedzieæ siê o adresach NetRom, które powinien u¿yæ aby dotrzeæ do poszczególnego wêz³a IP.
<P>Zatem, doczepimy teraz interfejs nr0 z adresem IP 44.136.8.5 i MTU 512 oraz ustawimy go wed³ug szczegó³ów zawartych w pliku /etc/ax25/nrports na porcie NetRom o nazwie "netrom":
<PRE>
# /usr/sbin/nrattach -i 44.136.8.5 -m 512 netrom
# route add 44.136.8.5 nr0
</PRE>
lub mo¿na zrobiæ to tak, ale rêcznie:
<PRE>
# /usr/sbin/nrattach netrom
# ifconfig nr0 44.136.8.5 netmask 255.255.255.0 hw netrom VK2KTJ-9
# route add 44.136.8.5 nr0
</PRE>
Nastêpnie, dla ka¿dego wêz³a IP, który chesz aby by³ osi±galny, potrzeba dopisaæ recznie warto¶ci dla ARP i route. Dopiszmy zatem wêze³ docelowy z adresem IP 44.136.80.4 o adresie NetRom BBS:VK3BBS osi±galnego przez s±siada VK2SUT-0:
<PRE>
# route add 44.136.80.4 nr0
# arp -t netrom -s 44.136.80.4 vk2sut-0
# nrparms -nodes vk3bbs + BBS 120 6 sl0 vk2sut-0
</PRE>
Argumenty '120' i '6' podane dla 'nrparms' to 'quality' i 'absolecence' dla NetRomu, który u¿ywa ich dla tej ¶cie¿ki.
<P>
<H2><A NAME="s11">11. Ustawienie portu Rose</A></H2>
<P>Sieciowa warstwa packet protoko³u Rose przypomina trzeci± warstwê specyfikacji protoko³u X.25. Obs³uga Rose w j±drze Linuxa jest odmian± implementacji Rose przyjêtej przez FPAC.
<A HREF="http://fpac.lmi.ecp.fr/f1oat/f1oat.html">http://fpac.lmi.ecp.fr/f1oat/f1oat.html</A><P>Sieciowa warstwa packet protoko³u Rose u¿ywa i polega na portach AX.25, które uprzednio utworzy³e¶. Protokó³ Rose biega po plecach protoko³u AX.25. Aby ustawiæ Rose potrzeba dopisaæ plik konfiguracyjny dla portów Rose.
<P>
<H2>11.1 Ustawienie pliku /etc/ax25/rsports.</H2>
<P>Plikiem, gdzie dopisujemy interfejsy dla Rose jest /etc/ax25/rsports. Okre¶la on porty Rose w podobny sposób jak plik /etc/ax25/axports robi to dla portów AX.25. Oto jego format:
<P>
<PRE>
name addresss description
</PRE>
Gdzie:
<BLOCKQUOTE><CODE>
name
<BLOCKQUOTE><CODE>
jest tekstem, wed³ug którego chcesz odwo³ywaæ siê do tego portu.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
address
<BLOCKQUOTE><CODE>
jest 10-cio cyfrowym adresem Rose, który przypisujesz temu portowi.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
description
<BLOCKQUOTE><CODE>
jest dowolnym tekstem opisuj±cym port.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>Oto jak mo¿na to wpisaæ:
<PRE>
rose 5050294760 Rose Port
</PRE>
Zauwa¿, ¿e Rose u¿ywaæ bêdzie domy¶lnie znaku/identyfikatora podanego dla portu AX.25 , chyba ¿e specjalnie podasz inny.
Aby podaæ osobny znak/identyfikator dla Rose, który u¿ywany bêdzie na ka¿dym u¿ywanym porcie, trzeba wydaæ polecenie 'rsparms' w taki sposób:
<PRE>
# /usr/sbin/rsprams -call VK2KTJ-10
</PRE>
Przyk³ad ten spowodowa³by, ¿e Linux s³ucha³by na znaku/identyfikatorze VK2TKJ-10 i u¿ywa³by tego¿ znaku na wszystkich portach AX.25 ustawionych dla ³±czno¶ci drog± Rose.
<P>
<H2>11.2 Jak doczepiæ sieciowy interfejs Rose?</H2>
<P>Po utworzeniu pliku /etc/ax25/rsports mo¿na doczepiæ urz±dzenie Rose w taki sam spoób jak urz±dzeia AX.25. Tym razem u¿ywa siê polecenia 'rsattach'. Polecenie 'rsattach' doczepia sieciowe interfejse zwane 'rose[0-5]'. Przy pierwszym poleceniu rsattach powstaje interfejs 'rose0', przy drugim, 'rose1', itd. Przyk³ad:
<PRE>
# rsattach rose
</PRE>
Polecenie to wygeneruje interfejs Rose (rose0) ustawiony wed³ug szczegó³ów podanych w pliku /etc/ax25/rsports dla wpisu nazwanego 'rose'.
<P>
<H2>11.3 Ustawienie routingu dla Rose.</H2>
<P>Obecnie, protokó³ Rose obs³uguje jedynie ¶cie¿ki statyczne. Program 'rsparms' pozwala na zapisanie tablic routingowych dla Rose pod Linuxem.
<P>Na przyk³ad:
<PRE>
# rsparms -nodes add 5050295502 radio vk2xlz
</PRE>
Powy¿sze doda³oby ¶cie¿kê do wêz³a Rose 5050295502 na porcie AX.25 'radio' znajduj±cego w pliku /etc/ax25/axports przez stacjê s±siedni± o znaku VK2XLZ.
<P>Mo¿liwe jest ustawienie ¶cie¿ki, która uchwyci wiele docelowych stacji Rose w formacie jednego wpisu. Sk³adnia wygl±da nastêpuj±co:
<PRE>
# rsparms -nodes add 5050295502/4 radio vk2xlz
</PRE>
co jest jednoznaczne w wy¿ej podanym przyk³adem z t± ró¿nic±, ¿e uchwycone zostaj± tutaj wszystkie stacje docelowe rozpoczynaj±ce siê od 4 cyfr pocz±tkowych, w tym wypadku 5050. Jeszcze inaczej mo¿na zapisaæ to tak:
<PRE>
# rsparms -nodes add 5050/4 radio vk2xlz
</PRE>
co jest chyba mniej dwuznaczne.
<P>
<H2><A NAME="s12">12. £±czno¶ci AX.25/NetRom/Rose.</A></H2>
<P>Po zaktywizowaniu i ustawieniu wszystkich interfejsów AX.25, NetRom i Rose mo¿na w koñcu popróbowaæ ³aczno¶ci.
<P>Pakiet programów narzêdziowych AX.25 zawiera program zwany 'call', który jest programem terminala z roz³±cznym ekranem dla AX.25, NetRom i Rose.
<P>Prosta ³±czno¶æ wygl±da tak:
<PRE>
/usr/bin/call radio VK2DAY via VK2SUT
</PRE>
£±czno¶æ z wêz³em NetRom o pseudonimie SUNBBS wygl±da tak:
<PRE>
/usr/bin/call netrom SUNBBS
</PRE>
£±czno¶æ przez Rose do stacji HEARD o wê¼le 5050882960, w ten sposób:
<PRE>
/usr/bin/call rose HEARD 5050882960
</PRE>
Uwaga: 'call' musi wiedzieæ na jakim porcie odbywa siê ³±czno¶æ poniewa¿ te same stacje mog± byæ przecie¿ osi±galne przez jakikolwiek port uprzednio skonfigurowany.
<P>'call' pracuje w trybie liniowym w ³±czno¶ciach przez AX.25. Traktuje on wiersze rozpoczynaj±ce siê od '~' jako polecenia. Polecenie '~.' zamyka ³±czno¶æ.
<P>Wiêcej informacji mo¿na znale¼æ w podrêczniku systemowym 'man'.
<P>
<H2><A NAME="s13">13. Ustawienie Linuxa do przyjmowania ³±czno¶ci.</A></H2>
<P>Linux jako system operacyjny posiada ogromne mo¿liwo¶ci i nagina siê do wielu sytuacji, gdy trzeba go konfigurowaæ. Z elastyczno¶ci± przychodzi te¿ trud ustawiena go tak, ¿eby robi³ to czego chcemy. Trzeba zadaæ sobie wiele pytañ przed rozpoczêciem ustawienia Linuxa do przyjmowania ³±czno¶ci z zewn±trz przez Rose, AX.25 i NetRom. Najwa¿niejszym z nich jest:"Co chcê, aby u¿ytkownicy zobaczyli podczas ³±czno¶ci?". Ludzie pisz± rozmaite ciekawe programy, które mog± s³u¿yæ u¿ytkownikom, na przyk³ad 'pms' zawarty w ax25-utils, lub 'node', bardziej rozbudowany' te¿ dostêpny w ax25-utils. Mo¿na te¿ daæ u¿ytkownikom szansê zalogowania sie i u¿ycia pow³oki systemowej lub napisaæ w³asny program, jak±¶ grê lub bazê danych i pozwoliæ u¿ytkownikom zrobiæ do niej ³±czno¶æ. Cokolwiek postanowisz musisz okre¶liæ to oprogramowaniu AX.25, aby wiedzia³o co odpaliæ podczas wchodz±cych ³±czno¶ci.
<P>Program 'ax25d' przypomina 'inetd' stosowany powszechnie do przyjmowania wchodz±cych ³±czno¶ci TCP/IP na unixach. Czuwa on i nas³uchuje na wchodz±ce ³±czno¶ci. Je¶li j± wykryje to sprawdza swój plik systemowy, aby zdecydowaæ jakim programem us³u¿yæ tej konkretnej ³±czno¶ci. Wyt³umaczymy zatem jak ustawiæ ten plik, który jest standardowy, narzêdziem do przyjmowania wchodz±cych ³±czno¶ci.
<P>
<H2>13.1 Edycja pliku /etc/ax25/ax25d.conf.</H2>
<P>Plik ten ustawia demona 'ax25d' protoko³u AX.25, który to demon zajmuje siê wchodz±cymi ³±czno¶ciami AX.25, NetRom i Rose.
<P>Na perwszy rzut oka jest troche powik³ane ale po chwili przekonasz siê, ¿e "nie taki diabe³ czarny, jak go maluj±". Trzeba byæ tylko ¶wiadomy paru ma³ych pu³apek.
<P>Ogólny format pliku ax25d.conf jest taki:
<PRE>
# This is a comment and is ignored by the ax25d program.
[port_name] || <port_name> || {port_name}
<peer1> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments>
<peer2> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments>
parameters window T1 T2 T3 idle N2 <mode>
<peer3> window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments>
default window T1 T2 T3 idle N2 <mode> <uid> <cmd> <cmd-name> <arguments>
</PRE>
Gdzie:
<BLOCKQUOTE><CODE>
#
<BLOCKQUOTE><CODE>
staj±c na pocz±tku wiersza oznacza komentarz i jest ca³kowicie pomijane przez program 'ax25d'.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<port name>
<BLOCKQUOTE><CODE>
nazwa portu AX.25, NetRom lub Rose koresponduj±ca kolejno do plików /etc/ax25/axports, /etc/ax25/nrports and /etc/ax25/rsports. Nazwa portu objêta jest nawiasem '[]' dla portu AX.25, '<>' dla NetRom, '{}' dla Rose. Mo¿na te¿ inaczej zapisaæ to pole stosuj±c 'znak/identyfikator via' przed nazw± portu, pokazuj±c w ten sposób, ¿e bêdzie mo¿na ³±czyæ siê do tego interfejsu przez podany tutaj znak. Podamy dalej przyk³ad, który to zilustruje.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<peer>
<BLOCKQUOTE><CODE>
znak/identyfikator wêz³a wchodz±cego, dla którego te ustawienia bêd± obowi±zywaæ. Je¶li nie podasz tutaj numerycznego identyfikatora to ka¿dy bêdzie pasowa³.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
window
<BLOCKQUOTE><CODE>
parametr Window dla AX.25 (K) lub MAXFRAME dla tego ustawienia
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
T1
<BLOCKQUOTE><CODE>
licznik retransmisji Ramki (T1) w jednoskach pó³sekundowych
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<P>
<BLOCKQUOTE><CODE>
T2
<BLOCKQUOTE><CODE>
czas wyczekiwania oprogramowania AX.25 na nastêpn± ramkê przed przygotowaniem odpowiedzi, w jednostkach jednosekundowych.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
T3
<BLOCKQUOTE><CODE>
czas wyczekiwania zanim oprogramowanie AX.25 zamknie bezczynn± ³±czno¶æ, mierzone w jednostkach 1 sekundy.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
idle
<BLOCKQUOTE><CODE>
warto¶æ licznika braku akrywno¶ci w sekundach
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
N2
<BLOCKQUOTE><CODE>
liczba kolejnych retransmisji, które nast±pi± zanim ³±cze zostanie zamkniête.
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<mode>
<BLOCKQUOTE><CODE>
dostarcza mechanizmu pozwalaj±cego na okre¶lenie pewnego typu zezwoleñ. Podaj±c rozmaite literki, ka¿da reprezentuje jakie¶ zezwolenie, mo¿na manipulowaæ t± funkcj±. Literki musz± byæ albo ma³e albo du¿e i musz± byæ w jednym ci±gu bez spacji. Oto do one:
</CODE></BLOCKQUOTE>
</CODE></BLOCKQUOTE>
<PRE>
u/U
UTMP - nie u¿ywane
v/V
Validate call - nie u¿ywane
q/Q
Quiet - nie prowadzi log-u dla ³±czno¶ci
n/N
check NetRom Neighbour - nie u¿ywane
d/D
Disallow Digipeaters - ³±czno¶æ musi byæ bezpo¶rednia, bez digi
l/L
Lockout - odrzuca ³±czno¶æ
*/0
marker - ustawia znaczek, nie zmienia zezwoleñ
<uid>
'userid' w Linuxie dla programu, który bêdzie obs³ugiwa³ wchodz±c± ³±czn¶¶æ
<cmd>
pe³na ¶cie¿ka dostêpu programu, bez ¿adnych argumentów
<cmd-name>
tekst, który wyst±pi dla tego programu po wydaniu polecenia systemowego
'ps' (Najczêsciej nazwa w³asna programu bez ¶cie¿ki dostêpu).
<arguments>
s± to argumenty podawane w wierszu poleceñ dla <cmd>. Argumenty
te przybieraj± rozmaite znaczenie w zale¿no¶ci od poni¿szych ustawieñ:
%d Nazwa portu, na którym przyjêto ³±czno¶æ.
%U znak/identyfikator AX.25 do³±czonej stacji bez numerka SSID, du¿ymi
literami.
%u znak/identyfikator AX.25 do³±czonej stacji bez numerka SSID, ma³ymi
literami.
%S znak/identyfikator AX.25 do³±czonej stacji z numerkiem SSID, du¿ymi
literami.
%s znak/identyfikator AX.25 do³±czonej stacji z numerkiem SSID, ma³ymi
literami.
%P znak/identyfikator wêz³a, od którego dokonuje siê
³±czno¶æ, bez numerka SSID, du¿ymi literami
%p znak/identyfikator wêz³a, od którego dokonuje siê
³±czno¶æ, bez numerka SSID, ma³ymi literami
%R znak/identyfikator wêz³a, od którego dokonuje siê
³±czno¶æ, z numerkiem SSID, du¿ymi literami
%r znak/identyfikator wêz³a, od którego dokonuje siê
³±czno¶æ, z numerkiem SSID, ma³ymi literami
</PRE>
Potrzebna jest jedna sekcja wed³ug powy¿szego formatu dla ka¿dego interfejsu AX.25, NetRom i Rose, na którym przyjmowane maj± byæ wchodz±ce ³±czno¶ci typu AX.25, NetRom i Rose.
<P>W paragrafie tym s± jeszcze dwa specjalne wiersze, jeden rozpoczyna siê od s³owa 'parameters' a drugi od 'default' (tak, tak, ró¿ni± siê). Wiersze te s³u¿± do specjalnych ce³ów.
<P>Wiersz 'default' s³u¿y jako siatka-na-wszystko. Wchodz±ce ³±czno¶ci, które nie maj± w³asnych zezwoleñ na danym interfejsie <interface_call> dostan± warto¶ci domy¶lne podane w 'default'. Je¶li wpisu 'default' nie ma w ogóle to wszystkie wchodz±ce ³±czno¶ci nie posiadaj±ce w³asnych zezwoleñ bêd± natychmiast odrzucone bez ostrze¿enia.
<P>Wiersz 'parameters' jest trochê bardziej subtelny i to tutaj jest ta pu³apka, o której wspomina³em u pocz±tku. Jakiekolwiek pole, którejkolwiek deklaracji dla wêz³a wchodz±cego mo¿na wype³niæ znaczekiem '*' by uzyskaæ 'warto¶æ domy¶ln±'. Wiersz 'parameters' jest wierszem, który deklaruje wspomniane 'warto¶ci domy¶lne'. Oprogramowanie j±dra z kolei posiada swoje w³asne warto¶ci domy¶lne, których u¿yje je¶li nic nie okre¶lisz w wierszu 'parameters'. Pu³apka polega na tym, ¿e warto¶ciustawione wierszem 'parameters' dzia³aj± tylko w dól, a nie w górê. Mo¿na mieæ wiêcej ni¿ tylko jeden wpis 'parameters' dla poszczególnych interfejsów grupuj±c sobie warto¶ci domy¶lne.
<P>
<P>
<H2>13.2 Prosty przyk³ad pliku ax25d.conf file.</H2>
<P>No dobrze, teraz ilustracja:
<PRE>
# ax25d.conf for VK2KTJ - 02/03/97
# This configuration uses the AX.25 port defined earlier.
# <peer> Win T1 T2 T3 idl N2 <mode> <uid> <exec> <argv[0]>[<args....>]
[VK2KTJ-0 via radio]
parameters 1 10 * * * * * root /usr/sbin/axspawn axspawn %u +
VK2XLZ * * * * * * *
VK2DAY * * * * * * *
NOCALL * * * * * * L
default 1 10 5 100 180 5 * root /usr/sbin/pms pms -a -o vk2ktj
[VK2KTJ-1 via radio]
default * * * * * 0 root /usr/sbin/node node
<netrom>
parameters 1 10 * * * * *
NOCALL * * * * * * L
default * * * * * * 0 root /usr/sbin/node node
{VK2KTJ-0 via rose}
parameters 1 10 * * * * * root /usr/sbin/axspawn axspawn %u +
VK2XLZ * * * * * * *
VK2DAY * * * * * * *
NOCALL * * * * * * L
default 1 10 5 100 180 5 * root /usr/sbin/pms pms -a -o vk2ktj
{VK2KTJ-1 via rose}
default * * * * * 0 root /usr/sbin/node node radio
</PRE>
Powy¿ej ukazane jest, ¿e ktokolwiek usi³uj±cy ³±czno¶ci do znaku `VK2KTJ-0' na porcie AX.25 o nazwie 'radio' otrzyma takie zezwolenia:
<P>Je¶li kto¶ ma ustawione 'NOCALL' zostanie odrzucony, patrz u¿ycie literki 'L'.
<P>Wiersz 'parameters' zmienia dwie warto¶ci spo¶ród domy¶lnych warto¶ci j±dra (Windows i T1) oraz wyznacza program /usr/sbin/axspawn program, aby by³ odpalony. Ktorakolwiek instancja programu 'axspawn' uruchomiona w ten sposób bêdzie widoczna po wydaniu polecenia 'ps' w Linuxie jako axspawn. Dwa nastêpne wiersze dostarczaj± definicji dla dwóch stacji, do których powy¿sze regu³y zostan± zastosowane.
<P>Ostatni wiersz w paragrafie jest definicj± typu siatka-na-wszystko i zostanie zastosowana do wszystkich innych stacji (³±cznie z VK2XLZ i VK2DAY je¶li mieæ bêd± inne numerki SSID ni¿ -1). Definicja ta ustawia wprost wszystkie warto¶ci, dodatkowo odpala wchodz±cym ³±czno¶ciom typu AX.25 program 'pms' informuj±c go, ¿e ³±czno¶æ jest typu AX.25 i ¿e w³a¶cicielem jest znak VK2KTJ. (Patrz 'Ustawianie PMS'a' poni¿ej).
<P>Nastêpna konfiguracja przyjmuje ³±czno¶ci do znaku VK2KTJ-1 przez port 'radio'. Odpala ona program 'node' dla wszystkich, którzy siê do niego ³±cz±.
<P>Kolejna konfiguracja obs³uguje NetRom. Zauwa¿ zastosowanie nawiasów znaku-wiêkszo¶ci i znaku-mniejszo¶ci zamiast nawiasów kwadratowych. One w³a¶nie deklaruj± wej¶cie do NetRom. Ustawienie jest prostsze i mówi tylko tyle, ¿e ktokolwiek wchodzi do stacji przez NetRom na porcie zwanym 'netrom' otrzyma program 'node', chyba ¿e ma znak 'NOCALL' i wtedy zostanie odrzucony.
<P>Dwie ostanie konfiguracje przeznaczone s± dla wchodz±cych ³±czno¶ci Rose. Pierwsza dla ludzi, którzy poprzez adres naszego wêz³a Rose wo³aj± znak 'vk2ktj-0' a druga dal tych, co wo³aj± znak 'VK2KTJ-1'. Dzia³aj± one w dok³adnie ten sam sposób. Zauwa¿ zastosowane nawiasy, które odró¿niaj± port Rose.
<P>Powy¿szy przyk³ad jest zmy¶lony ale my¶lê, ¿e jasno ilustruje wa¿ne cechy sk³adni pliku konfiguracyjnego. Pe³ny opis pliku znajdziesz w podrêczniku systemowym 'man' dla ax25d.conf. Za³±czono bardziej szczegó³owy przyk³ad w pakiecie ax25-utils, który te¿ siê mo¿e przydaæ.
<P>
<H2>13.3 Uruchamianie demona ax25d.</H2>
<P>Po edycji wspomnianych dwóch plików mo¿na odpaliæ program ax25d poleceniem:
<PRE>
# /usr/sbin/ax25d
</PRE>
<P>Gdy program pracuje, wówczas u¿ytkownicy powinni móc ³±czyæ siê przez AX.25 do twojego Linuxa. Pamiêtaj, aby¶ umie¶ci³ polecenie ax25d w plikach rc, aby startowa³o za ka¿dym razem gdy w³aczasz komputer.
<P>
<P>
<P>
<H2><A NAME="s14">14. Ustawienie wêz³a.</A></H2>
<P>Oprogramowanie wêz³a zosta³o zrobione przez Tomi'ego Manninen
<A HREF="mailto:tomi.manninen@hut.fi">tomi.manninen@hut.fi</A> i opiera³o siê g³ownie na programie PMS. Dostarcza ono do¶æ elastycznych i kompletnych mo¿liwo¶ci dla wêz³a, które ³atwo ustawiæ. U¿ytkownicy, po ustaleniu ³±czno¶ci, mog± odpaliæ Telnet, wykonaæ dalsze ³±czno¶ci NetRom, Rose lub AX.25 jak równie¿ uzuskiwaæ rozmaite informacje tak jak Finger, lista Wêz³ow i stacji ostanio s³yszanych, itp. Wêze³ mo¿na ustawiæ do¶æ prosto tak, ¿e zaserwuje on jak±kolwiek us³ugê dostêpn± pod Linuxem.
<P>Normalnie, 'node' wywo³ywany mo¿e byæ przez program 'ax25d', odpowie on te¿ na wezwania wchodz±ce drog± TCP/IP dziêki 'inetd', który wpu¶ci u¿ytkownika i odpali go dla niego, lub mo¿na go uruchomiæ z wiersza poleceñ.
<P>
<H2>14.1 Utworzenie pliku /etc/ax25/node.conf.</H2>
<P>Plik node.conf decyduje o g³ównej konfiguracji wêz³a. Jest prostym plikiem tekstowym, a jego sk³adnia jest taka:
<PRE>
# /etc/ax25/node.conf
# configuration file for the node(8) program.
#
# Linie rozpoczynaj±ce siê od # s± komentarzami i s± ignorowane.
# Hostname
# deklaruje nazwê 'hostname' dla wêz³a
hostname radio.gw.vk2ktj.ampr.org
# Local Network
# pozwala na okre¶lenie tego co 'local' w celach rewizji zezwoleñ
# przy u¿yciu node.perms
localnet 44.136.8.96/29
# Hide Ports
# Je¶li wpisane, pozwala na ukrycie portów przed u¿ytkownikami. Podane porty
# nie bêd± wy¶wietlane poleceniem (P)orts.
hiddenports rose netrom
# Callserver
# je¶li wpisane, pozwoli u¿ytkownikom na dostêp do callserver'a.
callserver zone.oh7rba.ampr.org
# Node Identification.
# to pojawi siê w zachêcie systemowej wêz³a
NodeId LINUX:VK2KTJ-9
# NetRom port
# To jest nazwa portu NetRom, który u¿ywany bêdzie do wychodz±cych ³±czno¶ci
# z wêz³a 'node'.
NrPort netrom
# Node Idle Timeout
# Okre¶la w sekundach warto¶æ "idle time" dla ³±czno¶ci z tym wêz³em
idletimout 1800
# Connection Idle Timeout
# okre¶la licznik "idle" dla ³±czno¶ci uczynionych przez ten wêze³, w sekundach
# seconds.
conntimeout 1800
# Reconnect
# Okre¶la czy ³±czno¶æ z u¿ytkownikami powinna byæ ponowiona gdy ich ³±czno¶æ
# z innymi stacjami zosta³a przerwana czy te¿ maj± byæ roz³±czeni na dobre.
#
reconnect on
# Pseudonimy dla poleceñ
# pozwala na uproszczenie uwik³anych poleceñ wêz³a
alias CONV "telnet vk1xwt.ampr.org 3600"
alias BBS "connect radio vk2xsb"
# Pseudonimy dla poleceñ zewnêtrzych
# Pozwala na odpalanie programów z zewn±trz spod wêz³a 'node'.
# extcmd <cmdname> <flag> <userid> <command>
# Flag == 1 to jest jedyna dotychczas stosowana funkcja.
# <command> jest pisane tak jak dla ax25d.conf
extcmd PMS 1 root /usr/sbin/pms pms -u %U -o VK2KTJ
# Logging
# Ustawienie log-u do log-u systemowego. 3 - najbardziej gadatliwe,
# 0 - wy³±czone.
loglevel 3
</PRE>
<P>
<H2>14.2 Utworzenie pliku /etc/ax25/node.perms.</H2>
<P>Wêze³ 'node' pozwala na ustawienie pewnych zezwoleñ dla u¿ytkowników. Zezwolenia te pozwalaj± ci decydowaæ, którzy u¿ytkownicy mog± u¿ywaæ opcji takich jak (T)elnet, i (C)onnect, na przyk³ad, a którzy nie mog±. Plik node.perms zawiera w³a¶nie te informacje i sk³ada siê z piêciu kluczowych pól. Je¶li pole zawiera znaczek '*' to zastêpuje cokolwiek. Przydaje siê to do definicji regu³ domy¶lnych.
<P>
<PRE>
user
zawiera znak lub u¿ytkownik do którego kolejne zezwolenia siê tycz±.
Numerki SSID s± ignorowane, zatem umie¶ciæ tutaj nale¿y go³y znak.
method
ka¿dy protokól i metoda dostêpu mo¿e otrzymaæ swoje zezwolenia. Na przyklad
mo¿esz zezwoliæ u¿ytkownikom do³±czonym protoko³em AX.25 i NetRom u¿ywaæ
opcji (C)onnect, ale zabroniæ tego innym, którzy weszli telnetem
z nie-lokalnego wêz³a. Drugie pole zatem pozwala okre¶lenie regu³
dla ³±czno¶ci, które wesz³y ró¿nymi metodami. Oto te metody:
method description
------ -----------------------------------------------------------
ampr U¿ytkownik wszed³ telnetem z adresu amprnet (44.0.0.0)
ax25 U¿ytkownik wszed³ drog± AX.25
host U¿ytkownik wszed³ odpalaj±c 'node' z wiersza poleceñ
inet U¿ytkownik wszed³ telnetem z adresu 'non-local'i z poza amprnet
local U¿ytkownik wszed³ telnetem z komputera typu 'local'
netrom U¿ytkownik wszed³ drog± NetRom
rose U¿ytkownik wszed³ drog± Rose
* U¿ytkownik wszed³ jakkolwiek.
port
Dla u¿ytkowników wchodz±cych przez AX.25 mo¿na udzielaæ zezwoleñ osobno
ka¿dy port Ax.25. Pozwala to decydowaæ co u¿ytkownicy AX.25 mog± robiæ
zale¿nie od tego do jakiego portu siê pod³±czyli. Trzecie pole zawiera
nazwê owych portów, je¶li u¿ywasz tej funkcji. Dzia³a to tylko dla
³±czno¶ci przez AX.25.
password
nieobowi±zkowo, mo¿na ustawiæ wêze³ tak, ¿e przedstawi on u¿ytkownikom
zachêtê systemow±, aby wprowadzili has³o zanim siê do³±cz±. Przydaje siê
to do ochrony tych u¿ytkowników, którzy ustawiony maj± wysoki stopieñ
zezwoleñ. Je¶li czwarte pole ma byæ wype³nione to jego warto¶æ jest
has³em, które bêdzie przyjête.
permissions
to pole stoi jako ostanie dla ka¿dego wpisu w pliku. Jest ono kodowane
bitowo tak, ¿e ka¿da us³uga posiada swoj± warto¶æ bitow±, której wpisanie
powoduje, ¿e zezwolenie na us³ugê jest udzielone lub zabronione. Oto
lista us³ug i im koresponduj±cych waro¶ci bitowych:
value description
----- -------------------------------------------------
1 Zezwolenie na Login
2 Zezwolenie na (C)onnect drog± AX.25
4 Zezwolenie na (C)onnect drog± NetRom
8 Zezwolenie na (T)elnet do 'lokalnych' wêz³ów
16 Zezwolenie na (T)elnet do wêz³ów z sieci amprnet (44.0.0.0)
32 Zezwolenie na (T)elnet do 'nie-lokalnych', wêz³ów z poza amprnet
64 Zezwolenie na (C)onnect drog± AX.25 przez ukryte porty
128 Zezwolenie na (C)onnect drog± Rose
</PRE>
Aby zakodowaæ warto¶æ zezwoleñ dla danej regu³y poprostu wybierz te zezwolenia, które chcesz, aby u¿ytkownik mia³ i dodaj ich warto¶ci bitowe. Otrzyman± w ten sposób cyfrê nale¿y umie¶ciæ w polu nr. 5.
<P>Oto jak mo¿na ustawiæ plik node.perms:
<PRE>
# /etc/ax25/node.perms
#
# Operatorem wêz³a jest VK2KTJ, posiada has³o 'secret' i wolno mu szystko
# jak±kolwiek metod± wszed³
vk2ktj * * secret 255
# Ci u¿ytkownicy s± nie wejd± w ogóle
NOCALL * * * 0
PK232 * * * 0
PMS * * * 0
# U¿ytkownicy INET te¿ nie wejd± w ogóle
* inet * * 0
# Ci, którzy weszli drog± AX.25,NetRom, Local, Host i AMPR maj± zezwolenie
# na (C)onnect i (T)elnet do wêz³ów 'lokalnych' i amprnet, ale nie innych
# adresów IP.
* ax25 * * 159
* netrom * * 159
* local * * 159
* host * * 159
* ampr * * 159
</PRE>
<P>
<H2>14.3 Ustawienie wêz³a, aby by³ uruchamiany z ax25d.</H2>
<P>Program 'node' powinien normalnie byæ uruchamiany przez program 'ax25d'. Dokonujemy tego wpisuj±c odpowiednie regu³y w pliku /etc/ax25/ax25d.conf. Na mojej maszynie chcialem, aby u¿ytkownicy mieli wybór ³±czno¶ci do wêz³a lub innych programów us³ugowych. 'ax25d' pozwala w³a¶nie na to je¶li sprytnie powpisujesz pseudonimy portów. Dla przyk³adu, stosuj±c powy¿sz± konfiguracjê ax25d chcê ustawiæ 'node' tak, aby u¿ytkownicy ³±cz±cy siê do VK2KTJ-1 dostali siê do wêz³a 'node'. Wpisa³em zatem takie wiersze do pliku /etc/ax25/ax25d.conf:
<PRE>
[vk2ktj-1 via radio]
default * * * * * 0 root /usr/sbin/node node
</PRE>
To oznacza, ¿e oprogramowanie j±dra Linuxa odpowie na pro¶bê o ³±czno¶æ dla znaku 'VK2KTJ-1' na porcie AX.25 nazwanego 'radio', i odpali potem program node.
<P>
<H2>14.4 Ustawienie wêz³a, aby by³ uruchamiany z 'inetd'.</H2>
<P>Je¶li chcesz, aby u¿ytkownicy mogli wej¶æ telnetem do twojej maszyny i uzyskaæ dostêp do wêz³a 'node' to nie ma nic prostszego. Najpierw zdecyduj na jaki port u¿ytkownicy powinni siê ³aczyæ. W tym wypadku wybra³em arbitralny numer 4000, choæ Tomi podaje w swojej dokumentacji szczegó³y na temat jak podmieniæ zwyczajnego demona telnetu na demona wêz³a 'node'.
<P>Potrzebujesz zmodyfikowaæ dwa pliki.
<P>Do pliku /etc/services powiniene¶ dodaæ:
<PRE>
node 4000/tcp #OH2BNS's node software
</PRE>
a do pliku /etc/inetd.conf dodaj:
<PRE>
node stream tcp nowait root /usr/sbin/node node
</PRE>
Po wykonaniu tego i po restarcie programu 'inetd' u¿ytkownicy, którzy wchodz± telnetem na port 4000 w twojej maszynie dostan± zachêtê systemow±, aby siê zalogowaæ, i je¶li zosta³o to dla nich skonfigurowane to has³o, po podaniu którego pod³±czeni zostan± do wêz³a 'node'.
<P>
<H2><A NAME="s15">15. Ustawienie programu axspawn.</A></H2>
<P>Program axspawn pozwala wchodz±cym drog± AX.25 stacjom na zalogowanie siê do twojego komputera. Mo¿e on zostaæ wywo³any programem ax25d w taki sam sposób jak program 'node'. Nale¿y dodaæ tego typu zapis do pliku /etc/ax25/ax25d.conf, je¶li pragniesz, aby u¿ytkownicy mogli logowaæ siê do twojego komputera:
<PRE>
default * * * * * 1 root /usr/sbin/axspawn axspawn %u
</PRE>
Je¶li wiersz zakoñczony zostanie znaczniek '+' to u¿ytkownicy, przed zalogowaniem, bêd± musieli uderzyæ przycisk 'Return'. Warto¶æ domy¶lna ma to wy³±czone. Poszczególne zapisy dla stacji, które wystêpuj± pod tym wierszem spowoduj± uruchomienie programu 'axspawn' podczas wchodz±cej ³±czno¶ci. Po uruchomieniu, 'axspawn' najpierw sprawdza czy na wierszu poleceñ ukaza³ siê legalny znak/edentyfikator, pozbawia go numerka SSID, a potem sprawdza plik /etc/passwd czy u¿ytkownik posiada za³o¿one konto. Je¶li tak, i has³o jest ""(puste) lub '+', wtedy wpuszcza u¿ytkownika. Je¶li w polu has³a jest cokolwiek innego to u¿ytkownik jest odpytywany o swoje has³o. Przy nieistaniej±cych kontach w pliku /etc/passwd 'axspawn' mo¿na ustawiæ tak, ¿e utworzy je sam.
<H2>15.1 Utworzenie pliku /etc/ax25/axspawn.conf.</H2>
<P>Zachowanie programu axspawn mo¿na zmieniaæ plikiem /etc/ax25/axspawn.conf. Plik ten ma formê:
<PRE>
# /etc/ax25/axspawn.conf
#
# pozwala na automatyczne zak³adanie kont dla u¿ytkowników
create yes
#
# wpuszcza u¿ytkownika 'go¶æ' je¶li wy¿ej jest 'no' lub niepowiod³y sie
# inne rzeczy. Wy³acza sie 'no'.
guest no
#
# ID dla groupy lub nazwa konta dla samozak³adania konta
group ax25
#
# first user id to use
first_uid 2001
#
# maximum user id
max_uid 3000
#
# gdzie umieszczaæ katalog domowy dla nowych u¿ytkowników
home /home/ax25
#
# pow³oka systemowa dla u¿ytkownika
shell /bin/bash
#
# kojarzenie znaków z u¿ytkownikami dla ³±czno¶ci wychodz±cych.
associate yes
</PRE>
<P>Powy¿sze osiem ustawialnych prze³aczników maj± takie znaczenie:
<PRE>
# wskazuje, ze to komentarz
create
je¶li ustawione na 'yes' to 'axspawn usi³uje sam za³o¿yæ konto dla
u¿ytkownika, który jeszcze nie ma wpisu w pliku /etc/passwd.
guest
pole to okre¶la nazwê login-u konta dla ludzi w³±czaj±cych siê ale
nie maj±cych jeszcze konta przy 'create' ustawionym na 'no'. Zwykle
jest to ax25 lub guest
group
to pole okre¶la nazwê grupy, jaka zostanie u¿yta dla w³±czaj±cych siê
u¿ytkowników nie maj±cych jeszcze wpisu w pliku /etc/passwd.
first_uid
jest to cyfra pierwszego userid wybieranego automatycznie dla nowych
u¿ytkowników.
max_uid
jest to najwy¿szy numer, jaki bêdzie u¿yty dla userid nowych u¿ytkowników
home
to jest katalog domowy (login) dla nowych uzytkowników
shell
to okre¶la pow³okê systemow± dla nowych u¿ytkowników
associate
to oznaczenie wskazuje czy u¿ytkownik, po zalogowaniu siê, wykonuj±cy
³±czno¶æ wychodz±c± bêdzie mia³ swój w³asny znak, czy te¿ znak twojej
stacji.
</PRE>
<P>
<P>
<H2><A NAME="s16">16. Ustawienie PMS.</A></H2>
<P>Program pms to implementacja prostego 'personal message system' napisanego pocz±tkowo przez Alan'a Cox. Dalszy rozwój podjêty zosta³ przez David'a Brown, N2RGT,
<A HREF="mailto:dcb@vectorbd.com">dcb@vectorbd.com</A>. Obecnie jest nadal bardzo prosty maj±cy mozliwo¶æ wys³ania e-mail'a do w³a¶ciciela systemu i uzyskaæ ograniczone informacje maszynie lecz David pracuje nad tym, jak poszerzyæ jego mo¿liwo¶ci i uczyniæ go bardziej u¿ytecznym.
<P>Pozosta³o wiêc teraz parê prostych plików do stworzenia, które udziel± u¿ytkownikom pewnych informacji o samym systemie, a potem dodaæ odpowiedni zapis do pliku ax25d.conf, aby do³±czaj±cy siê u¿ytkownicy dostali siê do PMS.
<P>
<H2>16.1 Utworzenie pliku /etc/ax25/pms.motd.</H2>
<P>Plik /etc/ax25/pms.motd zawiera 'wiadomo¶æ dnia', któr± u¿ytkownicy ujrz± po ustaleniu ³±czno¶ci i zwyk³ym nag³óku BBS. Ten prosty plik jest tekstowy i wiadomo¶æ w nim zawarta bêdzie wys³ana do u¿ytkowników.
<P>
<H2>16.2 Utworzenie pliku /etc/ax25/pms.info.</H2>
<P>Plik /etc/ax25/pms.info równie¿ ma zawieraæ tekstowe, bardziej szczegó³owe informacje na tremat twojej stacji. Informacja w nim zawarta przedstawiana jest u¿ytkownikom w odpowiedzi na ich polecenie 'Info' z zachêty PMS>.
<P>
<H2>16.3 Kojarzenie znaków AX.25 z kontami u¿ytkowników</H2>
<P>Gdy jaki¶ u¿ytkownik wysy³a pocztê do znaku AX.25 to 'pms' spodziewa siê, ¿e znak ten jest w³asno¶ci± prawdziwego u¿ytkownika z kontem na twojej maszynie. Opisane jest to w osobnej sekcji.
<P>
<H2>16.4 Dodanie PMS do pliku /etc/ax25/ax25d.conf.</H2>
<P>Dodanaie programu 'pms' do pliku /etc/ax25/ax25d.conf jest bardzo proste. Trzeba jednak pamiêtaæ o jednej malutkiej rzeczy. Dave doda³ mo¿liwo¶æ podania argumentów dla PMS na wierszu poleceñ, które kontroluj± kilkana¶cie konwencji zwi±zanych z koñcem wiersza. Konwencje AX.25 i NetRom oczekuj±, ¿e 'end-of-line' to 'carriage return', 'linefeed' podczas gdy w unixach to jest poprostu 'newline'.Wiêc, dla przyk³adu, je¶li checia³by¶ dodaæ zapis, który oznacza³by, ¿e nale¿y odpaliæ PMS dla wchodz±cej ³±czno¶ci przez port AX.25, to dadaj taki wiersz:
<PRE>
default 1 10 5 100 5 0 root /usr/sbin/pms pms -a -o vk2ktj
</PRE>
To poprostu odpala program pms mówi±c mu, ¿e jest to ³±czno¶æ wchodz±ca drog± AX.25 i ¿e w³a¶cicielem PMS'a jest vk2ktj. Popatrz na podrêcznik systemowy 'man' w sprawie innych argumentów dla innych metod dostêpu.
<P>
<H2>16.5 Sprawdzenie PMS'a</H2>
<P>Aby sprawdziæ czy PMS dzia³a sprubuj tak± komendê z wiersza poleceñ:
<PRE>
# /usr/sbin/pms -u vk2ktj -o vk2ktj
</PRE>
Podstaw swój w³asny znak w miejsce mojego. Polecenie to odpali PMS mówi±c mu, ¿e ma u¿ywaæ uniksowych konwencji end-of-line, i ¿e u¿ytkownikiem loguj±cym siê jest vk2ktj. Mo¿esz zrobiæ teraz wszystko to, co u¿ytkownicy ³±cz±cy siê z zewn±trz.
<P>Dodatkowo móg³by¶ poprosiæ jak±¶ inn± stacjê, aby siê do ciebie do³±czy³a, aby potwierdziæ, ¿e ustawienie pliku ax25d.conf dzia³a poprawnie.
<P>
<H2><A NAME="s17">17. Ustawienie programów user_call.</A></H2>
<P>Programy 'user_call' to w rzeczywisto¶ci s± 'ax25_call' i 'netrom_call'. Pomu¶lane s± one tak, ¿e mog± byæ wezwane z 'ax25d', w celu zautomatyzowania ³±czno¶ci z odleg³ymi komputerami. Naturalnie mo¿na je wywo³aæ z wielu innych miejsc, np. z pow³oki systemowej, lub innych demonów, jak np. programu 'node'.
<P>Przupominaj± w swej prostocie program 'call'. Nie zajmuj± siê obróbk± ¿adnych danych, zatem sam musisz zadbaæ o to jak traktowane bêdzie end-of-line.
<P>Rozpocznijmy od tego jak mo¿na ich u¿ywaæ. Wyobra¼ sobie, ¿e posiadasz ma³± sieæ w domu i ¿e jednym komputerem jest Linux spelniaj±cy rolê bramki radiowej, oraz drugi komputer, który jest wêz³em BPQ. Komputery z³±czone s± razem ethernetem.
<P>Noramlnie, u¿ytkownicy radiowi, aby móc ³±czyæ siê z wêz³em BPQ musieliby robiæ to przez digipeating poprzez twojego linuxa, lub po³±czyæ siê wpierw z programem 'node' na twoim linuxie, a stamt±d wykonaæ nastêpne po³±czenie do wêz³a BPQ.
<P>Wyobra¼ sobie, ¿e wêze³ BPQ ma znak VK2KTJ-9 a linux ma port o nazwie 'bpq' obs³uguj±cy AX.25/ethernet. Równie¿ dodajmy, ¿e bramka radiowa Linux posiada port radiowy 'radio'.
<P>Zapis do pliku /etc/ax25/ax25d.conf wygl±da³by w ten deseñ:
<PRE>
[VK2KTJ-1 via radio]
default * * * * * * *
root /usr/sbin/ax25_call ax25_call bpq %u vk2ktj-9
</PRE>
i umo¿liwi³by u¿ytkownikom po³±czenie wprost do `VK2KTJ-1' co w gruncie rzeczy jest demonem ax25d pod Linuxem a nastêpnie prze³oczy³oby ich na ³±czno¶æ AX.25 do `VK2KTJ-9' przez interfejs 'bpq'.
<P>Jest ca³y asortyment innych mo¿liwych kombinacji, które s± do wypróbowania. Programy 'netrom_call' oraz 'rose_call' pracuj± w podobny sposób. Jeden z radioamatorów wykorzysta³ tê funkcjê, aby u³atwiæ ³±czno¶æ do odleg³ego BBS-u. Noramalnie u¿ytkownik musia³by wprowadziæ dlug± strunê poleceñ, aby wykonaæ tê ³±czno¶æ wiêc on dokona³ wpisu, który sprawia³, ¿e wspomniany BBS wygl±da³ tak, jakby dostêpny on by³ na sieci lokalnej; demon ax25d po¶redniczy³ w ³±czno¶ci do odleg³ego BBS-u.
<P>
<H2><A NAME="s18">18. Kojarzenie znaków AX.25 z kontami u¿ytkowników Linuxa.</A></H2>
<P>Istnieje wiele sutuacji, w których po¿±dane jest, aby powi±zaæ znak z kontem u¿ytkownika Linuxa. Jedn± z takich sutuacji by³aby, gdy wielu radioamatorów dziel± ze sob± tê sam± maszynê a chc± u¿ywaæ swoich znaków dla wychodz±cych ³±czno¶ci. Innym przyk³adem jest PMS, którego u¿ytkownicy chcieliby rozmawiaæ z jakim¶ u¿ytkownikiem na twoim komputerze.
<P>Oprogramowanie AX.25 dostarcza sposobu pozwalaj±cego na skojarzenie znaku z kontem u¿ytkownika. Wspominali¶my to ju¿ wcze¶niej w sekcji o PMS, ale podkre¶lam to raz jeszcze, ¿eby nie umknê³o to twej uwadze.
<P>Kojarzenia dokonujemy poleceniem 'axparms'. Ota jak wygl±da przyk³ad:
<PRE>
# axparms -assoc vk2ktj terry
</PRE>
Polecenie to kojarzy powy¿szy znak AX.25 vk2ktj z kontem 'terry' na tym komputerze. Wiêc przyk³adowo, ka¿da poczta dla vk2ktj z pms-u bêdzie dostarczona do konta 'terry' pod Linuxem.
<P>Zapamiêtaj, aby wpisaæ te kojarzenia do plików rc, aby dostêpne by³y za ka¿dym razem, gdy odpalasz komputer.
<P>Zauwa¿, ¿e nigdy nie powiniene¶ kojarzyæ znaku z kontem 'root' poniewa¿ spowoduje to du¿o problemów konfiguracyjnych w innych programach.
<P>
<H2><A NAME="s19">19. Jak po³±czyæ sieciowe oprogramowanie NOS z j±drem linuxa?</A></H2>
<P>Wielu ludzi preferuje któr±¶ z wersji NOS uruchamian± w Linuxie poniewa¿ oferuj± one wiele cech funkcji, do któtych przywykli. Wiêkszo¶æ tych ludzi chcia³oby równie¿ mieæ tak± mozliwo¶æ, aby NOS móg³ mówiæ do j±dra Linuxa po to, by móc zaoferowaæ jego niektóre us³ugi dla u¿ytkowników radiowych.
<P>
<H2>19.1 £±czenie NOS-a i Linuxa za pomoc± 'fajki'.</H2>
<P>Nastêpuj±ca informacja jest wk³adem Brandon'a S. Albery, KF8NH, który wyt³umaczy³ jak wzajemnie po³±czyæ NOS'a uruchomionego pod Linuxem z samym j±drem Linuxa przy u¿yciu urz±dzenia 'fajka'.
<P>Poniewa¿ zarówno Linux jak NOS obs³uguj± protokó³ 'slip' mo¿liwe jest po³±czenie nich obu ustawiaj±c ³±cze slip. Kosztownym sposobem mo¿naby to zrobiæ za pomoc± pêtli kablowej i dwóch portów seryjnych; by³oby to powolne ³±cze. Linux dostarcza funkcji, która dostêpna jest na wielu innych Unixo-podobnych systemach operacyjnych, zwanej 'fajk±'. S± to specjalne pseudo interfejsy, które przedstawiaj± siê dla oprogramowania jako standardowe urz±dzenia tty, lecz faktycznie s± tylko pêtlami do nastêpnej 'fajki'. Urz±dzenia te mog± byæ u¿ywane je¶li program pierwszy otworzy je ze strony 'master', a nastêpnie program drugi ze strony 'slave'. Gdy oba koñce zostan± otworzone, wówczas programy mog± siê komunikowaæ ze sob± pisz±c poprostu literki przez 'fajkê' jakby to by³o normalne urz±dzenie terminalowe.
<P>Zanim po³±czysz jak±¶ wersjê NOS-a lub innego programu z jadrem Linuxa, wpierw musisz wybraæ jak±¶ 'fajkê'. Znajdziesz j± szukaj±c w katalogu '/dev'. Koñcówki 'master' nazywaj± siê ptyp[1-f] a koñcówki 'slave' znane s± jako: ttyp[1-f]. Pamiêtaj, ¿e wystêpuj± parami. Je¶li we¼miesz 'fajkê' /dev/ptypf jako koñcówkê 'master' to musisz dobraæ 'fajkê' /dev/ttypf jako 'slave'.
<P>Po wybraniu pary urz±dzeñ 'fajka', nale¿y przypisaæ koñcówkê 'master' dla j±dra a koñcówkê 'slave' dla programu NOS poniewa¿ j±dro Linuxa rozpoczyna jako pierwsze, a 'master' musi byæ otworzone na pocz±tku. Linux, warto wiedzieæ, powinien mieæ odmienny IP adres od adresu NOS-a, zatem musisz mu przypisaæ unikalny adres, je¶li jeszcze tego nie uczyni³e¶.
<P>'Fajkê' ustawiamy tak samo jak urz±dzenie seryjne, wiêc aby utworzyæ ³±cze slip na j±drze Linuxa móg³by¶ u¿yæ co¶ takiego:
<PRE>
# /sbin/slattach -s 38400 -p slip /dev/ptypf &
# /sbin/ifconfig sl0 broadcast 44.255.255.255 pointopoint 44.70.248.67 /
mtu 1536 44.70.4.88
# /sbin/route add 44.70.248.67 sl0
# /sbin/route add -net 44.0.0.0 netmask 255.0.0.0 gw 44.70.248.67
</PRE>
W tym przyk³adzie j±dro linuxa otrzyna³o adres IP 44.70.4.88 a program NOS adres IP 44.70.248.67. Polecenie 'route' w ostatnim wierszu instruuje j±dro linuxa, ¿e wszelkie datagramy z przeznaczeniem dla amprnet-u maj± i¶æ poprzez ³±cze slip utworzone poleceniem slattach. Zwykle polecenia powy¿sze umie¶ciæ nale¿a³oby w w plikach /etc/rc.d/rc.inet2 po tym jak wszystkie inne ustawienia siciowe zostan± wykonane, po to, aby ³±cze slip by³o dostêpne po prze³adowaniu komputera. Uwaga: nie ma powodów, aby u¿ywaæ cslip zamiast slip gdy¿ to w³a¶ciwe redukuje osi±gi poniewa¿ ³±cze to jest virtualne i zachodzi wystarczaj±co szybko, a uprzenia kompresja nag³ówków zabiera wiêcej czasu ani¿eli przesy³ nieskompresowanych datagramów.
<P>Ustawienie ³±cza po stronie NOS-a mo¿na pokusiæ siê i zrobiæ tak:
<PRE>
# interfejs mo¿na nazwaæ jak ci siê podoba. ja nazwa³em go dla wygody
# 'linux'
#
attach asy ttypf - slip linux 1024 1024 38400
route addprivate 44.70.4.88 linux
</PRE>
Polecenia te utworz± port slip zwany 'linux' na 'fajce' z koñcówk± 'slave' i do³±cz± go do jadra linuxa, dodadz± '¶cie¿kê', aby ³±cze pracowa³o. Po wystartowaniu NOS-a pod Linuxem powiniene¶ móc 'zapingowaæ' Linuxa i odwrotnie. Je¶li nie, posprawdzaj, ¿e nie pope³ni³e¶ ¿adnych b³êdów, szczególnie przy adresach i na koñcówkach 'fajek'.
<P>
<H2><A NAME="s20">20. Zapisy w pliku /proc.</A></H2>
<P>System plików /proc zawiera pewn± liczbê plików zwi±zanych bezpo¶rednio z oprogramowaniem j±dra dla AX.25 i NetRom. U¿ywane s± one g³ownie przez programy z pakietu ax25-utils ale maj± taki format,¿e byæ mo¿e chcia³by¶ je przeczytaæ. Foramt jest naprawdê ³atwy i nie s±dzê, ¿e trzeba wiele t³umaczyæ.
<PRE>
/proc/net/arp
zawiera mapê dla protoko³u Address Resolution pomiêdzy adresami IP
a adresami protoko³u warstwy MAC. Te obejmuj± AX.25, ethernet i niektóre
protoko³y wartstwy MAC
/proc/net/ax25
zawiera listê otwartych gniazd AX.25. Mog± one albo sluchaæ na
nadchodz±ce ³±czno¶ci lub s± aktywne.
/proc/net/ax25_bpqether
zawiera mapê dla AX.25 a BPQ o znakach
/proc/net/ax25_calls
zawiera mapê o userid i znakach ustawion± przez polecenie
axparms -assoc command.
/proc/net/ax25_route
zawiera informacjê na temat ¶cie¿ki digipeaterów
/proc/net/nr
zawiera listê gniazd NetRom, które s± otwarte na skutek tego, ¿e
sluchaj± lub, ¿e s± aktywne.
/proc/net/nr_neigh
zawiera informacje o s±siadach, o których NetRom jest ¶wiadome.
/proc/net/nt_nodes
zawiera informacje o wêz³ach znanych dla oprogramowania NetRom
/proc/net/rose
zawiera listê otwartych gniazd Rose na skutek tego, ¿e albo s³uchaj±
albo s± aktywne
/proc/net/Rose_nodes
zawiera mapê o docelowych stacjach Rose przez s±siadów Rose
/proc/net/rose_neigh
zawiera listê wêz³ów, które Rose zna
/proc/net/rose_routes
zawiera listê wszystkich aktywnych ³±czy Rose
</PRE>
<H2><A NAME="s21">21. Przyk³adowe konfiguracje.</A></H2>
<P>Podane s± poni¿ej przyk³ady niektórych typowych konfiguracji. S± to tylko rady poniewa¿ jest tyle sposobów ustawienia swojej sieci ile istnieje sieci do skonfigurawania, ale te mog± przydaæ ci siê na pocz±tek.
<P>
<H2>21.1 Ma³a sieæ z linuxem jako routerem dla lokalnej sieci radiowej</H2>
<P>Wielu z was posiada ma³e, lokalne sieci w domu i chcecie pod³aczyæ te komputery do swojej lokalnej sieci radiowej. W³a¶nie takiego uk³adu u¿ywam sam w domu. Zadba³em o to, aby dostaæ odpowiedni± liczbê w³a¶ciwych adresów, tak, aby mo¿na by³o je uchwyciæ jednym routingiem dla wygody i u¿ywam ich na swojej lokalnej sieci ethernet. Wasz koordynator adresów IP pomo¿e wam w tym równie¿ je¶li chcecie tego sprobowaæ. Adresy mojej lokalne sieci Ethernet tworz± podsekcjê adresów sieci radiowej. Nastêpuj±ce ustawienie jest rzeczywistê dla linuxa jako routera na mojej sieci w domu:
<PRE>
--- .
| Network /---------\ . Network
| 44.136.8.96/29| | . 44.136.8/24 \ | /
| | Linux | . \|/
| | | . |
| eth0 | Router | . /-----\ /----------\ |
|---------------| |-----| TNC |----| Radio |---/
| 44.136.8.97 | and | . \-----/ \----------/
| | | sl0
| | Server | 44.136.8.5
| | | .
| | | .
| \_________/ .
--- . . . . . .
</PRE>
<PRE>
#!/bin/sh
# /etc/rc.net
# To ustawienie dostarcza jednego portu AX.25 w KISS i jednego interfejsu
# Ethernet.
echo "/etc/rc.net"
echo " Configuring:"
echo -n " loopback:"
/sbin/ifconfig lo 127.0.0.1
/sbin/route add 127.0.0.1
echo " done."
echo -n " ethernet:"
/sbin/ifconfig eth0 44.136.8.97 netmask 255.255.255.248 \
broadcast 44.136.8.103 up
/sbin/route add 44.136.8.97 eth0
/sbin/route add -net 44.136.8.96 netmask 255.255.255.248 eth0
echo " done."
echo -n " AX.25: "
kissattach -i 44.136.8.5 -m 512 /dev/ttyS1 4800
ifconfig sl0 netmask 255.255.255.0 broadcast 44.136.8.255
route add -host 44.136.8.5 sl0
route add -net 44.136.8.0 window 1024 sl0
echo -n " Netrom: "
nrattach -i 44.136.8.5 netrom
echo " Routing:"
/sbin/route add default gw 44.136.8.68 window 1024 sl0
echo " default route."
echo done.
# end
/etc/ax25/axports
# name callsign speed paclen window description
4800 VK2KTJ-0 4800 256 2 144.800 MHz
/etc/ax25/nrports
# name callsign alias paclen description
netrom VK2KTJ-9 LINUX 235 Linux Switch Port
/etc/ax25/nrbroadcast
# ax25_name min_obs def_qual worst_qual verbose
4800 1 120 10 1
</PRE>
W j±drze trzeba uaktywniæ IP_FARWARDING.
<P>Pliki konfiguracyjne AX.25 s± mniej wiêcej takie same ja przyk³ady we wcze¶niejszych sekcjach, wiêc zajrzyj do nich gdy trzeba.
<P>Zdecydowa³em siê przypisaæ adres IP dla portu radiowego, który nie na³e¿y do bloku mojej domowej sieci. Nie musia³em tak robiæ, mo¿na by³o ¶mia³o u¿yæ 44.136.8.97 na tym porcie.
<P>44.136.8.68 to moja lokalna bramka do enkapsulacji IPIP, zatem tutaj kierujê ¶cie¿kê domy¶ln±.
<P>Ka¿dy komputer na sieci Ethernet ma ¶cie¿kê:
<PRE>
route add -net 44.0.0.0 netmask 255.0.0.0 \
gw 44.136.8.97 window 512 mss 512 eth0
</PRE>
Stosowanie parametrów mss i window oznacza, ¿e uzyskujê maksymalne osi±gi zarówno na p³±czeniach Ethernet jak i radiowych.
<P>
<PRE>
- na routerze mam odpalone rzownie¿ ftp, http, smail i inne demony wiêc jest on
jedynym komputerem, który innym serwuje us³ugi
- mój router to pokorne 386DX20 z 20 Mb twardego dysku i bardzo minimaln± wersj±
linuxa.
</PRE>
<P>
<H2>21.2 Konfiguracja przyk³adowa dla bramki z enkapsulacj± IPIP.</H2>
<P>Linux jest obecnie pospolicie u¿ywany jako bramka dla enkapsulacji TCP/IP po ca³ym ¶wiecie. Nowy sterownik 'tunnel' obs³uguje wielokrotne ¶cie¿ki enkapsulacji i sprawia, ¿e demon ipip jest przestarza³y.
<P>Typowa konfiguracja wyg³±da³aby w takowy sposób:
<PRE>
--- .
| Network /---------\ . Network
| 154.27.3/24 | | . 44.136.16/24 \ | /
| | Linux | . \|/
| | | . |
| eth0 | IPIP | . /-----\ /----------\ |
---|---------------| |-----| TNC |----| Radio |---/
| 154.27.3.20 | Gateway | . \-----/ \----------/
| | | sl0
| | | 44.136.16.1
| | | .
| | | .
| \_________/ .
--- . . . . . .
Pliki którymi trzeba siê zaj±æ to:
# /etc/rc.net
# ustawiamy tutaj jeden port radiowy AX.25 w trybie KISS, jeden Ethernet,
# u¿ywamy sterownika 'tunnel' do IPIP encap/decapsulation
#
#
echo "/etc/rc.net"
echo " Configuring:"
#
echo -n " loopback:"
/sbin/ifconfig lo 127.0.0.1
/sbin/route add 127.0.0.1
echo " done."
#
echo -n " ethernet:"
/sbin/ifconfig eth0 154.27.3.20 netmask 255.255.255.0 \
broadcast 154.27.3.255 up
/sbin/route add 154.27.3.20 eth0
/sbin/route add -net 154.27.3.0 netmask 255.255.255.0 eth0
echo " done."
#
echo -n " AX.25: "
kissattach -i 44.136.16.1 -m 512 /dev/ttyS1 4800
/sbin/ifconfig sl0 netmask 255.255.255.0 broadcast 44.136.16.255
/sbin/route add -host 44.136.16.1 sl0
/sbin/route add -net 44.136.16.0 netmask 255.255.255.0 window 1024 sl0
#
echo -n " tunnel:"
/sbin/ifconfig tunl0 44.136.16.1 mtu 512 up
#
echo done.
#
echo -n "Routing ... "
source /etc/ipip.routes
echo done.
#
# end.
and:
# /etc/ipip.routes
# This file is generated using the munge script
#
/sbin/route add -net 44.134.8.0 netmask 255.255.255.0 tunl0 gw 134.43.26.1
/sbin/route add -net 44.34.9.0 netmask 255.255.255.0 tunl0 gw 174.84.6.17
/sbin/route add -net 44.13.28.0 netmask 255.255.255.0 tunl0 gw 212.37.126.3
...
...
...
/etc/ax25/axports
# name callsign speed paclen window description
4800 VK2KTJ-0 4800 256 2 144.800 MHz
</PRE>
<P>Niektóre uwagi do zanotowania:
<PRE>
- Nowy sterownik 'tunnel' u¿ywa pola gw w tablicach routingowych w miejsce
parametru 'pointopoint' do okre¶lenia adresu odleg³ej bramki IPIP. Oto
dlaczego obecnie obs³uguje wielokrotne ¶cie¿ki na ka¿dym interfejsie.
- Mo¿na ustawiæ dwa interfejsy sieciowe z tym samym adresem. W tym przyk³adzie
zarówno interfejs sl0 jak i tunl0 przyjê³y adres IP portu radiowego. Czyni
siê tak w tym celu, aby odleg³a bramka widzia³a poprawne adresy na enkapsulo-
wanych datagramach wysy³anych do niej z twojej bramki.
- polecenia 'route' do okre¶lania enkapsulowanych ¶cie¿ek mo¿na wygenerowaæ
u¿ywaj±c modyfikowanej wersji "skryptu munge". Podane jest to ni¿ej. Polecenia
route wpisane by³yby potem do osobnego pliku i czytane przez bash
z /etc/ipip.routes (za³o¿ywszy, ¿e nazwa³e¶ plik z poleceniami routingu nazw±
/etc/ipip.routes) tak jak na ilustracji. Plik ¼ród³owy musi mieæ format
w stylu poleceñ 'route' pod NOS-em.
- Zauwa¿ stosowanie argumentu 'window' dla polecenia 'route'. Ustawienie tego
parametru na w³a¶ciw± warto¶æ polepsza osi±gi na ³±czu radiowym
</PRE>
<P>Oto nowy skrypt 'tunnel-munge':
<PRE>
#!/bin/sh
#
# From: Ron Atkinson <n8fow@hamgate.cc.wayne.edu>
#
# This script is basically the 'munge' script written by Bdale N3EUA
# for the IPIP daemon and is modified by Ron Atkinson N8FOW. It's
# purpose is to convert a KA9Q NOS format gateways route file
# (usually called 'encap.txt') into a Linux routing table format
# for the IP tunnel driver.
#
# Usage: Gateway file on stdin, Linux route format file on stdout.
# eg. tunnel-munge < encap.txt > ampr-routes
#
# NOTE: Before you use this script be sure to check or change the
# following items:
#
# 1) Change the 'Local routes' and 'Misc user routes' sections
# to routes that apply to your own area (remove mine please!)
# 2) On the fgrep line be sure to change the IP address to YOUR
# gateway Internet address. Failure to do so will cause serious
# routing loops.
# 3) The default interface name is 'tunl0'. Make sure this is
# correct for your system.
echo "#"
echo "# IP tunnel route table built by $LOGNAME on `date`"
echo "# by tunnel-munge script v960307."
echo "#"
echo "# Local routes"
echo "route add -net 44.xxx.xxx.xxx netmask 255.mmm.mmm.mmm dev sl0"
echo "#"
echo "# Misc user routes"
echo "#"
echo "# remote routes"
fgrep encap | grep "^route" | grep -v " XXX.XXX.XXX.XXX" | \
awk '{
split($3, s, "/")
split(s[1], n,".")
if (n[1] == "") n[1]="0"
if (n[2] == "") n[2]="0"
if (n[3] == "") n[3]="0"
if (n[4] == "") n[4]="0"
if (s[2] == "1") mask="128.0.0.0"
else if (s[2] == "2") mask="192.0.0.0"
else if (s[2] == "3") mask="224.0.0.0"
else if (s[2] == "4") mask="240.0.0.0"
else if (s[2] == "5") mask="248.0.0.0"
else if (s[2] == "6") mask="252.0.0.0"
else if (s[2] == "7") mask="254.0.0.0"
else if (s[2] == "8") mask="255.0.0.0"
else if (s[2] == "9") mask="255.128.0.0"
else if (s[2] == "10") mask="255.192.0.0"
else if (s[2] == "11") mask="255.224.0.0"
else if (s[2] == "12") mask="255.240.0.0"
else if (s[2] == "13") mask="255.248.0.0"
else if (s[2] == "14") mask="255.252.0.0"
else if (s[2] == "15") mask="255.254.0.0"
else if (s[2] == "16") mask="255.255.0.0"
else if (s[2] == "17") mask="255.255.128.0"
else if (s[2] == "18") mask="255.255.192.0"
else if (s[2] == "19") mask="255.255.224.0"
else if (s[2] == "20") mask="255.255.240.0"
else if (s[2] == "21") mask="255.255.248.0"
else if (s[2] == "22") mask="255.255.252.0"
else if (s[2] == "23") mask="255.255.254.0"
else if (s[2] == "24") mask="255.255.255.0"
else if (s[2] == "25") mask="255.255.255.128"
else if (s[2] == "26") mask="255.255.255.192"
else if (s[2] == "27") mask="255.255.255.224"
else if (s[2] == "28") mask="255.255.255.240"
else if (s[2] == "29") mask="255.255.255.248"
else if (s[2] == "30") mask="255.255.255.252"
else if (s[2] == "31") mask="255.255.255.254"
else mask="255.255.255.255"
if (mask == "255.255.255.255")
printf "route add -host %s.%s.%s.%s gw %s dev tunl0\n"\
,n[1],n[2],n[3],n[4],$5
else
printf "route add -net %s.%s.%s.%s gw %s netmask %s dev tunl0\n"\
,n[1],n[2],n[3],n[4],$5,mask
}'
echo "#"
echo "# default the rest of amprnet via mirrorshades.ucsd.edu"
echo "route add -net 44.0.0.0 gw 128.54.16.18 netmask 255.0.0.0 dev tunl0"
echo "#"
echo "# the end"
</PRE>
<P>
<H2><A NAME="s22">22. Programowanie warstwy sieciowej AX.25, NetRom i Rose.</A></H2>
<P>Najwiêksz± bodaj¿e zalet± stosowania protoko³ów radioamatorskiego radia packet opartego o j±dro linuxa jest ³atwo¶æ, z jak± mo¿esz pisaæ aplikacje i programy i je na nim u¿ywaæ.
<P>Choæ temat Programowania Sieci pod Unixem przekracza ramy tego¿ dokumentu, to jednak opiszê tutaj elementarne szczegó³y dotycz±ce jak wykorzystaæ protoko³y AX.25, NetRom i Rose wewn±trz swojego oprogramowania.
<P>
<H2>22.1 Rodziny adresów.</H2>
<P>Programowanie sieciowe pod Linuxem dla AX.25, NetRom i Rose przypomina programowanie dla TCP/IP. Najwiêsz± ró¿nic± jest stosowana rodzina adresu i jego struktura, któr± nale¿y poprzekrêcaæ w odpowiednie miejsce.
<P>Nazwy rodziny adresów dla AX.25, NetRom i Rose to kolejno AF_AX25, AF_NETROM oraz AF_ROSE.
<P>
<H2><A NAME="s23">23. Pliki nag³ówkowe.</A></H2>
<P>Zawsze nale¿y do³±czyæ plik 'ax25.h', 'netrom.h' i rose.h' je¶li masz do czynienia z tymi protoko³ami. Prosty szkielet górnej czê¶ci wygl±da³by tak:
<P>Dla AX.25:
<PRE>
#include <ax25.h>
int s, addrlen = sizeof(struct full_sockaddr_ax25);
struct full_sockaddr_ax25 sockaddr;
sockaddr.fsa_ax25.sax25_family = AF_AX25
</PRE>
Dla NetRom:
<PRE>
#include <ax25.h>
#include <netrom.h>
int s, addrlen = sizeof(struct full_sockaddr_ax25);
struct full_sockaddr_ax25 sockaddr;
sockaddr.fsa_ax25.sax25_family = AF_NETROM;
</PRE>
Dla Rose:
<PRE>
#include <ax25.h>
#include <rose.h>
int s, addrlen = sizeof(struct sockaddr_rose);
struct sockaddr_rose sockaddr;
sockaddr.srose_family = AF_ROSE;
</PRE>
<H2>23.1 Kwestia znaków i przyk³ady.</H2>
<P>W bibliotekach /lib/ax25.a zawartych w pakiecie progamów narzêdziowych ax25-utils znajduj± siê wbudowane rutyny konweruj±ce znaki wywo³awcze. Je¶li chcesz mo¿esz napisaæ swoje w³asne.
<P>Program narzêdziowy user_call jest wy¶mienitym przyk³adem na pocz±tek. ¬ród³a dla tych rutyn zawarte s± w pakiecie programów narzêdziowych AX.25-utils. Po spêdzeniu paru chwil pracuj±c nad nimi zauwa¿ysz, ¿e 90 procent roboty to przygotowanie otworzenia 'socket-u'. Wykonanie ³±czno¶ci jest ³atwe podczas gdy przygotowanie zajmuje trochê czasu.
<P>Przyk³ady s± na tyle proste, ¿e nie wprowadzaj± zamieszania. Je¶li masz jakie¶ pytanie to kieruj je na listê linux-hams, gdzie znajd± siê ludzie gotowi udzielæ ci odpowiedzi.
<P>
<H2><A NAME="s24">24. Dyskusja zwi±zana z Radiem Amatorskim i Linuxem.</A></H2>
<P>Jest wiele miejsc, gdzie dyskutuje siê na temat Radio Amatorskiego i Linuxa, na przyk³ad na comp.os.linux.* lub na li¶cie pocztowej vger.rutgers.edu. Inne miejsca, gdzie siê to czyni, to listy pocztowe tcp-group na ucsd.edu (ojczyzna dyskusji na temat TCP/IP i radia amatorskiego), jak równie¿ kana³ #linpeople w sieci linuxnet na IRC.
<P>Aby zapisaæ siê na listê dyskusyjn± linux-hams, wy¶lij pocztê do:
<PRE>
Majordomo@vger.rutgers.edu
</PRE>
z tekstem:
<PRE>
subscribe linux-hams
</PRE>
w czêsci listu. Wiersz 'subject:' jest pomijany.
<P>Archiwum listy linux-hams znajduje siê na:
<A HREF="http://zone.pspt.fi/archive/linux-hams/">http://zone.pspt.fi/archive/linux-hams/</A> oraz na
<A HREF="http://zone.oh7rba.ampr.org/archive/linux-hams/">http://zone.oh7rba.ampr.org/archive/linux-hams/</A>. Staraj siê zajrzeæ tam zanim rozpoczniesz dyskusjê poniewa¿ odpowiedziano tam na wiele powszechnych pytañ.
<P>Aby zapisaæ siê na listê tcp-group, wy¶lij list do:
<PRE>
listserver@ucsd.edu
</PRE>
z tekstem:
<PRE>
subscribe tcp-group
</PRE>
w czêsci listu.
<P>Zauwa¿, ¿e lista tcp-group jest przeznaczona g³ównie do dyskusji o zaawansowanych protoko³ach, których TCP/IP jest przyk³adem, w Radiu Amatorskim. Nie zadaje siê tam pytañ dotycz±cych Linuxa.
<P>
<H2><A NAME="s25">25. Podziêkowania.</A></H2>
<P>Nastêpuj±ce osoby przyczyni³y siê do stworzenia tego dokumentu na przeró¿ne sposoby, w sposób ¶wiadomy lub nie¶wiadomy. Podajê ich bez szczególnego uszeregowania (tak jak pamiêtam): Jonathon Naylor, Thomas Sailer, Joerg Reuter, Rot Atkinson, Alan Cox, Craig Small, John Tanner, Brandon Allbery.
<P>
<H2><A NAME="s26">26. Prawa autorskie.</A></H2>
<P><CODE>AX25-HOWTO, informacja na temat jak zainstalowaæ i ustawiæ niektóre z wa¿niejszych pakietów obs³uguj±cych AX.25 pod Linuxem.<BR>
Copyright © 1996 Terry Dawson.</CODE>
Jest to oproramowanie darmowe; mo¿e byæ modyfikowane i rozprowadzane na warunkach Ogólnej Licencji Publicznej GNU opublikowanej przez <CODE>Free Software Foundation</CODE>; licencja o wersji numer 2, lub dowolnie, jakakolwiek pó¼niejsza.
<P>Program ten rozprowadzany jest z nadziej±, ¿e bêdzie u¿yteczny, lecz BEZ JAKIEJKOLWIEK GWARANCJI; nawet bez gwarancji, ¿e moze byæ SPRZEDAWANY lub U¯YTECZNY DLA JAKIEGOKOLWIEK CELU. Wiêcej szczegó³ów znajdzesz w Ogólnej Licencji Publicznej GNU.
<P>Powiniene¶ by³ otrzymaæ egzemplarz Ogólnej Licencji Publicznej z tym programem; je¶li nie to napisz do:
<P><CODE>Free Software Foundation, Inc., 657 Mass Ave, Cambridge, MA 02139, USA</CODE>.
<P>
<H2><A NAME="s27">27. Od t³umacza.</A></H2>
<P>
<P>AX25-HOWTO - t³umaczenie na jêzyk polski. Informacja jak zainstalowaæ i ustawiæ niektóre z najwa¿niejszym pakietów do obs³ugi protoko³u AX.25 pod Linuxem.<BR>
Copyright © 1997 Benedict P. Barszcz.
<P>Wiele terminów, które w tym dokumencie zastosowa³em mo¿e brzmieæ dziwnie w uszach polskiego czytelnika. Przepraszam, wynika to z tego, ¿e polska terminologia radia packet jest mi zupe³nie nie znana. Radioamatorem zosta³em tutaj w USA i polskie nazewnictwo nie by³o wymogiem do egzaminu. To jest b³±d.
<P>Niektórych zwrotów nie t³umaczy³em ze wzg³êdow na ich ewidentno¶æ, ale na pewno w tym miejscu siê grubo mylê. Inne zwroty s± niezgrabne i w tym miejscu masz szerokie pole do popisu, czytelniku. ¦lij poprawki do poseidon@ziplink.net. Zwroty idiomatyczne stara³em siê zastêpowaæ naszymi, polskimi odpowiednikami. Czasem przesadzi³em, albo zupe³nie min±³em siê z celem:-)
<P>Mam wra¿enie, ¿e pope³ni³em te¿ b³êdy merytoryczne. Nie poprawi³em ich bo nie wiem gdzie:-).
<P>S± te¿ neologizmy, które nie zosta³y konsekwentnie u¿ywane w dokumencie, np. D¼wiêkoModem.
<P>Fragmenty w skrypcie 'munge' nie s± tlumaczone poniewa¿ nale¿± do pliku i s± komentarzem autora pliku.
<P>
<DL>
<P>Zmiany w stosunku do orygina³u:
<P>
<DT><B>port 4000.</B><DD><P>Port 4000 i port 3694/tcp dla node przez inetd; autor nie by³ konsekwentny. Wybra³em port 4000.
<P>
<DT><B>odwo³ania.</B><DD><P>Odwa³anie do Net-2-HOWTO zamieni³em na NET-3-HOWTO wskazuj±c jednocze¶nie na jego polskie t³umaczenie. Zdaje siê, ¿e Net-2-howto ju¿ nie istnieje.
<P>
<DT><B>nazwisko Pana Reuger.</B><DD><P>W jednym z odwo³añ, Terry poda³ tylko imiê, a na innym miejscu równie¿ nawisko. Dla czytelno¶ci w pierwszym wypadku poda³em zarówno imiê jak i nazwisko.
<P>
<DT><B>budowa j±dra.</B><DD><P>kolejno¶æ komend budowy j±dra poprawiona, aby faktycznie dzia³alo tak, jak autor zamierzy³. cd /usr/src postawione przed mv linux linux.old. Odci±³em te¿ ¶cie¿kê od nazwy pliku ax25-utils-12.tar.gz tak, aby zadzia³a³o zgodnie z zamierzeniem autora.
</DL>
<P>
<P>
<H2>27.1 Podziêkowania.</H2>
<P>Bardzo serdecznie chcia³bym podziêkowaæ Terry'emu Dawson, ¿e napisa³ ten dokument. Dopiero przy t³umaczeniu go, zrozumia³em jaki kawa³ roboty odwali³!
<P>Chcia³bym podziêkowaæ Bartkowi Maruszewskiemu, Piotrowi Têczyñskiemu oraz Piotrowi Pogorzelskiemu za (¶wiadom± i nie ¶wiadom±) pomoc i natchnienie, aby ten dokument powsta³.
<P>Jednocze¶nie chcia³bym przypomnieæ Waldkowi Ogonowskiemu, SP2ONG, ¿e to on jest wszystkiemu winiem - zarazi³ mnie Linuxem i nie wskaza³ kliniki, gdzie sie to paskuctwo leczy:-).
<P>Oraz dziêkuje wszystkim, którzy nade¶l± poprawki, które na pewno udoskonal± to t³umaczenie.
<P>
<P>
<P>
</BODY>
</HTML>
|