Technology
 

VoyageLinux

From coLinux

Install Debian Voyage Linux.

Voyage linux,http://www.voyage.hk/software/voyage.html, is a small firewall linux distro. Voyage is built on a readonly file system. Voyage never writes to the file system unless you remountrw. voyage and colinux can be installed and run from a usb thumb drive.

Contents

[edit] Colinux Install

[edit] Download coLinux 0.6.3+

Down load colinux 0.6.3 from http://www.colinux.org/.

[edit] Install

Start coLinux-0.6.3.exe

#GUI Installer
Next.
I Agree.
Next
c:\colinux
Next.
Pick Debian, Install 
popup “Continue Anyway”
Finish

[edit] Unbzip Debian-3.0r2.ext3-mit-backports.1gb

I used winrar. coLinuxRunning talks about using bzip2. <Please fill this section in with step by step nstructions> http://gnuwin32.sourceforge.net/packages/bzip2.htm.

bunzip2 Debian-3.0r0.ext3.1gb.bz2

[edit] Test Boot

Test boot from the command line,CommandLineReference:

colinux-daemon kernel=vmlinux cobd0=Debian-3.0r2.ext3-mit-backports.1gb cofs0=c:\ root=/dev/cobd0 eth0=slirp

[edit] Debian Boot

[edit] Download Blank Filesystem

Voyage will run off of 64MB file system. You can install your own application if the 128MB file is used.
Download the fs files from http://gniarf.nerim.net/colinux/fs/.

bunzip2 fs_128Mb.bz2

[edit] Boot

create startDebianCoLinux.cmd and add cobd1=blank to the commad line.

::startDebianCoLinux.cmd
colinux-daemon -t nt kernel=vmlinux cobd0=Debian-3.0r2.ext3-mit-backports.1gb cobd1=fs_128Mb cofs0=c:\ root=/dev/cobd0 eth0=slirp 
::  -t nt will allow cut and paste

[edit] Login

Login: root
Password: root

[edit] Edit Network

use nano to edit /etc/network/interfaces for dhcp.

# change to 

auto eth0
iface eth0 inet dhcp
#iface eth0 inet static
#  address 192.168.0.40
#  netmask 255.255.255.0
#  gateway 192.168.0.1


[edit] Bounce eth0

ifdown eth0
ifup eth0
ifconfig
colinux:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:FF:B3:1E:08:00
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1971 (1.9 KiB)  TX bytes:1728 (1.6 KiB)
          Interrupt:2

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)


[edit] Make Filesystem

Put a ext3 file system on the disk that voyage will be loaded.

colinux:~# mkfs -t ext3 /dev/cobd1
mke2fs 1.27 (8-Mar-2002)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
32768 inodes, 131072 blocks
6553 blocks (5.00%) reserved for the super user
First data block=1
16 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

[edit] Tune Filesystem

Voyage is normally loaded on compact flash. Tune the filesystem not to run fsck.

colinux:~#  tune2fs -c 0 /dev/cobd1
tune2fs 1.27 (8-Mar-2002)
Setting maximal mount count to -1

[edit] Install Wget

 
apt-get install wget


[edit] Get Voyage

Download and untar in a temp space

 
mkdir tmp
cd tmp
wget http://au.voyage.hk/download/voyage/voyage-0.2.tar.gz

[edit] mount

mount the new file system on /mnt

 
mkdir /mnt/voyage-0.2
mount -t ext3 /dev/cobd1 /mnt/voyage-0.2
colinux:~/tmp# mount -t ext3 /dev/cobd1 /mnt/voyage-0.2
EXT3 FS on cobd1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
colinux:~/tmp# kjournald starting.  Commit interval 5 seconds

[edit] Untar

 
cd /mnt
tar -xvzf /root/tmp/voyage-0.2.tar.gz


[edit] remount

 
cd /
umount /mnt/voyage-0.2
mount -t ext3 /dev/cobd1 /mnt/

[edit] add /mnt/etc/hosts

 
echo 127.0.0.1       localhost.localdomain   localhost       voyage > /mnt/etc/hosts


[edit] Fix Secure Login

 
echo /rw/dev/tty1 >> /mnt/etc/securetty
echo /rw/dev/tty2 >> /mnt/etc/securetty
echo /rw/dev/tty3 >> /mnt/etc/securetty
echo /rw/dev/tty4 >> /mnt/etc/securetty
echo /rw/dev/tty5 >> /mnt/etc/securetty
echo /rw/dev/tty6 >> /mnt/etc/securetty


[edit] remove unused stuff

Note: skip this step if you plan to burn this image on real hardware latter.

 
rm -rf    /mnt/lib/modules/2.6.15-486-voyage
rm -rf   /mnt/lib/modules/*-co-*
rm -rf   /mnt/boot/*


[edit] edit fstab for root device

 
nano /mnt/etc/fstab
/dev/cobd0       /      ext3    defaults,noatime,rw     0       0
#/dev/hda1       /       ext2    defaults,noatime,rw     0       0
proc            /proc   proc    defaults                0       0
tmpfs           /rw     tmpfs   defaults,size=8M        0       0


[edit] remove old ssh keys

 
rm /mnt/etc/ssh/ssh_host_rsa_key
rm /mnt/etc/ssh/ssh_host_dsa_key

[edit] Mknode Cobd

Create the coLinux block devnodes: I'm sure the coLinux devices have some addvantage over the /dev/hdX type of device. <please fill in why this is needed. The more standard the system the simpler it will be to maintain>

mknod /mnt/dev/cobd b 117 0; for i in 0 1 2 3 4 5 6 7 ; do mknod /mnt/dev/cobd$i b 117 $i; done


[edit] umount

 
umount /mnt
rm -rf /mnt/voyage-0.2


[edit] Shutdown your system and boot the new fs

Rename the image file to voyage.ext3.

[edit] Boot Voyage

[edit] colinux 0.6.3 and 0.7.1-hn13

Put this command line in a file called startVoyageCoLinux.cmd. This will make it easy to start.

::startVoyageCoLinux.cmd
colinux-daemon -t nt kernel=vmlinux cobd0=voyage.ext3  initrd=initrd.gz cofs0=c:\ root=/dev/cobd0 eth0=slirp eth1=tuntap 
:: -t nt allows for copy and paste


[edit] colinux 0.6.3

If the root fails to mount on startup. remove initrd=initrd.gz.

::startVoyageCoLinux.cmd
colinux-daemon -t nt kernel=vmlinux cobd0=voyage.ext3  cofs0=c:\ root=/dev/cobd0 eth0=slirp eth1=tuntap 
:: -t nt allows for copy and paste


[edit] Voyage Login

Login : root
Password : voyage

Note: For Colinux the password did not show up until the 6 th login?
See "Fix Secure Login"


[edit] Read Only????

Voyage is a Flash base Linux Distro the file system is always read only. Before changes are made, the file system must be remounted read / write.

remountrw


What next.... fix tap an slrp fix the routing build the firewall.

[edit] Interfaces

edit /etc/network/interfaces
slirp is setup on eth0,10.0.2.15. Edit eth1 for dhcp service. Use a subnet plan for openvpn.

#/etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp


auto eth1
iface eth1 inet static
       address 10.1.20.1
       netmask 255.255.255.0
       broadcast 10.1.20.255
        up nat.sh eth1 eth0 "10.200.1.15/24"

shutdown and reboot

[edit] poor mans vpn

Add gateway option, -g, to allow 10.1.20.1 to act as a samba server. \\10.1.20.1\share can be accessed on the remote machine...... clean up.

login and use ssh.. .... clean up 
ssh  host.domain.tld -L 139.127.0.0.1:139 -g


[edit] Status

At this point voyage linux is installed and working on your system You can ssh to 10.1.20.1 and login as root. Using the poor mans vpn you can port foward services to 10.1.20.1. Voyage linux is almost ready for a thumb drive

I have started a page OpenVPN to install OpenVpn 2.0 on colinux Voyage Base.



[edit] Stop here

This is just some of my notes.


Thumb drive install ( untested working notes.) < This will not work out of the box. If you have time, edit this with the correct instructions>

copy colinux directoy to your thumb drive.

:: batch file install of colinux 
colinux-daemon –install-driver

.\netdriver\tapcontrol.exe install OemWin2k.inf TAP0801co

colinux is working from the thumb drive

:: start voyage.cmd
colinux-daemon  -t nt kernel=vmlinux  cobd0=voyage.ext3  initrd=initrd.gz cofs0=c:\ root=/dev/cobd0 eth0=slirp eth1=tuntap

Thumb drive install need work.

This may be the start of a knoppix live build. Time will tell.




NicholasASchembri
State College PA,USA



MassTranslated on Sun Apr 23 17:37:01 UTC 2006