Accesso via modem ad un server Linux
Jump to navigation
Jump to search
Configurazione Server
- Collegare il modem alla seriale
COM1=ttyS0 COM2=ttyS1
- Installare mgetty
sudo apt-get install mgetty
- Abilitare l'execuzione di mgetty da inittab:
sudoedit /etc/inittab ... T0:2345:respawn:/sbin/mgetty ttyS0
- Impostare la configurazione del Modem. È importante usare un baudrate di 38400, non superiore, altrimenti al login si ricevono dei garbage:
sudoedit /etc/mgetty/mgetty.config
... port ttyS0 debug 9 data-only y init-chat "" AT&F OK AT&C1 OK AT&D3 OK ATV1 OK ATS0=0 OK ATE1 OK ATL3 OK ATM1 speed 38400 modem-type data autobauding no ...
- Far rileggere la configurazione di inittab:
sudo init q
- Killare mgetty, che verrà riavviato da inittab:
sudo kill $(pidof mgetty)
- Il log dirà:
sudo tail -f /var/log/mgetty/mg_ttyS0.log
-- 08/14 13:21:34 yS0 mgetty: interim release 1.1.36-Jun15 08/14 13:21:34 yS0 check for lockfiles 08/14 13:21:34 yS0 checklock: stat failed, no file 08/14 13:21:34 yS0 locking the line 08/14 13:21:34 yS0 makelock(ttyS0) called 08/14 13:21:34 yS0 do_makelock: lock='/var/lock/LCK..ttyS0' 08/14 13:21:34 yS0 lock made 08/14 13:21:34 yS0 tio_get_rs232_lines: status: RTS CTS DSR DTR 08/14 13:21:34 yS0 lowering DTR to reset Modem 08/14 13:21:35 yS0 tss: set speed to 38400 (017) 08/14 13:21:35 yS0 tio_set_flow_control( HARD ) 08/14 13:21:35 yS0 waiting for line to clear (VTIME=1), read: 08/14 13:21:35 yS0 send: AT&F[0d] 08/14 13:21:35 yS0 waiting for ``OK'' 08/14 13:21:35 yS0 got: AT&F[0d] 08/14 13:21:35 yS0 CND: AT&F[0d][0a]OK ** found ** 08/14 13:21:35 yS0 send: AT&C1[0d] 08/14 13:21:35 yS0 waiting for ``OK'' 08/14 13:21:35 yS0 got: [0d] 08/14 13:21:35 yS0 CND: OK[0a]AT&C1[0d] 08/14 13:21:35 yS0 CND: AT&C1[0d][0a]OK ** found ** 08/14 13:21:35 yS0 send: AT&D3[0d] 08/14 13:21:35 yS0 waiting for ``OK'' 08/14 13:21:35 yS0 got: [0d] 08/14 13:21:35 yS0 CND: OK[0a]AT&D3[0d] 08/14 13:21:35 yS0 CND: AT&D3[0d][0a]OK ** found ** 08/14 13:21:35 yS0 send: ATV1[0d] 08/14 13:21:35 yS0 waiting for ``OK'' 08/14 13:21:35 yS0 got: [0d] 08/14 13:21:35 yS0 CND: OK[0a]ATV1[0d] 08/14 13:21:35 yS0 CND: ATV1[0d][0a]OK ** found ** 08/14 13:21:36 yS0 send: ATS0=0[0d] 08/14 13:21:36 yS0 waiting for ``OK'' 08/14 13:21:36 yS0 got: [0d] 08/14 13:21:36 yS0 CND: ATS0=0[0d][0a]OK ** found ** 08/14 13:21:36 yS0 send: ATE1[0d] 08/14 13:21:36 yS0 waiting for ``OK'' 08/14 13:21:36 yS0 got: [0d] 08/14 13:21:36 yS0 CND: OK[0a]ATE1[0d] 08/14 13:21:36 yS0 CND: ATE1[0d][0a]OK ** found ** 08/14 13:21:36 yS0 send: ATL3[0d] 08/14 13:21:36 yS0 waiting for ``OK'' 08/14 13:21:36 yS0 got: [0d] 08/14 13:21:36 yS0 CND: OK[0a]ATL3[0d] 08/14 13:21:36 yS0 CND: ATL3[0d][0a]OK ** found ** 08/14 13:21:36 yS0 send: ATM1[0d] 08/14 13:21:36 yS0 waiting for ``OK'' 08/14 13:21:36 yS0 got: [0d] 08/14 13:21:36 yS0 CND: OK[0a]ATM1[0d] 08/14 13:21:36 yS0 CND: ATM1[0d][0a]OK ** found ** 08/14 13:21:36 yS0 send: ATX0[0d] 08/14 13:21:36 yS0 waiting for ``OK'' 08/14 13:21:36 yS0 got: [0d] 08/14 13:21:36 yS0 CND: OK[0a]ATX0[0d] 08/14 13:21:36 yS0 CND: ATX0[0d][0a]OK ** found ** 08/14 13:21:36 yS0 waiting for line to clear (VTIME=3), read: [0d][0a] 08/14 13:21:37 yS0 removing lock file 08/14 13:21:37 yS0 waiting...
- Controllare che ci si possa loggare dalla seriale utilizzata:
sudoedit /etc/securetty
... ttyS0 ...
- Controllare che mgetty lanci il programma di login corretto:
sudoedit /etc/mgetty/login.config
... * - - /bin/login @ ...
- Se tutto è corretto, abbassare sul server il debug di mgetty
sudoedit /etc/mgetty/mgetty.config; sudo init q; sudo kill $(pidof mgetty)
port ttyS0 debug 2 ...
Configurazione Client
- Si utilizza minicom per connettersi:
sudo apt-get install minicom
- Impostare le permission della seriale usata:
sudo chmod 0664 /dev/ttyS0 sudo chown :dialout /dev/ttyS0
- Assegnare il gruppo dialout al proprio utente:
sudo gpasswd -a mnt.vvngrl dialout
- Sloggarsi e riloggarsi per attivare l'appartenenza al gruppo.
- Impostare la configurazione di minicom:
cat > $HOME/.minirc.dfl <<EOFile # Machine-generated file - use setup menu in minicom to change parameters. pu port /dev/ttyS0 pu baudrate 38400 pu bits 8 pu parity N pu stopbits 1 pu minit ~^M~AT S7=120 S0=0 L1 V1 X4 &c1 E1 Q0^M pu mdialpre ATDT0, pu mdialtime 120 pu mautobaud Yes pu escape-key ^P EOFile
Questo file imposta le velocità corrette della seriale, inizilizza il modem, ed IMPOSTA ANCHE LA HOTKEY PER I MENU DI MINICOM A CTRL-P IN MODO CHE SI POSSA USARE MINICOM DA SCREEN. Se si lancia minicom da una schermata screen, E NON SI CAMBIA LA HOTKEY IN ctrl-p, per fare ctrl-a-o fare ctrl-a-a-o.
- Chiamare il numero:
atdt0,0123456789
- Si ottiene la schermata di login:
Debian GNU/Linux ttyS0 38400 ()
firess login:
- Se si vuole si può settare una connesione con Minicom e chiamare il numero a cui è collegato il modem.
- Se la seconda volta non si riesce a collegarsi, o si blocca appena fatto login, può essere il cavo o il &D3 che non viene mantenuto (Vedi man mgetty)
- Se tutto è corretto, abbassare sul server il debug di mgetty
sudoedit /etc/mgetty/mgetty.config; sudo init q; sudo kill $(pidof mgetty)
port ttyS0 debug 2 ...