MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap
Revision 5 as of 2014-01-09 22:27:08
  • Slackware

Slackware

The original Linux distribution, geared towards power and stability.

http://www.slackware.com

Vagrant on Slackware 14 32 bit

Ruby version: ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux]

VirtualBox version, Oracle VM VirtualBox Manager 4.2.8

Install Vagrant from source

Based on https://github.com/mitchellh/vagrant/wiki/Installing-Vagrant-from-source

As root run the following:

  • cd /tmp
  • mkdir gitVagrant
  • cd gitVagrant
  • git clone https://github.com/mitchellh/vagrant.git

  • cd vagrant
  • gem install bundle #it may not be installed
  • bundle install
  • rake install
  • vagrant -v #check vagrant version

Install VirtualBox on Slackware 14 32 bit

Get VirtualBox 4.2.8 for Linux, i386, all distributions http://download.virtualbox.org/virtualbox/4.2.8/VirtualBox-4.2.8-83876-Linux_x86.run.

For 4.2.18 http://download.virtualbox.org/virtualbox/4.2.18/VirtualBox-4.2.18-88781-Linux_x86.run

As root run the following commands:

  • cd <place where the downloaded virtualbox installer is>

  • chmod 755 VirtualBox-4.2.8-83876-Linux_x86.run

  • ./VirtualBox-4.2.8-83876-Linux_x86.run

  • usermod -a -G vboxusers <username>

  • id <username> #check user groups

As a normal user run the following:

  • virtualbox --help # check the version and parameters
  • virtualbox #start virtualbox

Get and run a base box - Ubuntu Lucid32

In http://www.vagrantbox.es/ there is a list of available vagrant boxes.

As normal user run the following

  • mkdir -p /tmp/vgbox
  • cd /tmp/vgbox
  • wget http://files.vagrantup.com/lucid32.box #Ubuntu 10.04 LTS

  • vagrant box add UbuntuLucid32 lucid32.box

  • vagrant init UbuntuLucid32

  • vagrant up
  • vagrant ssh #access the VM through SSH
  • ping www.sapo.pt #inside VM ... does not reply
  • exit
  • vagrant suspend

Run the following as stated in http://serverfault.com/questions/453185/vagrant-virtualbox-dns-10-0-2-3-not-working:

  • VBoxManage list vms
  • VBoxManage modifyvm "vgbox_1372194938" --natdnsproxy1 on
  • VBoxManage modifyvm "vgbox_1372194938" --natdnshostresolver1 on
  • vagrant resume
  • vagrant ssh
  • ping www.sapo.pt # OK ! it gets ping replies
  • dpkg -l | more # show all installed packages

Running cat /etc/debian_version show its based on squeeze/sid.

Running cat /etc/issue.net show it's Ubuntu 10.04.4 LTS http://releases.ubuntu.com/lucid/.

Current user and pass for the lucid32 box is vagrant vagrant. To get superuser access run sudo bash.

Inspecting the file /etc/shadow we can see that only the user vagrant has a password defined.

In /etc/sudoers it is said that all users belonging to group can gain root privileges with supplying a password.

In /etc/group it is stated that vagrant belongs to the admin group.

Ubuntu Precise32

In http://www.vagrantbox.es/ there is a list of available vagrant boxes.

As normal user run the following

  • mkdir -p ~/Downloads/vagrantBoxes/
  • cd ~/Downloads/vagrantBoxes/
  • wget http://files.vagrantup.com/precise32.box #Ubuntu 12.04 LTS

  • mkdir -p /tmp/precise32
  • cd /tmp/precise32
  • vagrant box add UbuntuPrecise32 ~/Downloads/vagrantBoxes/precise32.box

  • vagrant init UbuntuPrecise32

  • vagrant up
  • vagrant ssh #access the VM through SSH
  • ping www.sapo.pt
  • exit
  • vagrant suspend

Slackware NAT router with Pen 3G

Configure Slackware PC to share a 3G internet connection (TMN portuguese ISP).

Internet connection

The used APN is internet.

There is no PIN defined in the used SIM card.

Edit /etc/ppp/peers/tmnpub

  • /dev/ttyUSB0
  • 460800
  • connect 'chat -v -f /etc/ppp/chat/tmnpub'
  • defaultroute
  • usepeerdns

Edit /etc/ppp/chat/tmnpub

  • ABORT 'BUSY'
  • ABORT 'NO CARRIER'
  • ABORT 'ERROR'
  • ABORT 'SIM PIN'
  • ABORT 'SIM PUK'
  • '' AT

  • OK AT+CGDCONT=1,"IP","internet"
  • OK AT+CPIN?
  • READY ATDT*99#
  • CONNECT

To connect to the internet we must use the command:

  • pppd call tmnpub

Using the command ifconfig we should see the device ppp0 in the output.

Issuing a command ping www.google.com we should get a reply with the IP address from Google.

Configure NAT (Network Address Translation) router

Translate internal network addresses (source address) to a public/usable IP address given to the 3G modem.

View the routing table:

  • route -n

It should appear the devices ppp0 and eth0, and based on the Destination and Netmask the destination interface.

Enable IP forwarding:

  • echo 1 > /proc/sys/net/ipv4/ip_forward

Configure iptables to translate the address after they are forwarded to the correct interface, from eth0 to ppp0:

  • iptables -F
  • iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

To view the iptables configuration run the commands:

  • iptables -L -t nat -v
  • iptables -L -t filter -v

#script
#Enable IP forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forward
#Configure iptables to translate the address after they are forwarded to the correct interface, from eth0 to ppp0:
iptables -F
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Configure client computer

The routing table must be configure to use the NAT on Slackware, that will act as a router.

Check the current default gateway:

  • route -n

The line with destination equal to 0.0.0.0 and gateway 0.0.0.0, is the default router/gateway and must be deleted. We must run a command to do that, adapted to the current situation:

  • route del -net 0.0.0.0 gw 192.168.1.1

The previous command is to delete a route with destination 0.0.0.0 and gateway 192.168.1.1.

If the NAT router have the IP 192.168.1.123 then the following command must be sent:

  • route add default gw 192.168.1.123
  • route -n

After that running route -n should return a line with:

  • Gateway: 192.168.1.123
  • Netmask: 0.0.0.0
  • Destination: 0.0.0.0
  • Iface: eth0

Running a ping www.google.com from the client computer should return the IP address from Google.

Running a traceroute www.google.com should show the IP address from the NAT router.

Generic kernel

The “generic” kernel on the other hand, is a kernel which has virtually no drivers built in. All drivers will be loaded into RAM on demand.

#/usr/share/mkinitrd/mkinitrd_command_generator.sh
#
# mkinitrd_command_generator.sh revision 1.45
#
# This script will now make a recommendation about the command to use
# in case you require an initrd image to boot a kernel that does not
# have support for your storage or root filesystem built in
# (such as the Slackware 'generic' kernels').
# A suitable 'mkinitrd' command will be:

mkinitrd -c -k 3.2.45-smp -f ext4 -r /dev/sda1 -m usb-storage:ehci-hcd:usbhid:uhci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz
# Add to /etc/lilo.conf
image = /boot/vmlinuz-generic-smp-3.2.45-smp
  initrd = /boot/initrd.gz # add this line so that lilo sees initrd.gz
  root = /dev/sda1
  label = SlackwareGeneric
  read-only
# run lilo -v

USB boot in VirtualBox

$VBoxManage convertfromraw -format VDI usbboot.img usbboot.vdi

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01