Dynamic DNS For Home Serving With No-IP

Got a pcDuino3S running Linaro 12.07 [Linux] set up to run the No-IP dynamic DNS update client (DUC). These details should also work for a home server running Ubuntu or Lubuntu.

No-IP is a provider of Domain Name (DNS) services, and they have a free tier which you can use to dynamically map a domain name host to your home server’s external IP address.

Begin by registering a new No-IP account and signing up for the free service: https://www.noip.com/sign-up
Get the new account confirmation email and validate your email address/account.

Log in with your new account. Check that the hostname(s) you want are added: https://www.noip.com/members/dns/
Modify your host and set the IP address to one which is definitely not the external IP address to your home. This way you will know that the DUC is working because it will have updated your host’s IP address to be correct.

If you want to serve web content outside of your local network without using the default port 80, then you can modify an added domain to be a port 80 redirect instead of DNS Host (A) record. This means that when an external/remote computer/client tried to access your dynamic hostname on port 80 (i.e. the default port a web browser will try to use), then your server will receive that traffic on whichever port you specify (e.g. 8080) instead of on port 80.

Now you can follow the guide:
http://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client-on-ubuntu/
Why the /usr/local/src/ directory? See: What is the “/usr/local/src” folder meant for?

Running the configuration utility (which also happens automatically when you execute ‘make install’) will ask you for an Internet interface, your No-IP login information, the host(s) you want to update (unless you only have a single host registered to your account in which case that one is automatically selected for you), an update interval with a default of [30] (which I assume is denominated in minutes), and finally the option to specify a script/program to run after a successful IP update.

You can rerun the configuration utility if you need to:

/usr/local/bin/noip2 -C

* If you try to re-run the configuration utility while the No-IP DUC is running, then a warning will be issued containing the process identifier (PID).

Start the No-IP DUC running as a background task:

/usr/local/bin/noip2

Go to your information the No-IP website and check that host target has been correctly, successfully updated to be your external IP address.

Alternately, you can check the current IP your host resolves to using nslookup if you don’t want to visit the No-IP website.

nslookup www.noip.com

If you do not have nslookup currently available, get it with:

sudo apt-get install dnsutils

If you need to, you can find the No-IP DUC and stop its process:
Show All Running Processes in Linux

ps aux | grep noip

or if its name gets changed then try

ps aux | less

* ‘q’ gets you out of less.
Kill Process in Linux or Terminate a Process in UNIX / Linux Systems

kill #pid#

Optionally, you can create a simple bash script to log successful No-IP DUC updates.

nano ~/noiplogger.sh

with the one line of content:

echo $(date) " ===  successful No-IP update" >> /var/log/noipduc.log

Sources

Wireless Drivers on Lubuntu

To get the wireless working on Ubuntu or Lubuntu on a reformatted/repurposed Dell Precision M6400 laptop with a Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01) network controller:

sudo apt-get install firmware-b43-installer
sudo apt-get install linux-firmware-nonfree
sudo modprobe b43

Sources

Home Ventrilo Server On Lubuntu

Got an old laptop running Lubuntu to host a Ventrilo server. This will also work for Ubuntu.

Download the tar.gz archive “Ventrilo Server Linux i386 – 32bit” from http://www.ventrilo.com/download.php and move it (e.g. using FileZilla) to an appropriate directory (e.g. /home/myuser/ventrilo/).
Sadly the Ventrilo server archive file is not directly accessible/addressable, so you cannot just use wget to retrieve it.

Fortunately, the setup is really quite simple: http://www.ventrilo.com/setup.php
Find the section “Server – Installing”.
As you can see, all you do is unpack the archive:

tar zxf ventrilo_srv-3.0.3-Linux-i386.tar.gz

configure the settings:

nano ventsrv/ventrilo_srv.ini

and start up the server:

./ventsrv/ventrilo_srv

At the very least, set Auth=1 (thus requiring users to enter the global password) and select both AdminPassword and Password. You should also pick a name because naming things is fun. If you feel uncreative, then Google “poet”, go to a random page of search results, and select the first proper noun/name from those results. You can leave all the other settings alone, but if you want to mess with them then first read: Ventrilo Server Configuration INI explained by Rob Aldred.

Setting Up SSH on Lubuntu

To install SSH on Ubuntu/Lubuntu:

sudo apt-get install openssh-server

Backup the original default configuration file:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults
sudo chmod a-w /etc/ssh/sshd_config.factory-defaults

Secure the in-use configuration using whichever text editor you prefer; I’m using nano:

sudo nano /etc/ssh/sshd_config

by changing the

Authentication

section:

# Authentication:
LoginGraceTime 30
PermitRootLogin no
AllowUsers myuser myotheruser
StrictModes yes
RSAuthentication yes
PubkeyAuthentication yes

then also find and set:

PermitEmptyPasswords no
PasswordAuthentication no

