Tag Archives: vm

Mininet – Software Defined Networking

Mininet

Mininet is a network emulator written in Python. With it you can create a test network consisting of many devices, for example inside your laptop.
It’s a lot more light-weight compared to emulating switches/routers in GSN3. Initially Mininet appears to be more about easily getting working network rather than tinkering with all the features of devices, but OpenFlow has a lot of nifty capabilities that Mininet makes it a lot easier to explore.
Anyway I think it’s great that there are free software tools to learn how to setup the network.
Check out the link below, there are some assignments that are used at Stanford about how to create your own link state routing protocol. Cool!

It’s easy to set up a network with many switches, routers and hosts. You can specify packet loss, queue size and delays on links.

They did some tests between ssh and mosh, to see how much better mush was when there were packet loss or delays.

You could deploy a setup similar to what you’ve tested inmininet, with real products. OpenFlow is used in both mininet and in the real products :)

Install the mininet VM and test it!

There are many ways to install mininet. They provide a VM that you can boot or you can install it in your OS, but it requires root access.

They got a walkthrough that is quite a nice intro to how to set things up mininet.

A note when using the VM image: If you’re already running Linux, for example I run Ubuntu on my machine all I had to do was to “ssh -X mininet@ip-to-vm” to be able to run wireshark in the vm. That’s a capital X.

 

SDN –  software defined networking

Some sources of information:

http://mininet.org/ – The network emulator

https://github.com/mininet/mininet/wiki/Documentation – On the github there are assignments that you can use to learn more about mininet.

https://www.coursera.org/course/sdn – On Coursera there is a free introduction course to SDN starting May 27! I’m joining it, are you?

http://www.opennetsummit.org/archives-april2013/ Free presentations about SDN inside.

http://tech.slashdot.org/story/13/04/29/2324200/inventor-of-openflow-sdn-admits-most-sdn-today-is-hype SDN is just a hype?

How to restrict access to your phpmyadmin

Went through the apache logs on my web-server and saw some access requests to my phpmyadmin page.

It’s probably a good idea to restrict access to this web based sql admin interface (in case there is an exploit I don’t want somebody to use it on this).

How to make phpmyadmin a bit more secure

sudo vi /etc/phpmyadmin/apache.conf
or
sudo nano /etc/phpmyadmin/apache.conf

Under
“Alias /phpmyadmin /usr/share/phpmyadmin”
<Directory /usr/share/phpmyadmin>

add this:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.0/24

This will let your vm access the /phpmyadmin part and also anything with an IP on the 192.168.0.0/24 network.

Also, up there in the alias where it first says /phpmyadmin – change this to something else like “Alias /youcannotguessthis /usr/share/phpmyadmin” and it will be a lot harder for automatic scanners to find it.

Here is some more information.

Ubuntu Server + VMWare Workstation

0/ Have your own virtual machine in your desktop is not hard!

0.1/ Some Terminology

  • OS – Operating System
  • Host OS – Underlying OS – in this you install VMWare Workstation.
  • Host needs to be stared for the guest to be able to start.
  • Guest OS – The extra OS you install inside the host or in VMWare Workstation.
  • VM – Virtual machine.

1/ Pre-install

1.1/ Storage space, memory, CPU

What do you want to do?
Do you have enough of it?
My desktop has an Intel i7-920, 8GB RAM and two 500GB hard drives.
Generally when testing I would give it 1GB or maybe 2GB for Windows. This can be decreased later if you feel the need.
You can also increase storage, memory and CPU after you create your virtual machine.
It is easy to create a new virtual machine so do not worry if you make it too small or too big.

1.2/ Network setup, LAN, Bridged, Hidden.

Do you want to be able to access your VM from your LAN, Internet or do you want a completely private network between your virtual machines?

Especially if you do set up a Windows guest OS (perhaps to use as a client in your test environment) please do remember that before you connect it to the Internet (to install patches etc) you should definitely think about installing an anti-virus solution on it.
I recommend Microsoft Security Essentials (MSE) – it is free and takes up little resources.
I read recently that the time you have until your unprotected computer is infected is about 10 seconds. But if your computer is behind a NAT – broadband router (so it has an IP like 192.168.x.x or 10.x.x.x or 172.16.x.x.x) then it is safer, but not safe from other computers on your network.

2/ Install the OS

2.2/ Download Ubuntu, easy setup wizard

There are two versions of Ubuntu – desktop and server version. If this is your first time with Linux you may be better of starting with the desktop variant. I used the server version (uses less resources – no graphical user interface).

Here is a guide for using the Ubuntu Virtual Kernel with VMWare Workstation.

2.3/ Windows 2008 R2?

sharepoint-2010-foundation-windows-2008-r2-vmware-workstation

3/ Set up management

3.1/ sshd – autostart if you reboot host OS / Windows.

I haven’t managed to set up autostart of the VM when rebooting the OS.
But then again, I do not run “life-critical” services in the virtual machine, just some cheap bash-script and an EyeOS. Not sure if I want to have it autostart, I like to have a fast reboot.

3.2/ Timezone, time.

Quite frustrating, but here is how it worked out in Linux: time-sync-for-linux-vms-in-vmware-workstation

4/ Post-Installation Joy

4.1/ Something simple like screen + irssi

This is really easy to set up.
Basically all you need to do is install these in a Debian style Linux (like Ubuntu):

sudo-apt get screen irssi openssh-server

then start a screen session called chat and the command ‘irssi’

screen -S chat irssi

It then starts irssi in a screen.
You can hit CTRL+A+D (or, CTRL+A D also works) to detach it and get back to the terminal. You can then close the terminal / log off from the server. Next time you log on you can just type:

screen -rdx chat

Irssi is my IRC tool of choice, it’s slim and well, I’ve gotten used to it. It has scripts and you can do encryption and lots of nice little things with it if you want to.

Of course the screen does not resume when you restart the whole server / virtual machine.

4.2 Other ideas:

Red Hat Enterprise Linux in VMWare Workstation.
How small VM can you have for just IRSSI?
File share from Windows to Ubuntu in a VM.
EyeOS – OS in your web browser.


HEPIX Spring 2011 – Day 5

What day it is can be told by all the suitcases around the room.

Version Control

An overview of the version control used in CERN. Quite cool, they’re not using Git yet but they are moving away from CVS to SVN (subversion) which is not updated anymore. Apparently hard to migrate.

They use DNS load balancing

  • Browse code / logging, revisions, branches: WEBSVN – on the fly tar creation.
  • TRAC – web SVN browsing tool plus: ticketing system, wiki, plug-ins.
  • SVNPlot – generate SVN statsw. No need to checkout source code (svnstats do ‘co’).

Mercurial was also suggested at the side of Git (which is founded by Linus Torvalds).

Cern – VM – FS

Cern-VM-FS (CVMFS) looked very promising. The last one is not intended at the moment for images but more for sending applications around. It uses Squid proxy server and looked really excellent. Gives you a mount point like /cvmfs/ and under there you have the softwares.

http://twitter.com/cvmfs

Requirements needed to set it up:

  • Rpms: cvmfs, -init-scripts, -keys, -auto-setup (for tier-3 sites does some system configs), fuse, fuse-libs, autofs
  • squid cache – you need to have one. Ideally two or more for resilience. Configured (at least) to accept traffic from your site to one or more cvmfs repository servers. You could use existing frontier-squids.

 

National Grid Service Cloud

A Brittish cloud.

Good for teaching with a VM – if a machine is messed up it can be reinstalled.

Scalability – ‘cloudbursting‘ – users make use of their local systems/clusters – until they are full – and then if they need to they can do extra work in the cloud. Scalability/cloudbursting is the key feature that users are looking for.

Easy way to test an application on a number of operating systems/platforms.

Two cases were not suitable. Intensive – with a lot of number crunching.

Good: you don’t have to worry about physical assembly or housing. They do have to install the servers and networking etc. Usually this is done by somebody else. Images are key to making this easier.

Bad: Eucalyptus stability – not so good. Bottlenecks: networking is important. More is required to the whole physical server when it’s running vms.

To put a 5GB vm on a machine you would need 10GB. 5 for the image and 5 for the actual machine.
Some were intending to develop the images locally on this cloud and then move it on to Amazon.

Previous Days:
Day 4
Day 3
Day 2
Day 1

HEPIX Spring 2011 – Day 4

Dinner on the 3rd night was amazing. It was at the hotel Weisse Schwan in Arheilgen outside Darmstadt and it was a nice reception hall with big round tables, waiters with lots of wine and great buffet food. A+

Cloudy day!

Or – Infrastructure as a Service – IaaS

A few had the standpoint that the HEP community is not ready for cloud, not secure enough and we have something that’s working. But maybe a mix period would work. At least for now it’s quite awesome for non i/o intensive applications.

There were talks about virtual images and how to (securely) transfer them between sites. Several options about this, stratuslab cloud distribution of images and cloudscheduler.

One great use case for running computing nodes in the cloud is at the moment for when the cluster is maxed out – then you can kick up some more vms in the cloud to help speed up the run. Or when running the jobs it keeps the VM running as long as jobs that require that kind of VMs are in the queue. Or for testing – quite easy to set up several VMs with different operating systems/platforms and then run testing on them. See cloudscheduler.org

Infrastructure as a Code – IaaC – see Opscode and Chef. A pretty interesting looking  configuration management system.

Terms:
fairshare
json

Oracle

Maybe the most interesting presentation at the end of the day – and the debate following was maybe the most – it was the presentations from Oracle Linux and Oracle Open Source.

Before the presentation they had a nice slide stating that they don’t make any promises based on the presentation. That presentation is not available but the other one is – the one about Oracle and Open Source..

Oracle Linux (OL) looks pretty good, it’s free to download but if you want any updates you need to pay them. They have an upgrade thing so if you’re on RHEL6 you can apparently update easily (changes some yum repos). A lot of advertisement – but it was a presentation about the distribution. It’s based on RHEL, they take the updates from RHEL, then add their own magic to it. They have a boot setup so if you want to you can boot OL in Red Hat Compatibility mode. Apparently Oracle wants to put Red Hat out of business (after which they were asked: “Where will you get the kernel then?”). x86-64 only.

On the horizon:  

  • btrfs(fs that supports error detection, CoW, snapshots, ssd optimization, small files are put in metadata)
  • vswitch(full network switch, set up virtual network in the OS, ACL, VLAN, QoS, flow monitoring with openFlow)
  • Zcache(keep more pages of the fs page cache longer in main memory, more cache using LZO compression and thus fewer I/O operations – a lot faster to compress/uncompress than to access disk)
  • storage connect
  • linux containers (resource management, jails on bsd, zones on solaris, own apps/libs/root, runs on top of the kernel, not a virtualization).

From the discussion:


Pidgin – some wanted Video. Pidgin said: no way. This is how Oracle will run their open source projects like MySQL, Lustre.

“If you don’t like how the project is going – fork.” – Gilles Gravier.

Two reasons to fork: proactively (worried) or because they are unhappy with how it’s going (how it’s going or not going).

People in the audience are afraid that a lot of times a company acquires an open source project and then closes it down.

“When you acquire a company and it’s the projects. You have two options if don’t want the project. Drop it or kill it. Kill it does not work for open source.” – Gilles Gravier.

Openoffice is not dropped yet. Lots of other options. Fork and work on closed source (like Grid Engine). Drop it and stop working on it. Drop it and “talk to the community”.

No info about Lustre – when asked about it Oracle did not want to comment. Asked to e-mail gilles.gravier@oracle.com for more information.

Will Oracle port debconf to Oracle Linux? Oracle will take a look.

There was lot of angst against Oracle that surfaced, but Oracle handed it quite well and had good answers.

From one of the Oracles: “Allow me to be a bit provocative: If Oracle’s prices were lower; would you consider buying an Oracle product?”

“It takes 25 years to make a good reputation, 5 minutes to loose it.” – CERN employee.
“SUN used to make hardware and give away software for free; Oracle is .. the other way around.” – Lenz Grimmer
“Laughter” – Audience.

European Open File System SCE

  • http://www.eofs.org
  • one repository of lustre
  • hpcfs.org is another lustre open source – this will merge with opensfs.org. Both are American.
  • Close work together with eofs.org – the two above have agreed on a set of improvements.
  • 2.1 lustre will be released by Whamcloud in summer 2011.
  • LUG – lustre user group – reports and interviews at http://insidehpc.com

 

Next Day:
Day 5

Previous Days:
Day 3
Day 2
Day 1

Ubuntu 10.10 + VMWare + Irssi

How small VM can you make if you are only going to use it to run Irssi in a screen?

OS: Ubuntu 10.10 x64 Virtual Kernel
Hypervisor: VMWare Workstation

Disk – no logs – 1.10GB is what my previous took, with samba, so probably less but 1.1 should be all right, don’t want it to run out of space either. Should probably partition /var/log into its own so that if that fills up (maybe after bruteforce ssh logins) then it doesn’t fill up the rest of /.
RAM –

  • turn off cron jobs
  • install virtual kernel

about the cron jobs, I just installed a ubuntu virtual kernel and only cron job running (as seen in syslog) is this:

CRON[9141]: (root) CMD (   cd / && run-parts –report /etc/cron.hourly)

Test 1

1.2GB disk
64MB RAM

Kernel panic – not syncing: attempted to kill init!
ctrl-alt-del in the VM doesn’t work, had to hard kill it :p
Reboot – same problem. It does this after selecting minimal virtual kernel and pressing install Ubuntu Server.

Test2

Increased RAM to 96MB and now it passed.
However, after selecting keyboard it still crashes. So 96 is also too little.

Googled around a little and found an article on Ubuntu.com that gives some insight.

For example: if you run out of memory, then it will swap. So if you are not running out of memory then it’s probably better to give it a little more to be on the safe side.

Test 3

Increased RAM to 128MB
Now it goes even longer.

Partitioning -> chose manual.
There is a device there ‘sda’ -> SCSI3. Mark that and hit enter. Say yes to create new empty partition. Then it creates a new space pri/log. Create new partition.

As size, type in: 100MB
Primary, beginning, default settings on the filesystem etc but mount point: /var/log. Then done setting up this partition.

Then we will create another partition for / (or the rest).

Like this:

ubuntu_partition right

ubuntu_partition right

The above does not include a swap space, and the installation complains that there is no swap space defined and that there may be problems if this is not configured during install.

Let’s see :)

** maybe Ubuntu is not the slimmest OS to install for this purpose. The guide I linked to above mentions a DSL – damn small linux. But we want a minimal server OS, not a desktop one. Maybe the new Debian 6 would be cool to try.

During install there was a dialogue about something being already on the disk.. and that this could cause issues. Maybe this was copied there from one of the previous tries with less amount of RAM. Went back and erazed this on each just to be on the safe side. Very slow though. About 1% / s. After this I went into each and set them to format instead. It mentions old installation files anyway. Proceeding. This happened twice? Three times now.. Maybe this is not going so well. Ok happened four times.

Hit Alt+F2 (and then enter to get the console) and then df -h. Nothing is over 20% except the SR0/cd-rom which is at 100%. Did a ‘more /var/log/syslog’ and at the end there are some ‘Out of memory’ things going on.

So there we go. 128MB is too little.

But here:  it says that 128MB is the requirement..

Test 4

I will try to install again and not mess up with the partitions.
1.2GB and 128MB again.
Going pretty well, looks like it’s stopped at 75% and “storing language”. Patience. Ok, 10mins later still there. Nothing about out of memory in /var/syslog. The Guest was behaving a little slow though when working the console.
Left it on over night and when I looked again the following day it was at the next step!

Installing openssh via the installation menu this time.
Taking quite long time this time as well. Like hours. 2 hours now. Nothing happening in syslog. Think I’ll give Debian a shot next Test.

In the meantime did Test 5. However 4 hours later, still configuring ‘language-pack-en-base’.

Now, approximately lots of hours later. It is at configure grub.

And yay, it finally boots!

user@irssi:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             1.1G  430M  606M  42% /
none                   54M  164K   54M   1% /dev
none                   57M  4.0K   57M   1% /dev/shm
none                   57M   36K   57M   1% /var/run
none                   57M     0   57M   0% /var/lock
none                  1.1G  430M  606M  42% /var/lib/ureadahead/debugfs
/home/martbhell/.Private 1.1G  430M  606M  42% /home/martbhell

And the size of the folder in Windows: 750 MB (787 341 312 bytes)

With 128MB ram there is maybe 10MB free and it swaps a little (just a few kB so far).

Test 5

debian-6.0.0-amd64-netinst
Using Debian 5 64-bit.

  1. graphical menu is seen, no advanced options used
  2. chose languages – look a lot like Ubuntu but there are some differences:
  3. After choosing a hostname it asks for domain. Put in WORKGROUP.
  4. Set a root account password (so no more sudoing – probably just add my user to the wheel/root group).
  5. and you have a few more options in the partitioning, like a separate /home partition
  6. then you get to chose a debian mirror (becuase I use the netinst). ftp.fi.debian.org is the one I chose
  7. you can participate in a “most used packages” survey
  8. software selection: graphical desktop, web, dns, ssh, laptop, standard system utilities. I chose SSH and standard system utilities.
  9. grub, then reboot and loading!

Internet works fine from the start. apt-get update; apt-get install irssi
Remember, here you have to log in as root to run ifconfig or apt-get.

It’s the same way in Debian as in Ubuntu to set static ip. Just edit /etc/network/interfaces / don’t forget you can just restart the networking services by ‘/etc/init.d/networking start’ instead of rebooting ;)
Now, I actually forgot to set minimal ram/disk for this one. So we have to do this again ;)

Test 6

debian-6.0.0-amd64-netinst
Using Debian 5 64-bit.
128MB RAM

One thing that’s cool about a VM is that you can resize the amount of RAM whenever (probably good to turn off the guest first). So how about just lowering it instead of installing a new one?

OK, so it now has 512MB. Going down to 64 in one go (listed as minimum in VMWare Workstation).

It’s swapping after just a few minutes with screen+irssi.

to sort by memory usage in top press SHIFT+m

biggest memory hogs (all over 1% – figures in bold) are :

1474 user 20   0 23388 6220 1572 S  0.0 11.2 0:00.25 bash
1503 user 20   0 50084 5228 3824 S  0.0  9.4 0:00.06 irssi
1470 root      20   0 70488 3280 2584 S  0.0  5.9 0:00.03 sshd
913 root      20   0  117m 1788  904 S  0.0  3.2 0:00.01 rsyslogd
1473 user 20   0 70488 1680  964 S  0.0  3.0 0:00.06 sshd
1502 user 20   0 25184 1472  992 S  0.0  2.6 0:00.01 screen
1546 user 20   0 19040 1300 1004 R 99.9  2.3 0:00.01 top
985 root      20   0 22392  712  512 S  0.0  1.3 0:00.00 cron
1233 Debian-e  20   0 44140  660  392 S  0.0  1.2 0:00.00 exim4
1472 root      20   0  5928  620  520 S  0.0  1.1 0:00.00 getty
1 root      20   0  8352  616  560 S  0.0  1.1 0:01.42 init
1277 root      20   0 49168  544  428 S  0.0  1.0 0:00.00 sshd

What I might be able to get rid of is rsyslogd and cron. But then again, if I were to connect this to the internet so I could access it and resume the screen/irssi from anywhere, I would want to keep track of what is happening on the machine.

user@debian:/var/log$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             3.8G  638M  3.0G  18% /
tmpfs                  28M     0   28M   0% /lib/init/rw
udev                   23M  140K   23M   1% /dev
tmpfs                  28M     0   28M   0% /dev/shm

Windows usage: 887 MB (930 816 000 bytes)

Summary

The Ubuntu Server 10.10 with the minimal virtual kernel took forever to install (maybe it would have been faster to have more mem during install and then lower when it’s done) and with 128MB it still swaps a little with only screen and irssi running. But it does use about 130MB or 200MB less space than the Debian6 guest.

The Debian 6 however runs OK with 64MB, swaps a little at that though so I would probably run this with 96 or 128MB just to be on the safe side if I were to run it.

VSP / VMAX / VAAI

Lots of acronyms :)

VMAX – EMC
VSP – HDS
VAAI – VMWare’s Storage API

I really liked a post by the storage anarchist as it quite eloquently explains what is happening and a great benefit of VAAI. Granted the post primarily speaks about the eraze part and I’m not that knowledgeable about VAAI itself to tell if there are any other features – but there is – at least according to this article on vmetc.com. This does not focus on the same two features that the anarchist mentioned. Maybe the storage anarchist did not want to mention all of these other features because they actually do work quite well for arrays that are behind the VSP.

File share from Ubuntu 10.10 with Windows 7 Client

Figured I would give this a shot and see how this is done in Linux.

Overview

