background image

Arkana Radiowego Internetu

Część 2

Linux

wersja 1.0

Mariusz Lisowski, SQ1BVN

Bydgoszcz, 2003

background image

SQ1BVN, Bydgoszcz 2002-2003

2

background image

Arkana Radiowego Internetu – część 2

1BUDOWA SYSTEMU.........................................................................................4

1.1Instalacja podstawowych składników systemu........................................................4

1.1.1Instalowanie pakietu Linux SuSE 7.0 w całości..............................................................4
1.1.2Instalowanie dodatkowych pakietów, które są przydatne na bramce...............................4
1.1.3Wymiana pakietu lilo na lilo............................................................................................6
1.1.4Ustawienie /etc/lilo.conf i instalacja lilo na Master Boot Record...................................7
1.1.5Instalowanie pakietu iputils.tgz i kompilacja kodu.........................................................8
1.1.6Instalowanie narzędzia tunnel-munge i plik ampr-routes ...............................................8
1.1.7Uruchomienie portu tunl0 – plik rc.tunnel......................................................................8
1.1.8Instalowanie katalogu /etc/rc.d/gate-start........................................................................9
1.1.9Włączenie funkcji IP forward w kernelu (/etc/rc.conf)....................................................9
1.1.10Instalacja NOS...............................................................................................................9
1.1.11Uruchamianie monitoringu portów TCP/IP (/etc/rc.d/ampr-gate/start-listen)...............9
1.1.12Uruchamianie konsol operatora węzła (/etc/inittab)......................................................9
1.1.13Ustawienie domain resolvera (/etc/resolv.conf).............................................................9
1.1.14Instalowanie bind.8.rpm..............................................................................................10
1.1.15Instalowanie daemonów AX.25...................................................................................10
1.1.16Uruchamianie karty SCC (sccinit i /etc/ax25/z8530drv.conf).....................................10
1.1.17Instalowanie serwera POP3 (popper.rpm)...................................................................10
1.1.18Instalowanie quote'y.....................................................................................................10
1.1.19Ustawienie aliasów pocztowych (/etc/alias i newaliases)............................................10
1.1.20Uruchamianie serwera HTTP i kopiowanie plików strony..........................................10
1.1.21Instalacja SSH..............................................................................................................10
1.1.22Instalacja colorconvers i 7plus.....................................................................................10
1.1.23Ustawienie parametrów zapory sieciowej (ipchains i rc.firewall)...............................10
1.1.24Instalowanie serwera proxy (socks5)...........................................................................10
1.1.25Instalowanie SLRN'a...................................................................................................10

1.2Specyfikacja portów AX.25 w Linux'ie linux-sr2bby.ampr.org...........................12

1.3Specyfikacja portów w TNOS'ie.............................................................................13

2UŻYWANIE PROTOKOŁÓW KOMUNIKACJI RADIOWEJ W LINUX’IE.......13

2.1 Struktura ramki AX25 w systemie Packet Radio.................................................13

2.2Protokół komunikacji ROSE...................................................................................15

2.2.1Inicjowanie interfejsu ROSE.........................................................................................16
2.2.2Otwieranie połączeń ROSE...........................................................................................19
2.2.3Kontrola pracy interfejsu ROSE....................................................................................20

2.3Połączenia ROSE do AWZNode..............................................................................20

2.4Usługi dostępne protokołem ROSE na węźle.........................................................20

3DODANIE NOWEGO UŻYTKOWNIKA...........................................................21

3

background image

SQ1BVN, Bydgoszcz 2002-2003

4URUCHOMIENIE SERVER'A PROXY SOCKS5.............................................24

4.1Plik konfiguracji server'a SOCKS5 /etc/socks5 . conf..........................................24

5USŁUGA CONVERS........................................................................................25

5.1Linki służbowe do innych węzłów convers obsługiwane przez 

linux.sr2bby.ampr.org.............................................................................................................25

5.2Listapoleceń wezła conversd....................................................................................26

6URUCHAMIANIE USŁUG NA AX.25...............................................................28

7INSTALOWANIE AX.25 DIGIPEATER'A (AXDIGI)..........................................28

7.1Łączenie się przez axdigi:.........................................................................................28

8WĘZŁY CLX.....................................................................................................29

9INNE..................................................................................................................30

4

background image

Arkana Radiowego Internetu – część 2

1 Budowa systemu

1.1 Instalacja podstawowych składników systemu

1.1.1 Instalowanie pakietu Linux SuSE 7.0 w całości

Należy dostosować się do zaleceń zespołu SuSE. Instalacja nie sprawia kłopotów.

1.1.2 Instalowanie dodatkowych pakietów, które są przydatne na bramce

Podczas instalacji należy wybrać opcję system zorientowany sieciowo. Pakiety 

potrzebne do działania bramki, które należy doinstalować do Linux SuSE 8.0.

Nazwa  paczki

Funkcja w systemie

Uwagi

./a2/shlibs5

Biblioteka dzielona dla 
procesów pisanych w C

./ap1/mc

Midnight Commander

./ap1/gpm

Menager myszy

./ap1/joe

Edytor tekstu JOE

./n1/bindquery

Narzędzia dla DNS

./sec1/ipchains-1.3

Firewall

./doc5/howto

Pomoce

./doc1/man-pages

Prodęcznik systemowy

./ap1/zip

Program pakujący

./ap1/ziptool

Narządzia do pakowania

./ap1/setserial

Narzędzie do ustawiania trybu 
pracy portu szeregowego 
/dev/ttyS0, itd.

./ap1/screen

Narzędzie pozwalające 
zawiesić kontrolę nad 
terminalem

./ap1/mkisofs

Narzędzie do tworzenia 
systemu plików ISO9660 
(do zapisania na CDROM'ach)

./ap4/unarj

Narzędzie do rospakowania 
archiwów ARJ

5

background image

SQ1BVN, Bydgoszcz 2002-2003

Nazwa  paczki

Funkcja w systemie

Uwagi

./ap4/unace

Narzędzie do rospakowania 
archiwów ACE

./n4/lynx

Przeglądarka stron WWW dla 
terminala tekstowego

./sec3/tripwire

Narzędzie do kontroli 
integralnosci systemu plików

Jeśli w systemie mają być 
kompilowane kody 
źródłowe należy 
doinstalować
./d2/make

Program make

./a1/gppshare
./d2/gcc
./d2/binutils
./d2/glibc-devel
./d2/ncurses-devel
./d3/db-devel-4.0

Przekompilować ifconfig dla obsługi adresów ROSE.

Serwer POP3 – konfiguracja.
/etc/popauth

/etc/services 
Dodać następujące rekordy:
convers
socks

/etc/protoc
axip
ipip

/etc/fstab
/etc/groups
/etc/lilo.conf

Skopiować:

/etc/passwd
/etc/shadow
/etc/hosts
/etc/HOSTNAME

6

background image

Arkana Radiowego Internetu – część 2

/etc/inittab

Przeniesienie:
conversd i jego skryptów konfiguracyjnych

Poczta: aliases
local-host-names

/etc/http

/etc/domain

1.1.3 Wymiana pakietu lilo na lilo

Taka operacja jest konieczna w systemach z dyskami, na których obraz jądra leży 

powyżej 1024 cylindra. Należy pamiętać także, że w BIOS'ie dysk powinien pracować jako 
NORMAL - to jest bardzo ważne.

Wskazówki:
rpm -i --force <name>    - instalowanie pakietu "na siłę" bez sprawdzania powiązań;
rpm -e <name>             - usunięcie pakietu o nazwie <nazwa>;
rpm -q -l                       - wyświetla listę zainstalowanych pakietów w systemie;
rpm -q -l | grep lilo        - j.w., które w nazwie maja słowo "lilo".

7

background image

SQ1BVN, Bydgoszcz 2002-2003

1.1.4 Ustawienie /etc/lilo.conf i instalacja lilo na Master Boot Record

Tą sekcję każdy musi samodzielnie zaprojektować w zależności od potrzeb. Moja 

koncepcja jest następująca. Dysk twardy o pojemności 20GB podzielony został na cztery 
części w fdisk'u Linux'owym.

ampr:~ # fdisk /dev/hda

The number of cylinders for this disk is set to 39549.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hda: 16 heads, 63 sectors, 39549 cylinders
Units = cylinders of 1008 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1       407    205096+   6  FAT16
/dev/hda2           408     34947  17408160   83  Linux
/dev/hda3         34948     39011   2048256   83  Linux
/dev/hda4         39012     39449    220752   82  Linux swap

Command (m for help): q

ampr:~ #

Zgodnie z przykładem dysk /dev/hda został podzielony na 4 partycje.

1. FAT-16

200MB

Partycja dla MSDOS 6.22 do 

celów diagnostyki sprzętu;

2. Linux native

18GB

Patrycja podstawowa dla Linux'a i 

pracesów bramki;

3. Linux native

2 GB

Partycja Linux'owa dla systemu do

eksperymentów;

4. Linux swap 128MB

Partycja wymiany, która jest wymagana 

obowiązkowo 

podczas instalacji 

systemu.

Kiedy wiadomo już na której partycji co będzie, proponuję odpowiednio skonfigurować 

plik /etc/lilo.conf. Należy pamiętać, że wszystkie jądra muszą znajdować się na partycji z 
której instalujemy lilo.

Przed jakimikolwiek zmianami koniecznie należy wykonać kopię MBR, ponieważ po 

złym zainstalowaniu lilo będzie konieczność powrotu do stanu początkowego. Dodatkowym 
zabezpieczeniem będą także dyskietki startowe Linux'a, to jest: bootdisk i rootdisk. Mogą się 
przydać kiedy maszyna nie będzie chciała startować z dysku twardego (zły program w MBR). 
Można też posiłkować się DOS'em. Wystarczy mieć dyskietkę startową DOS'u z fdisk'iem. Po
wystartowaniu systemu z takiej dyskietki można MBR odtworzyć podanym niżej poleceniem:

8

background image

Arkana Radiowego Internetu – część 2

fdisk /mbr

Później należy Linux'a wystartować za pomocą loadlin.exe (czyli DOS'owego loader'a 

Linux'a - i tu jest odpowiedź na pytanie: Do czego partycja DOS 6.22 ?!). Po prawidłowym 
ustawieniu /etc/lilo.conf można przystąpić do zainstalowania Linux loader'a na Master Boot 
Record dysku twardego.

Wskazówki:
       lilo -q -v                     spowoduje przeanalizowanie lilo.conf
                                      i wyświetlenie wszystkich komunikatów
                                      bez zmian w MBR;
       lilo -v                        instaluje lilo na MBR z dodatkowym
                                      śledzeniem wykonywanych operacji (verbose).
       lilo -U                        przywraca stan poprzedni MBR.

Jeśli lilo zainstaluje się prawidłowo na MBR podczas instalacji powinien pojawić się 

komunikat tj. poniżej oraz po zrestartowaniu systemu lilo powinien w pełni zadziałać.

Menu-title=”linux.sr2bby.ampr.org” lub
Menu-title=”ampr.zse.bydgoszcz.pl”

Wszystkie kernele muszą znajdować się w katalogu /boot. Ta zasada obowiązuje także, 

gdy systemy do uruchomienia przez lilo znajdują się na różnych partycjach.

1.1.5 Instalowanie pakietu iputils.tgz i kompilacja kodu

1.1.6 Instalowanie narzędzia tunnel-munge i plik ampr-routes 

1.1.7 Uruchomienie portu tunl0 – plik rc.tunnel

W systemach z jadrem nowszym od 2.0.36 do  obsługi tunelów potrzebny jest 

moduł ipip.o ładowany do kernela lub wbudowany w kod jadra systemu. Po załadowaniu 
modułu ipip.o pozostaje tylko inicjacja portu tunl0 poleceniem

modprobe -k ipip

ifconfig tunl0 44.165.40.1 up

Ustawienie routingu odbywa się poleceniem:

tcp route add <host>/24 via <IP_remote> onlink

Jeśli w systemie nie ma skryptu tcp należy go zainstalować. Ustawianie routingu 

poleceniem rote add jest nie mozliwe...

9

background image

SQ1BVN, Bydgoszcz 2002-2003

1.1.8 Instalowanie katalogu /etc/rc.d/gate-start

1.1.9 Włączenie funkcji IP forward w kernelu (/etc/rc.conf)

Poprawić pozycję:

IP_FORWARD=YES

1.1.10Instalacja NOS

Ustawienie dla plików TNOS'a uprawnień grup i użytkowników (tnos.tnos)

1.1.11Uruchamianie monitoringu portów TCP/IP (/etc/rc.d/ampr-gate/start-

listen)

1.1.12Uruchamianie konsol operatora węzła (/etc/inittab)

Sesja

proces

F1

agetty

F2

agetty

F3

agetty

F4

agetty

F5

TNOS 2.30

F6

listen -p axip

F7

listen -p link0

F8

listen -p 70cm

F9

listen -p 2m

F10

Konsola błędów

1.1.13Ustawienie domain resolvera (/etc/resolv.conf)

Gdy w systemie pracuje DNS – 127.0.0.1

10

0

background image

Arkana Radiowego Internetu – część 2

Gdy w systemie nie ma DNS'a – 195.117.253.120

przeszukiwane domeny: zse.bydgoszcz.pl, ampr.org

1.1.14Instalowanie bind.8.rpm

1.1.15Instalowanie daemonów AX.25

Źródło: 

ftp://rpmfind.net/linux/RPM/suse/6.4/axp/suse/ham1/..../

1.1.16Uruchamianie karty SCC (sccinit i /etc/ax25/z8530drv.conf)

1.1.17Instalowanie serwera POP3 (popper.rpm)

1.1.18Instalowanie quote'y

1.1.19Ustawienie aliasów pocztowych (/etc/alias i newaliases)

1.1.20Uruchamianie serwera HTTP i kopiowanie plików strony

1.1.21Instalacja SSH

1.1.22Instalacja colorconvers i 7plus

1.1.23Ustawienie parametrów zapory sieciowej (ipchains i rc.firewall)

1.1.24Instalowanie serwera proxy (socks5)

/etc/libsocks5.conf - ustawienia dla procesów klienckich
/etc/socks5.conf

- ustawienia dla serwera socks5

/etc/socks5.passwd - hasła używane do autoryzacji przychodzących sesji

1.1.25Instalowanie SLRN'a

Źródło: 

ftp://ftp.icm.edu.pl/vol/rzm1/linux-suse/sprac/update/7.0/n1/bind8.rpm/

11

1

background image

SQ1BVN, Bydgoszcz 2002-2003

12

2

background image

Arkana Radiowego Internetu – część 2

1.2 Specyfikacja portów AX.25 w Linux'ie linux-sr2bby.ampr.org.

Nazwa portu

/etc/ax25/axports

Nazwa portu w ifconfig

Urządzenie w systemie

sl0

/dev/ptyp0

sl1

/dev/ptyp1
/dev/ptyp2
/dev/ptyp3

axip

ax0

/dev/ptyp4
/dev/ptyp5
/dev/ptyp6
/dev/ptyp7
/dev/ptyp8
/dev/ptyp9
/dev/ptypa
/dev/ptypb
/dev/ptypc
/dev/ptypd
/dev/ptype
/dev/ptypf
/dev/scc0

2m

scc1

/dev/scc1

3cm

scc3

/dev/scc2
/dev/scc3
/dev/scc4

70cm

scc5

/dev/scc5
/dev/scc6
/dev/scc7
/dev/ttyS0 (/dev/mouse)

link0

ax1

/dev/ttyS1

13

3

background image

SQ1BVN, Bydgoszcz 2002-2003

1.3 Specyfikacja portów w TNOS'ie.

Nazwa portu w ifconfigu

Urządzenie w Linux'ie

slip0

/dev/ttyp0

slip1

/dev/ttyp1

2m

/dev/ttyp2

70cm

/dev/ttyp3

axip

Wysyła pakiety na /dev/ttyp0, słucha na /dev/ptyp3

2 Używanie protokołów komunikacji radiowej w Linux’ie.

2.1  Struktura ramki AX25 w systemie Packet Radio

Każda składa się z pól (ang.  Fields), znaczenie tych  pól zostało opisane poniżej. 

Nadawanie zaczyna się od LSB dla wszystkich pół, za wyjątkiem FCS, która jest nadawana 
rozpoczynając od MSB.

Nazwa  pola

Opis

FLAG

Flaga do oznaczania początku i końca pakietu (ramki)

ADDRESS

Pole adresowe służy do identyfikacji nadawcy i odbiorcy pakietu oraz 
stacji pośredniczących (digipeater'ów)

CONTROL

Pole kontrolno-sterujące. Określa typ ramki oraz kilka atrybutów z 
poziomu 2.

PID

Identyfikator protokołu – jeśli  występuje jakiś specyficzny w obrębie 
AX.25

INFORMATION Pole  informacyjne może zawierać maksymalnie 256 bajtów, zazwyczaj 

używa się 128 bajtów, czyli 1024 bity

FCS

Sekwencja kontrolna ramki. Jest to szesnastobitowa sekwencja 
wynikająca z zastosowania kodu cyklicznego o wielomianie 
generującym:
G(x)=x

16

+x

12

+x

5

+1

Kodowaniu podlegają pola adresowe, sterujące i informacyjne; ciąg ten 
oznaczymy jako P(x), wtedy w polu FCS nadany będzie ciąg spełniający 
warunek:

FLAG

Flaga służąca do oznaczania początku i końca pakietu (ramki)

14

4

background image

Arkana Radiowego Internetu – część 2

2.2 Protokół komunikacji ROSE

Rozwinięciem protokołu komunikacyjnego AX.25 jest protokół ROSE (ang. Amateur 

Radio X.25 PLP). Jest to swojego rodzaju wariacja protokołu AX.25, wprowadzająca 
elementy protokołu (stosowanego powszechnie w WAN) X.25 dla celów amatorskich. 
Mechanizm połączenia X.25 (czyli ROSE) przedstawiono poniżej.

Protokół ROSE bazuje na protokole AX.25, czyli pakiety ROSE są pakowane 

(enkapsulowane) w pakiety AX25 w celu przetransportowania ich przez sieć węzłów AX.25. 
Takie pakiety po dotarciu do docelowego węzła są rozpakowywane  i  przepisywane przez 
jądro systemu na wirtualny port rose. Od  tego momentu pakiety ROSE traktowane są przez 
system podobnie jak pakiety AX.25, NETROM czy TCP/IP.

15

5

Kanał  komunikacyjny AX.25

(user 2m)

Kanał  komunikacyjny AX.25

(user 3cm)

Kanał  komunikacyjny AX.25

(user 70cm)

Kanał  komunikacyjny AX.25

(axip)

Kanał  komunikacyjny AX.25

(link0)

1. Pakiety X.25 umieszczone w

AX.25

Proces AX.25 o adresie 

SR2BBY-9 przeznaczony do 
obsługi pakietów X.25

(moduł kernela ax25.o)

2. Pakiety X.25 wypakowane z 

AX.25

Port X.25 (rose) o adresie 

2080192203  (moduł kernela 
rose.o
)

3. Dane wymieniane między 

procesem usługodawcy SR2BBY-2 i 
klientem  SQ1BVN-13

Proces nasłuchujący ax25d

Adresy AX.25 usług dostępnych na ROSE

SR2

BBY-2

Nod

e

SR2

BBY-5

PB

BS

SR2

BBY-6

CL

X

Start dla zdalnego 

hosta

node

Start dla zdalnego 

hosta

telnet 44.165.40.1 

23

Start dla zdalnego 

hosta

telnet 44.165.68.1 

9000

background image

SQ1BVN, Bydgoszcz 2002-2003

Jeśli adres docelowy pakietu ROSE zgadza się  z adresem portu lokalnego, to taki pakiet

będzie analizowany przez maszynę. W przeciwnym wypadku zostanie zignorowany. Przed 
analizą jest pozbawiany adresów ROSE nadawcy i odbiorcy.

Analiza pakietu to przede wszystkim rozpoznanie w jakim celu został wysłany 

taki pakiet (żądanie zestawienia nowego połączenia ROSE, synchronizacja, itd.) i podjęcie 
decyzji który proces będzie go obsługiwał. Obsługą przychodzących połączeń ROSE 
(podobnie jak AX.25 i NETROM) typowo zajmuje się proces ax25d, który zgodnie z adresem 
AX.25 żądanej usługi, uruchamia proces użytkowy, np. node. W węźle ROSE mogą być 
dostępne różne usługi rozróżniane przez system po znaku z SSID. Na przykład SR2BBY-2 
używane jest standardowo przez Node. Zgodnie z przedstawionym przykładem Node na 
omawianym węźle będzie dostępny pod adresem SR2BBY-2@2080192203. Analogicznie 
można łączyć się do PBBS’a  i do clx’a.

Sam adres ROSE nie pojawia się w ramce, jak to ma miejsce w przypadku ramek

TCP/IP. W protokole ROSE adres pełni funkcję etykiety dla trasy do zdalnego węzła. X25 
został zaczerpnięty z sieci telefonicznych,  stąd budowa adresu ROSE i jego podobieństwo do 
numeru telefonu. Inaczej – podczas otwierania połączenia system wyszukuje według listy 
węzłów (ang. Node) fizycznego adresu AX.25 i tam osiąga usługę dla użytkownika.

2.2.1 Inicjowanie interfejsu ROSE

W systemie Linux uruchamianie ROSE należy rozpocząć od załadowania 

modułu rose.o do kernela. Opcjonalnie  obsługę ROSE można wkompilować na stałe do 
kernela. W tej chwili nie jest to najlepsze rozwiązanie, ponieważ większość Linux’ów jest 
zmodularyzowana. W kernelach powyżej 2.4.0 istnieje mechanizm automatycznego 
ładowania modułów. Jeśli używamy podobnego kernela należy w pliku /etc/modules.conf 
wpisać alias dla tego protokołu. Większość dystrybucji, np. SuSE 7.2 w tym pliku ma taką 
linię zahaszowaną. Tak więc należy się upewnić, czy taka linia istnieje – a jeśli nie istnieje 
dopisać ją.

 alias net-pf-11 rose

Moduł rose.o wymaga do pracy uprzedniego załadowania modułu ax25.o jeśli takiego 

nie ma aktualnie załadowanego, trzeba to uczynić. Ładowanie modułu rose.o:

 modprobe –k rose

Przed uaktywnieniem portu ROSE należy podać jego parametry w pliku

 /etc/ax25/rsports

Obowiązujący format tego pliku:

<port> <rose_addr> <description>

<port>

-

Nazwa poru np. rose

<rose_addr>

-

Adres ROSE, który będzie używany na tym porcie

<descripion>

-

Krótki opis

16

6

background image

Arkana Radiowego Internetu – część 2

Dla wyjaśnienia przykład:

#   /etc/ax25/rsports
#
rose  2080192310 Rose port

Jako przykład został użyty oryginalny plik /etc/ax25/rsports z węzła 

linux.sr2bby.ampr.org. Do inicjacji portu ROSE jest stworzony specjalny skrypt narzędziowy 
o nazwie rsattach.

 rsattach –i 44.165.40.1 rose

Port ROSE o nazwie ‘rose’ powinien zostać zainicjowany. W rozważanym przypadku 

port ‘rose’ będzie związany z urządzeniem /dev/rose0. Po inicjacji obowiązkowo należy 
ustalić netmaskę i maksymalną długość pakietu jakie będą obowiązywały dla tego portu. 
Ustawienie tych parametrów jest ważne, ponieważ maszyna domyślnie maskę ustawia na 
wartość 255.0.0.0, a  maksymalną długość na 1024 bajty. Obie te wartości nie są używane  w 
AmprNet. Dodatkowo nowe kernel maskę 255.0.0.0 automatycznie interpretuje jako nowy 
wpis do tablicy routingu TCP/IP dla sieci 44.0.0.0 na port rose0 – jeśli istnieje inne ustawienie
dla tej sieci 44.0.0.0 spowoduje to niejednoznaczność. Router TCP będzie stosował  pierwszy 
napotkany wpis na liście...

 ifconfig rose0 netmask 255.255.255.255 mtu 256

 rsparms –call SR2BBY-9

Do otwierania połączeń ROSE konieczne jest stworzenie tablicy kierowania ruchem 

(ang. Routing) pakietów ROSE, która będzie zawierała informacje pod jaki adres AX.25 i na 
którym porcie będą wysyłane pakiety ROSE  do odległego hosta ROSE lub do grupy hostów. 
To tego celu przeznaczono opcję –node skryptu rsparms. Poniżej umieszczona została 
specyfikacja skryptu rsparms.

 rsparms –nodes list

Wyświetlenie obowiązującej w systemie tablicy tras ROSE.

 rsparms –nodes add <rose_addr> <port> <callsign> 

[<digi1> ... <digi8>]

Dodanie nowej trasy do tablicy obowiązujących tras. Znaczenie używanych 

parametrów:

<rose_addr>

-

Adres odległego węzła ROSE, do którego definiujemy 

trasę

<port>

-

Port AX.25 (z listy w axposrts) na którym będzie 

osiągany host ROSE o adresie  <rose_addr>

<callsign>

-

Znak  - identyfikator usługi do której będzie otwierane 

połączenie ROSE

<digi>

-

Opcjonalnie lista digipeaterów AX.25, które będą  na 

17

7

background image

SQ1BVN, Bydgoszcz 2002-2003

drodze do docelowego hosta ROSE.  Dopuszcza się 
maksymalnie osiem digipeaterów.

W ramce poniżej znajdują się przykłady ustawienia ROSE węzłów. Pierwsza linia 

pochodzi z maszyny użytkownika sq1bvn-bby.ampr.org,  druga pochodzi z węzła 
linux.sr2bby.ampr.org. Ostatnia linia jest przykładem  tworzenia nowego rekordu, gdzie 
łączność będzie przebiegała przez digipeater SR2BBY-0 (czyli po prostu SR2BBY – 
tradycyjnie SSID=0 nie podaje się w zapisie). Na linux.sr2bby.ampr.org w skrypcie 
radio.lnk.rc.

Sq1bvn-bby.ampr.org
rsparms –node add 2080192203 70cm SR2BBY-9

linux.sr2bby.ampr.org
rsparms –node add 2080192303 link0 SR2BBY-9
rsparms -node add 2080192305 2m    SQ2ICV-9
rsparms -node add 2080192304 70cm  SQ2IBH-9

inne hosty
rsparms –node add 2080192803 70cm SR1DCZ-2 SR2BBY

 rsparms –node del <rose_addr> <port> <callsign> [<digi1> ....

<digi8>]

Usunięcie z listy tras routingu ROSE trasy dla hosta <rose_addr> przez port <port>, 

który jest dostępny na odległym węźle o adresie <callsign>. Jeśli zostały zdefiniowane <digi> 
należy je podać.

18

8

background image

Arkana Radiowego Internetu – część 2

2.2.2 Otwieranie połączeń ROSE

Linux do otwierania połączeń wychodzących protokołem ROSE dysponuje 

skryptami call i rose_call. Oba te skrypty działają w zbliżony sposób i teoretycznie mogą być 
używane zamiennie. Call jest nieco wygodniejszy: posiada dzielony ekran, obsługę poczty 
7plus, możliwość zapisu sesji do pliku. Rose_call oferuje mniej, jednakże pozwala na 
używanie kolorów ANSI w sesjach oraz bez problemów pozwala cofnąć ekran klawiszami 
SHIFT+PgUp... Dla GUI. (X Window) powstał pakiet ghu, który jest graficznym 
odpowiednikiem ax-utils...

Otworzenie połączenia ROSE od hosta 2080192303 do sr2bby-2@2080192203 będzie

wyglądało w następujący sposób. 

Przy użyciu skryptu call:
Call rose sr2bby-2 2080192203

Przy użyciu skryptu rose_call:
Rose_call rose SQ1BVN SR2BBY-2 2080192203

19

9

background image

SQ1BVN, Bydgoszcz 2002-2003

2.2.3 Kontrola pracy interfejsu ROSE

Podglądając podane niżej pliki można zobaczyć aktualny stan ROSE w lokalnym 

systemie.

/proc/net/rose
/proc/net/rose_nodes
/proc/net/rose_neigh
/proc/net/rose_routes

2.3 Połączenia ROSE do AWZNode

Dodać do pliku /etc/ax25/node.perms linię:

*

ROSE

*

*

31

SR2BBY-2  node
SR2BBY-5  PBBS

2.4 Usługi dostępne protokołem ROSE na węźle

Znak

Usługa

SR2BBY-2

AWZNode

SR2BBY-5

PBBS

SR2BBY-6

DXCLUSTER

SR2BBY-7

CONVERS

SR2BBY-9

Znak używany do transportu pakietów protokołu ROSE 
(odpowiednik ARP'ów TCP/IP)

BYGATE-2

AWZNode

BYGATE-5

PBBS

BYGATE-6

DXCLUSTER

BYGAYE-7

CONVERS

20

0

background image

Arkana Radiowego Internetu – część 2

3 Dodanie nowego użytkownika

1. Dodanie nowego konta shell’owego na linux.sr2bby.ampr.org za pomocą skryptu YaST.

Jeśli, użytkownik ma być pozbawiony dostępu do konta shell’owego zadeklarować w 
/etc/passwd domyślną powłokę jako /bin/false.

2. Przydzielenie IP adresu z posiadanego zakresu adresów.

dla przykładu będzie to 44.165.40.42

1. Odnotowanie IP, MX 10, MX 20, MX30  w fikcyjnym pliku strefy oraz w pliku strefy 

odwrotnej ampr.oeg.

plik strefy /var/named/40/db.ampr.org

sq2icv

A

44.165.40.42

MX

10

sr2bby

MX

20

linux.sr2bby

MX

30

lampr.zse.bydgoszcz.pl.

plik strefy odwrotnej /var/named/40/db.44.165.40

42

IN

PTR

sq2icv.ampr.org.

1. Otworzenie firewall’a dla nowego użytkownika - /etc/rc.d/gate-start/firewall.rc.

Dodać linię:
Ipchains –A local –b –s 44.165.40.42/32 –d 44.0.0.0/8 –j ACCEPT

2. Rejestracja w DNS’ie (robot)  ampraddr@ucsd.edu IP  adresu oraz MX 10, MX 20, MX 

30.

Sprawdzenie istniejących rekordów
Sq2icv

info

Treść wiadomości do wysłania, która spowoduje dodanie do DNS nowego IP-adresu:
Sq2icv

add

a

44.165.40.42

Sq2icv

add

mx 10

sr2bby

Sq2icv

add

mx 20

linux.sr2bby

Sq2icv

add

mx 30

ampr.zse.bydgoszcz.pl.

Kilka minut po wysłaniu zgłoszenia, robot powinien odesłać list z informacją o wyniku 
procesu rejestracji.

3. Nadanie poziomu uprawnień użytkownika lokalnego węzła CONVERS.

Dopisać rekord do listy użytkowników /usr/local/etc/convers.perm:

Sq2icv

Adam

21

1

background image

SQ1BVN, Bydgoszcz 2002-2003

4. Nadanie uprawnień do pobierania poczty osobistej na linux.sr2bby.ampr.org:POP3.

z hosta linux.sr2bby.ampr.org

popauth –user sq2icv diodowski
popauth –list ALL
popauth –delete dioda

z hosta sr2bby.ampr.org
Dodanie nowego rekordu w pliku /tnos/etc/popusers
:sq2icv:AdamSQ2ICV:

ustawienie klienta sr2bby.ampr.org:POP3 do odbierania przychodzącej poczty na konto 
użytkownika

/tnos/etc/autoexec.bat

pop add 44.165.40.1 3384 pop3 sq2icv sq2icv diodowski

W razie konieczności ustawić klienta sr2bby.ampr.org:POP3 tak, aby odbierał cyklicznie 

pocztę z linux.sr2bby.ampr.org. Takie rozwiązanie stosować w stosunku do użytkowników, 
którzy:

nie używają konta shell’owego na linux.sr2bby.ampr.org;

nie pobierają samodzielnie poczty z linux.sr2bby.ampr.org:POP3;

czytają pocztę łącząc się protokołem AX.25, NET/ROM, ROSE do PBBS’a;

nie posiadają oprogramowania zapewniającego odpowiedniego poziomu bezpieczeństwa.

1. Dodanie aliasów pocztowych w linux.sr2bby.ampr.org:SMTP.

Skrypt:

/etc/aliases

dioda:

sq2icv

Uaktualnienie bazy aliasów pocztowych (od tego momentu zdefiniowane wcześniej 

aliasy będą obowiązywały w systemie)

newaliases

2. Ustawienie pułapki na pocztę przychodzącą na adres sq2icv@sq2icv.ampr.org .

Skrypt:

/tnos/etc/rewrite

*@sq2icv.ampr.org

$1@sr2bby.ampr.org

r

3. Dodać podwiązanie loginname z AX.25 call, który system użyje w przypadku otwierania

połączeń przez użytkownika z konta shell’owego. Gdy taka deklaracja nie zostanie 
zrobiona, system użyje znaku SR2BBY-10 do otworzenia sesji AX.25 dla użytkownika 
sq2icv.

Skrypt:

/etc/rc.d/gate-start/rc.ax25

22

2

background image

Arkana Radiowego Internetu – część 2

/usr/sbin/axparms –assoc sq2icv sq2icv

4. Dodać użytkownika do tablicy ARP

Skrypt:

/etc/rc.d/gate-start/radio.lnk.rc

# Użytkownik będzie łączył się na TCP/IP przez port 2m
/usr/sbin/arp –H ax25 –i scc1 –s 44.165.40.42 sq2icv-10

Identyfikatory SSID obowiązujące dla reszty portów węzła w tabeli.

Znak-SSID

Port

SQ2ICV-10

2m

SQ2ICV-11

70cm

SQ2ICV-12

Link0

SQ2ICV-13

3cm

5. Dodać możliwość przejścia przez server PROXY

6. Ustawić quote dla użytkownika.

Edquote sq2icv

7. Dopisać do odpowiedniej grupy użytkowników.

Skrypt:

/etc/groups

Dopisać nowego użytkownika do grupy users. Praktycznie jest to wystarczający poziom 
uprawnień w systemie.

23

3

background image

SQ1BVN, Bydgoszcz 2002-2003

4 Uruchomienie server'a proxy SOCKS5

4.1 Plik konfiguracji server'a SOCKS5 /etc/socks5 . conf

Auth <source_host> <source_port> <auth_metods>

Ustawienie listy wiążącej hosta lub więcej host6w z metodami autentyfikacji podczas sprawdzania 
wiarygodności przy inicjowaniu nowego połączenia przez klienta z socks5.

<proxy_type> <dest_host> <dest_port> <proxy_1ist>

Deklarowanie listy wiążącej hosta lub więcej host6w z server'em proxy lub kilkoma server'amni 
proxy, przez kt6re lokalny server (po udanej autentyfikacji) będzie zestawiał połączenie z odległym 
hostem.

Przykład:

socks5

-

-

linux.sr2bby.ampr.org:1080

24

4

background image

Arkana Radiowego Internetu – część 2

5 Usługa Convers

5.1 Linki służbowe do innych węzłów convers obsługiwane przez 

linux.sr2bby.ampr.org

Na 

linux.sr2bby.ampr.org

 zdefiniowano następujące linki służbowe:

Host

Port TCP

AmprNet IP

krosno-l.ampr.org

0

44.165.138.126

gdynia.ampr.org

0

44.165.43.1

gw.ab6qv.ampr.org

0

44.17.0.53

Serwer conversd, po uruchomieniu w pierwszej kolejności będzie próbował połączyć się

pierwszego węzła z listy (pierwszorzędny serwer). Gdy upłynie czas timeout, conversd 
kolejno będzie odpytywał kolejne węzły z listy (drugorzędne węzły).

25

5

background image

SQ1BVN, Bydgoszcz 2002-2003

5.2 Listapoleceń wezła conversd

Polecenie

*

Znaczenie polecenia

/?

Drukuje krótkie streszczenie dostępnych komend

/Away [text]

Oznacza użytkownika, jako nieobecny

/Action text

Wpisuje akcje na kanał

/ALL text

Wysyła text do wszystkich użytkowników

/Beep

Włącza lub wyłącza dźwięk (tzw. Beep-Mode)

/BELl

Włącza lub wyłącza dźwięk (tzw. Beep-Mode)

/Bye

Zakończenie sesji convers

/Channel n

Przełączenie się na kanał o numerze n

/CHARset [in[out]]

Zmiana strony kodowej emulowanej przez terminal
(domyślnie ANSI)

/CQ [text]

Wysłanie CQ do wszystkich użytkowników konwersu

/Cstat

Wyświetla listę linków i informację o docelowych węzłach

/Cut

Naśladuje losowanie kart do gry

/Destinations

Wyświetla listę dostępnych węzłów ping-pong

/Exit

Zakończenie sesji convers

/EXClude user text

Wysyłanie text do wszystkich na kanale z pominięciem 
użytkownika user

/Halt

Zatrzymanie serwera conversd – tylko sysop

/Help [subj]

Pomoc na temat subj

/Hosts

Wyświetla listę dostępnych węzłów ping-pong

/Invite user

Zaproszenie użytkownika user do wejścia na twój kanał

/IMsg user text

Wysyłanie text do wszystkich na kanale z pominięciem 
użytkownika user

/IWrite user text

Wysyłanie text do wszystkich na kanale z pominięciem 
użytkownika user

/Join

Przełączenie się na kanał o numerze n

/LAst user

Lista ostatnio logowanych użytkowników

/LEave [channel]

Opuszczenie podanego kanału lub kanału domyślnego

/Links [args]

Wyświetla lub modyfikuje listę linków (zobacz “help links”

/LISt

Wyświetla listę wszystkich kanałów i tematów

/ME text

Wpisuje akcje na kanał

/MOde #channel options

Ustawienie opcji kanału

/Msg user|#channel text

Wysłanie wiadomości do użytkownika user lub do obecnych na 
kanale channel

* UWAGA: Komendy pisane z “*” (znak gwiazdka) są dostępne dla SYSOP'a.

26

6

background image

Arkana Radiowego Internetu – część 2

Polecenie

Znaczenie polecenia

/News

Wyświetla bierzące PingPong 'news'

/NIckname name

Ustawienie tzw. Nick'a, który będzie przy twoim znaku

/Nonickname

Skasowanie ustawionego nick'a

/NOTify [calls]

System będzie wysyłał notkę jeśli jeden z wymienionych znaków
wejdzie na convers

/NOTE [text]

Ustawienie prywatnego opisu

/Operator [number]

Uzyskiwanie praw operatora

/Page user

Zaproszenie użytkownika user do wejścia na twój kanał

/PErsonal [text]

Ustawienie prywatnego opisu

/PRompt abcd

Prompts a=query b=std c=ctrl-g d=ctrl-h

/QUEry [user]

Rozpoczęcie lub zakończenie prywatnej rozmowy

/Quit

Zakończenie sesji convers

/QUOte

Wysłanie  Quote-of-the-day na bierzącym kanale

/Realname [user]

Wyświetla listę nick'ów oraz nazwisk użytkownika user lub 
wszystkich użytkowników na kanale

/REStart

Przeładowanie daemona conversd – tylko dostępne dla sysop'a

/Roll

Losowanie kostką

/Send user text

Wysłanie wiadomości text do użytkownika user

/Smiley

Wyświetla przypadkowy “uśmiech” i jego znaczenie

/STats [[mode] [num]]

Wyświetla statystyki na lokalnym serwerze

/SYsinfo [host]
/SYSOp [number]
/Time

Wysłanie do wszystkich węzłów aktualnego czasu

/TOpic [#chan] [text]

Ustawienie tematu na kanale. Text=@ kasuje temat

/Uptime

Wyświetla jak długo pracuje lokalny serwer conversd

/Users [*|A|L|Q]
/Verbose

Ustawia flagę verbose

/VERSion

Wyświetla wersję daemona conversd

/Who [*|A|L|Q|U users]
/WHOIs [user]

Wyświetla pełną informację o użytkowniku user

/WIdth [value]

Ustawia lub wyświetla długość terminala

/WRite user text

Wysłanie wiadomości text do użytkownika user

27

7

background image

SQ1BVN, Bydgoszcz 2002-2003

6 Uruchamianie usług na AX.25

Węzły convers i dxcluster nie powinny być otwierane w przez ax25d za pomocą telnetu.

Do tego celu została stworzona specjalna aplikacja o nazwie axconv.

/usr/sbin/axconv -c 165 -n %u 44.165.40.1 3600
Uruchamianie convers'u z ax25d.

/usr/sbin/axconv 44.165.41.254 9000
Uruchomienie dxclustra po AX.25, NET/ROM czy ROSE.

7 Instalowanie AX.25 digipeater'a (axdigi)

Należy do katalogu /usr/sbin przenieść plik axdigi (chown root.root axdigi). Dopisać do pliku 

/etc/rc.d/gate-start/ax25.rc 

następującą linię. Znak & spowoduje, że axdigi będzie działał w tle.

/usr/sbin/axdigi &

Należy zwrócić uwagę na kolejność uruchomienia procesów. Adigi powinien być

uruchomiony po inicjacji wszystkich portów komunikacyjnych AX.25. W przeciwnym 
wypadku digipeater nie będzie działał na wszystkich portach. Taki stan rzeczy związany jest z 
automatyczną detekcją portów AX.25.... jest ona przeprowadzana przez axdigi jednorazowo w
momencie uruchamiania daemona.

Poprawić /tnos/etc/forward.bbs

CONNECT = c 

axip SR2BOX-8 

via SR2BBY-2 SR2DBY

TNOS będzie łączyć się bezpośrednio protokołem AX.25 do SR2BOX-8 za pośrednictwem 

dw6ch digipeater'6w. To spowoduje, że nie będzie wiszących połączeń między TNOS a AWZNode po 
zakończeniu forwardu (nie ma konieczności zamykania sesji telnet z linux.sr2bby.ampr.org:3612). To 
rozwiązanie jest o wiele korzystniejsze od poprzedniego wariantu.

7.1 Łączenie się przez axdigi:

call 70cm

SR2BBY-8

via

SR2BBY-2

call 70cm

SR2DBY

via

SR2BBY-2

call 70cm

SR2BOX-8

via

SR2BBY-2 SR2DBY

call 70cm

SR9ZAA

via

SR2BBY-2 SR2DBY

call 70cm

SR4DSU

via

SR2BBY-2 SR2DBY

28

8

background image

Arkana Radiowego Internetu – część 2

8 Węzły CLX

Alias w PBBS

Host:port TCPLogin/host

DXC1

44.165.41.254:9000

 Sqlbvn/SzUcA

DXC2

brak

DXC3

44.165.41.254:9000

29

9

background image

SQ1BVN, Bydgoszcz 2002-2003

9 Inne

www.suse.com [213.95.15.200]
ab6qv.qnet.com

[209.221.203.114] - server convers Antelope

www.idea.pl

[194.9.223.127]

www.suse.de [213.95.15.200]

30

0


Document Outline