Quantcast
Channel: Astr0baby's not so random thoughts _____ rand() % 100;
Viewing all articles
Browse latest Browse all 183

DELL UNIX SLIP networking with QEMU/Linux

$
0
0

Shorter entry for now, but quite an entertaining one I hope. Wonder how many people nowadays know what SLIP was/is (Serial Line Internet Protocol) ? I grew up on PPP which replaced SLIP eventually. More on SLIP is available on the Wikipedia entry https://en.wikipedia.org/wiki/Serial_Line_Internet_Protocol

This entry is about a little known DELL UNIX project which was almost forgotten, but thanks to Antoni Sawicki is was brought back in 2012 https://virtuallyfun.com/wordpress/2012/03/20/dell-unix-lives-again/   and http://gunkies.org/wiki/Dell_UNIX

Since the above article deals with rather incomplete networking involving two virtualized guest (Windows NT and DELL Unix) I have decided to review this and document on how to create a working SLIP networking with the Linux host + QEMU DELL Unix guest + Internet.

  1. – Get qemu (compile or install in your distribution)

Create a working directory for DELL Unix

mkdir DELL.UNIX 
cd DELL.UNIX
wget https://archive.org/download/dellunix/dellunix-bochs.tar.xz
unxz dellunix-bochs.tar.xz
tar -xvf dellunix-bochs.tar
ls -la
total 1280388
drwxr-xr-x 2 root root       4096 Nov  1 19:15 .
drwxr-xr-x 4 user user       4096 Nov  1 18:50 ..
-rw-rw-r-- 1  500  500  523837440 Mar 19  2012 allsoft.img
-rw-rw-r-- 1  500  500       1311 Mar 19  2012 bochsrc.txt
-rw-r--r-- 1 root root 1047736320 Sep  7  2018 dellunix-bochs.tar
-rw-rw-r-- 1  500  500      21527 Mar 19  2012 dellunix.png
-rw-rw-r-- 1  500  500      21227 Mar 19  2012 dellunix-x11.png
-rw-rw-r-- 1  500  500  523837440 Mar 19  2012 firstboot.img
-rw-rw-r-- 1  500  500       2208 Mar 19  2012 install.txt


At this point we will only need the ready-made bootable DELL UNIX allsoft.img raw disk image for qemu simulation so we can delete all the other files, unless you want to setup everything yourself.

Next we prepare the qemu loader for DELL UNIX

qemu-system-i386 -boot c -m 128 -serial pty -drive format=raw,file=allsoft.img -no-acpi -chardev msmouse,id=msmouse -device isa-serial,chardev=msmouse
  1.  the -serial pty is needed for the SLIP network
  2. -no-acpi is needed so that the system does not shut down due to low battery
  3. -chardev msmouse,id=msmouse -device isa-serial,chardev=msmouse is needed for the X11 mouse to work (currently it does not work when both -serial pty is enabled)

Once we start the qemu simulator watch for the PTY number that qemu will show on the console (usually #5)

char device redirected to /dev/pts/5 (label serial0)

And keep this pts in mind once we setup a SLIP interface on the Linux host, we execute the following command as root

# slattach -s 19200 -d -p slip /dev/pts/5

Following should be visible on the terminal

slattach: tty_open: looking for lock
slattach: tty_open: trying to open /dev/pts/5
slattach: tty_open: /dev/pts/5 (fd=3)
slattach: tty_set_speed: 19200
slattach: tty_set_databits: 8
slattach: tty_set_stopbits: 1
slattach: tty_set_parity: N
slip started on /dev/pts/5 interface sl0

Open another xterm and configure the sl0 device on Linux under root

ifconfig sl0 192.168.7.1 dstaddr 192.168.7.2 netmask 255.255.255.0 mtu 576 up

Next Im using my regular networking script for qemu/simh/alphavm which can be used in this case as well

tunctl -t tap0 -u user
ifconfig tap0 up
brctl addbr br0
brctl setfd br0 0
ifconfig br0 10.0.2.2 netmask 255.255.255.0 broadcast 10.0.2.255 up
brctl addif br0 tap0 
ifconfig tap0 0.0.0.0
sysctl net.ipv4.ip_forward=1
iptables --table nat -A POSTROUTING --out-interface wlan0 -j MASQUERADE

# With additional SLIP entries 
iptables -A FORWARD -i sl0 -o bridge0 -j ACCEPT
iptables -A FORWARD -i bridge0 -o sl0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

Save the above, make it executable and run under root privileges on Linux

Next on DELL UNIX (there is no password for root user, so on login screen just enter root and it will login)

Run the following commands inside DELL UNIX guest

slipattach /dev/tty00s 192.168.7.2 192.168.7.1 19200 
route add default 192.168.7.1 0 
echo "nameserver 8.8.8.8" > /etc/resolv.conf

Verify the network interface sl0 is up in DELL UNIX

ifconfig sl0

We are online now and should be able to connect to the internet ! (Also back to the DELL UNIX guest from Linux via 192.168.7.2)

Here is the default daemon list visible remotely on the DELL UNIX

# nmap -sS -sV 192.168.7.2
Starting Nmap 7.80 ( https://nmap.org ) at 2019-11-01 19:52 CET
Nmap scan report for 192.168.7.2
Host is up (0.31s latency).
Not shown: 987 closed ports
PORT STATE SERVICE VERSION
7/tcp open echo
9/tcp open discard?
13/tcp open daytime Sun Solaris daytime
19/tcp open chargen
21/tcp open ftp UNIX System V Release 4.0 ftpd
23/tcp open telnet
25/tcp open smtp Sendmail 4.1/SMI-4.1
37/tcp open time (32 bits)
119/tcp open nntp
512/tcp open exec
513/tcp open login
514/tcp open tcpwrapped
1027/tcp open status 1 (RPC #100024)
2 services unrecognized despite returning data. If you know the service/version, please submit the following fingerprints at https://nmap.org/cgi-bin/submit.cgi?new-service :
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port23-TCP:V=7.80%I=7%D=11/1%Time=5DBC7F1D%P=x86_64-unknown-linux-gnu%r
SF:(NULL,3,"\xff\xfd\x18")%r(GenericLines,3,"\xff\xfd\x18")%r(tn3270,54,"\
SF:xff\xfd\x18\xff\xfe\x19\xff\xfc\x19\xff\xfd\0\xff\xfb\0\xff\xfa\x18\x01
SF:\xff\xf0\xff\xfb\x01\xff\xfb\x03\xff\xfd\x01\r\n\r\nUNIX\(r\)\x20System
SF:\x20V\x20Release\x204\.0\x20\(unix\)\r\n\r\0\r\n\r\0login:\x20")%r(GetR
SF:equest,3,"\xff\xfd\x18")%r(RPCCheck,3,"\xff\xfd\x18")%r(Help,3,"\xff\xf
SF:d\x18")%r(SIPOptions,3,"\xff\xfd\x18")%r(NCP,3,"\xff\xfd\x18");
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port119-TCP:V=7.80%I=7%D=11/1%Time=5DBC7F1D%P=x86_64-unknown-linux-gnu%
SF:r(NULL,68,"200\x20unix\x20NNTP\x20server\x20version\x201\.5\.11\x20\(10
SF:\x20February\x201991\)\x20ready\x20at\x20Fri\x20Nov\x20\x201\x2018:53:1
SF:1\x202019\x20\(posting\x20ok\)\.\r\n")%r(GenericLines,68,"200\x20unix\x
SF:20NNTP\x20server\x20version\x201\.5\.11\x20\(10\x20February\x201991\)\x
SF:20ready\x20at\x20Fri\x20Nov\x20\x201\x2018:53:11\x202019\x20\(posting\x
SF:20ok\)\.\r\n")%r(Help,1FB,"200\x20unix\x20NNTP\x20server\x20version\x20
SF:1\.5\.11\x20\(10\x20February\x201991\)\x20ready\x20at\x20Fri\x20Nov\x20
SF:\x201\x2018:53:23\x202019\x20\(posting\x20ok\)\.\r\n100\x20This\x20serv
SF:er\x20accepts\x20the\x20following\x20commands:\r\nARTICLE\x20\x20\x20\x
SF:20\x20BODY\x20\x20\x20\x20\x20\x20\x20\x20\x20GROUP\r\nHEAD\x20\x20\x20
SF:\x20\x20\x20\x20\x20LAST\x20\x20\x20\x20\x20\x20\x20\x20\x20LIST\r\nNEX
SF:T\x20\x20\x20\x20\x20\x20\x20\x20POST\x20\x20\x20\x20\x20\x20\x20\x20\x
SF:20QUIT\r\nSTAT\x20\x20\x20\x20\x20\x20\x20\x20NEWGROUPS\x20\x20\x20\x20
SF:HELP\r\nIHAVE\x20\x20\x20\x20\x20\x20\x20NEWNEWS\x20\x20\x20\x20\x20\x2
SF:0SLAVE\r\n\r\nAdditionally,\x20the\x20following\x20extention\x20is\x20s
SF:upported:\r\n\r\nXHDR\x20\x20\x20\x20\x20\x20\x20\x20Retrieve\x20a\x20s
SF:ingle\x20header\x20line\x20from\x20a\x20range\x20of\x20articles\.\r\n\r
SF:\nBugs\x20to\x20Stan\x20Barber\x20\(Internet:\x20nntp@tmc\.edu;\x20UUCP
SF::\x20\.\.\.!bcm!nntp\)\r\n\.\r\n");
Service Info: Host: unix; OSs: Solaris, Unix; CPE: cpe:/o:sun:sunos

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 182.76 seconds

So we have Telnet for remote terminal sessions and FTP for file transfers. Also DELL UNIX ships with C compiler so we can also build some code on it ! Even FTP to the internet ;) mind that SLIP connection is very slow, but works …

Here is a telnet session

user@linux ~ $ telnet 192.168.7.2
Trying 192.168.7.2...
Connected to 192.168.7.2.
Escape character is '^]'.


UNIX(r) System V Release 4.0 (unix)

login: root
Password:
DELL UNIX System V Release 4.0 Version 4.0
unix
Copyright (c) 1990, 1991, 1992 Dell Computer Corporation
Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T
Copyright (c) 1990, 1991 UNIX System Laboratories, Inc.
Copyright (c) 1987, 1988 Microsoft Corp.
All Rights Reserved
Last login: Fri Nov 1 18:48:04 on console


This message comes from /etc/motd

The Message Of The Day file should contain information from
the system administrator that system users need to know.

You should change this file to reflect local events or information.


you have mail
/ #

And FTP session

user@linux ~ $ ftp 192.168.7.2
Connected to 192.168.7.2.
220 unix FTP server (UNIX(r) System V Release 4.0) ready.
Name (192.168.7.2:user): root
331 Password required for root.
Password:
230 User root logged in.
ftp> ls
200 PORT command successful.
150 ASCII data connection for /bin/ls (192.168.7.1,48959) (0 bytes).
total 226
lrwxrwxrwx 1 root other 8 Jun 16 1992 bin -> /usr/bin
-r--r--r-- 1 bin sys 47845 Apr 9 1991 command.com
-rw-r--r-- 1 bin sys 68 Jun 15 1992 config.sys
-r--r--r-- 1 bin sys 17069 Dec 31 1989 country.sys
dr-xr-xr-x 30 root root 10240 Nov 1 18:31 dev
drwxrwxr-x 37 root sys 4096 Nov 1 18:40 etc
drwxrwxrwx 2 root root 512 Jun 15 1992 export
drwxr-xr-x 3 root root 512 Jun 15 1992 home
drwxr-xr-x 2 root root 512 Jun 16 1992 home2
lrwxrwxrwx 1 root other 8 Jun 16 1992 lib -> /usr/lib
drwxrwxrwx 2 root root 4096 Jun 15 1992 lost+found
drwxrwxr-x 2 root sys 512 Jun 15 1992 mnt
dr-xr-xr-x 2 root root 16416 Nov 1 19:00 proc
drwxr-xr-x 2 bin bin 2048 Jun 16 1992 sbin
drwxr-xr-x 2 bin bin 512 Jun 16 1992 shlib
drwxrwxr-x 2 root sys 128 Jun 16 1992 stand
lrwxrwxrwx 1 root other 8 Jun 16 1992 tmp -> /var/tmp
lrwxrwxrwx 1 root other 11 Jun 16 1992 unix -> /stand/unix
drwxr-xr-x 31 bin bin 1024 Dec 31 1989 usr
drwxrwxr-x 19 root sys 512 Nov 1 18:40 var
226 ASCII Transfer complete.
ftp>

Viewing all articles
Browse latest Browse all 183

Trending Articles