* Use the username(s) of the user(s) who should have remote access to the server enabled, not “myuser” or “myotheruser”.

These settings reduce the amount of time a connection has to authenticate, prevents direct remote access to the root account, exclusively permits remote access by the listed user(s), and exclusively permits public key authentication.

You can optionally set OpenSSH to use a non-standard port (i.e. any port other than 22; pick one you aren’t going to be using for anything else; the option should be near the top):

Port 22

If you want to know what ports may be used for something else then check the List of TCP and UDP port numbers on Wikipedia.

Don’t forget to restart the service to apply the newly altered the SSH configuration:

sudo service ssh restart

Since you have just disabled password-based authentication, you will need to set up public key authentication. Log in as the user you want to have remote access and create a public-private SSH key pair in the user’s home directory.

mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa

Although you can use the default save location, you will eventually want the keys named for they open/unlock (in this case, the server + user they are to).

Now that you have your key pair, copy the private key (the one not ending in “.pub”) to the local client machine you want to remote into the server from (e.g. using a USB thumb drive). If the local client is running Windows, then you need to download PuTTY and then use PuTTYgen to open the private key and export it as .ppk for PuTTY. Alternatively, you can generate the key pair using PuTTYgen and copy the public key, exported as an OpenSSH key, to the server you want to remotely access (placed into the ~/,ssh/ directory).
Once you have the public key on the server in the correct home /.ssh/ directory, restrict its file permissions and add it to the authorized keys file:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

* Use the file name for your public key if it is not named the default “id_rsa”.

Test logging in remotely using the public key and its passphrase. If it works then delete the public key from the server:

rm ~/.ssh/id_rsa.pub

Services, Tools, and Resources

Sources

Finding An Artist For The Devil Music Web Comic

This is the story of how we got a web comic artist for the Devil Music comic, by Carly Orosz to accompany her novel by the same title.

tl;dr: Carly selected Candace Ellis, whom we found on deviantART, and the comic is still going!


As Carly was finishing up the final draft of Devil Music and starting to look for a professional editor, we started brainstorming what to do with it. The characters have some good chemistry to them which lends itself towards some comedy, and Carly had at one point considered trying to do the entirety of Devil Music as a graphic novel. So we settled onto the idea of a web comic to bridge the narrative gap between the end of the Devil Music book and the beginning of its sequel.

We looked to try out a few potential candidates in order to find a good match for Carly. To this end, we decided to hire a few different artist candidates to each work with Carly to create a double character portrait of Cain Pseudomantis, the main character in Devil Music, in both his “human” form and his “demon” form. Carly posted to both the deviantART job offers forum and The Web Comic List dogpile, directly on Carly’s blog on Blogger as well as reaching out directly to Woody Hearn of GU Comics (Carly liked his art style).

I wrote a novel!

It’s about a half-demon named Cain Pseudomantis who becomes a hair-metal rocker in 1980’s Los Angeles along with his three super-powered human friends. It’s pulse-pounding, hair-raising, a whole slew of similar book reviewer’s favorite catchphrases, and…you can’t read it yet. I’m still searching for a publisher.

I’m also hoping to create a supplemental web comic to chronicle the further antics and drama of the band. I’m in the process of writing up the first batch of comic strip material.

Of course, web comics aren’t just text; I’ll need to throw a few pictures in there too. They won’t be my pictures. I can’t draw. That is why I’m looking to hire a part-time web comic artist on contract for the first year. I would like to have one (1) web comic created and posted per week.

Application Submission Process

To apply, please send an email to me at carlyorosz@gmail.com with:

  • “Web Comic Artist Application – Your Name” as the subject
  • A short (2-3 sentences is fine) introduction to you and your work
  • A link to or standard images (JPEG, PNG, GIF) of your portfolio
  • A description of your past experience with producing web comic art, if any (i.e. resume. You can attach an actual resume if you want, but if you don’t have one lying around, something less formal is fine)

If I like what I see, then I will commission you to do some test work. If that also goes well then we can work out the contract for the first year (52 pieces). The test work will be:

  • a 1200px by 1800px 2-character image, one character in front of the other, fully colored, no background
  • a test comic strip

I am looking for a cell-shaded, moderately realistic style. Think along the lines of GU Comics, Ctrl+Alt+Del, or Questionable Content.

I’ll update this post when my search is complete.

In addition to Woody Hearn, Carly worked with Hannah Nott, Ben Kariuki, and Candace Ellis. Each produced a double portrait of Cain with their own, unique touch. It was fun to look at all the possibilities.

Ultimately, after significant consideration, Carly felt that Candace’s communication style and personality meshed best with hers, and Carly felt Candace’s art style was closest to what Carly had in mind for the Devil Music web comic. And that is why we have Candace Ellis to thank for a new Devil Music comic every Thursday, with the WiP going up on the Devil Music Series tumblr every Tuesday.