Arkana Radiowego Internetu
Część 2
Linux
wersja 1.0
Mariusz Lisowski, SQ1BVN
Bydgoszcz, 2003
SQ1BVN, Bydgoszcz 2002-2003
2
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
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
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
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
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
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
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
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
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
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
ftp://ftp.icm.edu.pl/vol/rzm1/linux-suse/sprac/update/7.0/n1/bind8.rpm/
11
1
SQ1BVN, Bydgoszcz 2002-2003
12
2
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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