Posted: Sat 23 Jun 2012, 03:14 Post subject:
How to install Miredo in Puppy and achieve IPV6 connectivitySubject description: an open source software based solution based on Teredo tunneling

Hi all,

There's been a lot of discussion in the last few weeks and months about IPV6 connectivity, given that we are running out of address space on the Internet whilst using the original IPV4 protocol. For those who are not up to speed on this, there are several interesting threads within the Community including: Aitch's thread here, gcmartin's thread over here, and Flash's thread right here.

Some Community members: TerryPhi, myself, and others have tried running Miredo in other distributions such as debian, Mepis, and Ubuntu, and have found that it works quite well... with some adjustments. This technology is not new. It's been around for a few years now, and in fact is based on Microsoft technology called Teredo tunneling. Given the publicity and run-up to World IPV6 launch day on June 6th, IPV6 connectivity solutions are now in the limelight...

That said, I have decided to "pick up the ball and run with it" for a bit... and this How to thread is not a complete answer but rather, it is a work in progress.... At this time, I have Miredo running in Wary Puppy 5.3 with a score of 7/10. I hope I can bring it up to 10/10 --maybe by adjusting the gateway setting... I have not tested Miredo in any other version or breed of Puppy.

System Requirements

First, recent Puppies such as: Wary/Racy, Lupu, and Slacko should come with the basic system requirements and this includes the IPV6 stack, and the tun driver. However, these modules are disabled by default. To enable them, --> /etc/rc.d/modulesconfig and edit the ADDLIST section of the text to include the line: ADDLIST='ipv6 tun' Note the space between the modules ipv6 and tun and that the single quotation marks are included. Save your changes and re-boot... you should notice that these modules are being loaded on the screen as Puppy is booting.

Second, you need the devx package for your breed of Puppy, and it needs to load on boot-up. This is easily done if you already have a frugal install or the devx package is installed on a separate partition that you can boot... I am not going to explain further here, as there is plenty of information available on how to do this.

Third, you need to download the source-code for Miredo from here. I recommend choosing Merido-1.2.4 tarball because that is what I used... and it works

Compiling the Source Code

In my home directory, I created a folder called: source-code and I extracted the downloaded file to it. You have a lot of choice here, and ./configure will pick it up... You might want to choose /tmp in case you are concerned about certain changes being made to your setup as a result of compiling the source code. Note that if things don't go quite right:

Code:

cd /path/to/source-code
make uninstall

I found this worked fairly well during testing, though there was at least one directory with miredo.conf left behind after the uninstall...
Initial attempts at compiling the source code turned up some errors, but here is what worked for me --finally.

Code:

cd /root/source-code/merido-1.2.4
./configure --libdir=/usr/local/lib/miredo
make check
make
make installcheck
make install

You may get an error something like: "no such file or directory" when setting the path for the libfiles. If so, --> /usr/local/lib/ and create the new folder: miredo. After this, you might have to log off and back on... or possibly even re-boot then try the ./configure step again --I remember having a bit of trouble here. Another thing that concerned me a litttle bit is that the compilation resulted in an extra miredo directory... another layer... however I'll leave it for the meantime, because the libfiles are loading, so the teredo protocol is working.

Additional adjustments and configuration

For Teredo tunneling to work, a new route is established called: iproute2 However, despite the checks during compilation, the pathway for this protocol is set incorrectly. So, --> /usr/local/etc/miredo/ and open up the script client-hook (as text) and where it says:

Miredo runs as two instances which you can check in Pprocess which is the process manager:-->Menu-->System-->Pprocess. The first instance is as "root", and the second instance is called "nobody". The second child process allows any user the permission needed to run Miredo. If you want to quit Miredo select each instance in Pprocess and choose "quit" or "kill" as there doesn't seem to be a command that will do so in the console. Note that Miredo must have root privileges to start with.

Lastly, rather than deal with using the command line to run Miredo, I threw a Sym-link in the Startup folder, and I found that it's pre-loading fine.

Future Considerations

I did not have to tweak any firewall settings, but that is not to say that Puppy's firewall is fully IPV6 ready. Someone with greater expertise than me should look at this.

A PET you ask... I haven't gotten that far yet... and I might need a bit of help here.... I will see how it goes.