1x Ubuntu 10.10 VM in VMWare Workstation. Installed with virtual kernel.
1x Windows 7 VM. All updates.

Not going to go through the installations in this post, just the domain/LDAP part. See previous posts for installation stuffs.

Found this article on ubuntu.com -> -> 10.10/serverguide/C/network-authentication.html .. But this does not exist anymore.

Whoa, quite a lot to do. Think I will read the manuals this time :)

Basically I think I just need to install and then configure Samba.
Because it has file-sharing and authentication/authorization.

So, first step will be to install Samba and try file-sharing.

File Sharing

sudo apt-get install samba

installs these:

The following NEW packages will be installed:
libavahi-client3 libavahi-common-data libavahi-common3 libcups2
libfile-copy-recursive-perl libgnutls26 libldap-2.4-2 libsasl2-2
libsasl2-modules libtalloc2 libtasn1-3 libwbclient0 samba samba-common
samba-common-bin update-inetd

After that I can run \\192.168.0.ip which is the IP of the VM running samba – it gives me a login prompt.

Uncommenting this in /etc/samba/smb.conf

[homes] comment = Home Directories
browseable = yes

Still asks for a password. Tried with user@ip – this seems to work. It shows a directory called “homes” but it doesn’t work to browse into it.

[2011/02/06 16:30:45.949726,  1] smbd/service.c:678(make_connection_snum)
create_connection_server_info failed: NT_STATUS_ACCESS_DENIED

Set ‘share’ and set the guest account = nobody  then I got this:

[2011/02/07 13:22:06.770082,  0] smbd/service.c:988(make_connection_snum)
canonicalize_connect_path failed for service foo, path /mnt/foo

Then what I did was this:

  1. created a directory called /samba
  2. sudo chmod +x /samba
  3. sudo chmod 777 /samba
  4. sudo chown nobody /samba
  5. add this to /etc/samba/smb.conf
  6. [foo] comment = foo
    path = /samba
    read only = no
    guest ok = yes
    guest only = yes
    browseable = yes
  7. security = share
  8. guest account = nobody

And then \\ip\foo and woopsie! I can both write and read :)

[2011/02/07 13:23:14.022980,  1] smbd/service.c:1070(make_connection_snum)
192.168.0.ip (192.168.0.ip) connect to service foo initially as user nobod

yay!

Ubuntu 10.10 Minimal Virtual Kernel + VMWare Workstation

To install Ubuntu 10.10 with a virtual kernel instead of the normal one = good, less stuff installed that you may not need.

  1. When setting up the install, do not use the easy install. Chose to install an OS later. Set up bridged/nat depending on which one you want.
  2. Add the install .iso to the CD-drive in the VM
  3. Select a language
  4. Press F4 (it didn’t work in the first screen)
  5. Chose – install a minimal virtual machine
  6. Install Ubuntu Server
  7. Chose language again
  8. Chose key map – (I chose English and had to browse to Finland)
  9. Asked to press some buttons, wanted Swedish (but have an English keyboard) so tried to press the right ones :p
  10. Then time zone Helsinki/Finland was found.
  11. Using default (whole disk, no encryption or lvm) for partitioning.
  12. set up users
  13. set up encryption on home dir
  14. proxy setup
  15. installing security updates automagically
  16. any extra packages (DNS, LAMP, Mail, OpenSSH, etc)? – I chose no, want to chose this myself later.
  17. yes I want grub (it finds only one OS on the virtual disk ;)

Then I see the login prompt! Obviously the easy-install in VMWare Workstation has a lot less steps :)

But on the other hand you could install OpenSSH directly through the install and then you do not have to log on to the VM via VMWare Workstation, but can do it via your favorite ssh program instead.

Post install

What I want installed every time after an uninstall.
After install it is a very very small installation.
Not even ‘man’ is installed.

sudo apt-get install openssh-server ntp nano

edit /etc/network/interfaces – configure static ip
edit /etc/ntp.conf – add time servers
edit ~/.bashrc – change colors in the prompt and add color

Kernel difference you can see when running uname: 2.6.35-22-virtual in comparison to 2.6.35-22-generic

There!

Now you can set up whatever you want on it! Of course you may want to do more things, set up iptables or you could use it like it is before the things I do after each install. You can use vi instead of nano/pico and use dhcp instead, depends on what you are going to do with your VM.