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.
- – 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
- the -serial pty is needed for the SLIP network
- -no-acpi is needed so that the system does not shut down due to low battery
- -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 …
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>