Anyhow, for those who want to give this a go, I believe any feedback you can give could be most valuable to the Puppy Community, even if only to confirm that it works (or doesn't work) in your particular breed.

Cheers,
Monsie_________________My username is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

Posted: Sun 24 Jun 2012, 00:48 Post subject:
How to install Miredo in Puppy and achieve IPV6 connectivitySubject description: an open source software based solution based on Teredo tunneling

Hi all,

UPDATE: I made a revised Pet. It was built and tested on Wary Puppy 5.3 only. This revision takes care of the two missing directories (path) for merido.pid See my following post.

I do not know if it will work properly in Lupu, Slacko, and other breeds... It's probably worth a try, but to be on the safe side, I would recommend compiling the source code for your particular breed of Puppy.

I fixed the pathway for iproute2 in the source code, so that is one less thing to adjust. I also "fixed" a problem of a missing miredo.conf file --don't know what happened there... as the package built properly on other tries.

You will still need to enable the modules for IPV6 and tun. Maybe at some point I could write a script that does this and include it with the package. You will likely want to put a Sym-link to Miredo in your Startup folder... there is no reason that I can think of why Miredo should not run in the background all of the time.

Posted: Fri 29 Jun 2012, 05:09 Post subject:
How to install Miredo in Puppy and achieve IPV6 connectivitySubject description: an open source software based solution based on Teredo tunneling

Hi all,

I'm not quite sure what happened, but I "tripped and fell" with Puppy yesterday. Though I tried lots of First Aid, Puppy was not able to fully recover...

So... time to start fresh with a new puppy... Things were going well, and Puppy was getting settled in when I noticed an error upon starting up Miredo... from the command line.

Code:

Cannot create PID file /usr/local/var/run/miredo.pid

Fortunately, there is an easy fix, and that is to create the missing directories so that the process id file for Miredo can be generated automatically... Once the Miredo.pid file is created, the program is able to run, and you are good to go.

I don't know why this error is happening now... it could be something that I missed in the source code configuration. So far, nobody has mentioned this error to me --does that mean that no news is good news? Your feedback would be appreciated.

Here is a screenshot of the error and fix that I quickly did at the terminal to get Miredo "jump started".

it will store the pid file in /var/run instead of /usr/local/var/run; and /var/run always exist so you don't have to worry about it.

By doing that, though the miredo binaries will live in /usr/bin and /usr/sbin. All you need to make a pet is to replace

Code:

make install

with

Code:

new2dir make install

I compiled the latest miredo (1.2.5) for Fatdog in mostly the same way, I have to change the /etc/miredo/client-hook to and change all "ip -6" to "ip -f inet6" because that's the way supported in Fatdog. But everything else is the same, and miredo works as well as you said.

But just remember that basically miredo is a proxying service; at the end of the line you need a proxy server --- and that means all your ipv6 traffic will pass through that proxy server. This may or may not be important for everyone, but it's still good to know what it is actually doing.

I have looked at where Miredo is installed in debian, and I see it is found in /usr/sbin, /etc, and /usr/lib which is very similar to what you mentioned, so it seems standard in this case not to use the /local path.

I will definitely try your configuration options with a newer version of Miredo source code. In the meantime, I felt it was necessary to fix my pet, so I have made a revision --see my edited post above.

Monsie_________________My username is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

So, be sure to enable the ipv6 and tun modules and re-boot in order to load them as I explained in my first post. Then your make check routine should pass the test, and you should be good to finish compiling the source code and/or creating your own pet.

Hope this helps,
Monsie_________________My username is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

Yay Finally managed to install the application ( you were right about the empty space in the directory! )and have made a pet file for this for Lucid, but can't seem to get it up and running for some reason.

Quote:

You will likely want to put a Sym-link to Miredo in your Startup folder

Also when I check the ipv6test site it still gives me 0 results ..... looking at the configuration file it's using the default Meredo site as the server.

You are going to need to do some testing... I also recommend looking carefully at the details of your ipv6 connectivity test, as it should yield some clues to help point you in the right direction in terms of troubleshooting your issue(s).

AFAIK, the Linux Firewall in Puppy handles the IPV6 protocol. As I acknowledged earlier, I did not have to tweak anything or make any adjustments for Wary Puppy. That said, the firewall may not work optimally in other breeds... apparently it has been reported that the firewall does not work with IPV6 (in some cases), though I haven't found any reference to this claim yet on our Community Forum. You might consider removing the Linux firewall and installing ufw/gufw then follow my directions that I outlined in order for me to get Miredo working in debian.

I would also consider trying SeaMonkey or Firefox to see whether this makes a difference --after ensuring IPV6 support is in fact enabled within the browser. Since the Iron browser is based on Google Chrome, and Chrome apparently supports IPV6, there shouldn't be a problem except to say it might be a matter of adjusting the browser preferences. You might want to check at their Forum for any pertinent details... I have never used the Iron browser, so I cannot help you here.

Lastly, one additional tweak is to change the dns server settings on your network to those which support IPV6... I use Google Servers myself, as its connections are amongst the fastest on the Internet.

Code:

DNS Parameters
Primary: 8.8.8.8
Secondary: 8.8.4.4

Good luck,
Monsie_________________My username is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

1. Do "modprobe ipv6" first before starting miredo.
2. Check that "IP" in "/etc/miredo/client-hook" points to the correct location ("/bin/IP" I think) --- as stated in Monsie in the first post.
3. After starting miredo, try "ping6 www.google.com". If you've got a reply, your miredo is working fine - the problem is elsewhere._________________Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread.

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum