Category Archives: Linux

Apps for Ham Radio Networks

You’ve built your mesh or 802.11 network to support your activity.  Now what?  Unfortunately, most client software doesn’t support peer-to-peer activities.  You have to have a server acting as the central repository and distribution point for your data.  Sounds complicated…

It can be daunting to make these resources available but it doesn’t have to be.  If you are already running a Linux-based operating system (sorry, Windows users but Microsoft will want you to pay an arm and a leg for what I’m getting ready to suggest and Microsoft software can’t do much of what I’m going to suggest, either) then you’re already most of the way to having your own server.  Most, if not all, of this software is already available in your distribution’s software repository for easy installation.

There are core software being used on the Internet, today, for moving data around.  Using the tools that most people are familiar with help make the overall network successful.  Obviously the first question should be “what are you trying to accomplish?”.  Setting up a camera on the network and sharing that data across the network is easy, mostly because the camera likely already includes its own webserver.  But how can you bring the rest of the tools into play to make your network even more useful?

Email

Email is fairly ubiquitous and everyone seems to know how it works.  There are three protocols you should be familiar with when dealing with email: smtp, pop3, and imap.  These are the services that handle routing and delivery of your mail.

SMTP

Simple Mail Transfer Protocol (SMTP) is an Internet standard for routing messages between email servers.  When you send an email, today, your client connects to an SMTP server and sends the message.  The SMTP server, after receiving the message from you, attempts to figure out how to deliver the message to the distant email server.  If the message is being kept locally (i.e. the recipient is on the same server as where you delivered the message) then the message is filed for delivery when the recipient queries the server.

Postfix LogoAn often-used SMTP program is postfix.  It requires a little configuration but basically “just works”.  Postfix will handle receipt of mail and delivery to the mailserver where your recipient is without further action from the user.

POP3 and IMAP

Post Office Protocol version 3 (POP3) and Internet Message Access Protocol (IMAP) are on the message delivery side of the house.  These are the protocols that allow a user to query the email server for mail.

POP3 basically forces a user to collect their mail and then delete it from the server.  By doing so, once downloaded, the user has the only copy of the message and the server is freed of the responsibility (and storage space) for handling the message.

IMAP, on the other hand, allows the user to download a copy of the message but, until deleted, the message remains on the server.  This allows the user to utilize multiple clients, with sorting into folders, and have that organization synchronized among all the user’s client software.

The Dovecot logoDovecot handles delivery of messages to clients using POP3 and IMAP.  Again, the software requires a bit of configuration but generally just works.

Web Server

Have a website you want to publish on your network?  Want to use a program to share files and other information?  You’ll need a webserver!

Apache Feather Logo.svgApache’s http server, commonly known as httpd, is very easy to setup and use.  Once installed, the server looks for files in your web folder (/var/www/html) and waits for a request from a client.

Want to share files and other information?

OwnCloud

OwnCloud is a suite of client-server software that creates a file hosting service and also allows management and sharing of calendar information, contacts, and more.  Because it’s far more efficient to share files using the http protocol, compared to email, and because files can be managed and synchronized among many computers through shares, using OwnCloud to manage files is far superior than using email.

Instant Messaging

Instant Messaging (IM) is an efficient and simple way of communicating short messages to other users in real time.  Some protocols allow peer-to-peer communications but usually a server is needed to facilitate the communications.

XMPP logoJabber, instant messaging software based on Extensible Messaging and Presence Protocol (XMPP) protocol, allows users to communicate between each other either person-to-person or in a chatroom where multiple people can participate.

Voice Communications (VoIP)

Using the session initiation protocol (SIP), one can handle VoIP “calls” over the network.  This can be between VoIP phones or between AT conversion boxes linking analog repeaters.  Unless you know exactly what phones are where, and your system isn’t growing, you likely don’t need a server.  But, if you plan on expanding your network and wish to have dynamic routing (phone numbers) then you’ll likely need a centralized server.

File:Asterisk Logo.svgAsterisk is a great private branch exchange (PBX) server allowing telephones to connect with each other.  Connections between the server and the clients are generally done using SIP whereas connections between Asterisk servers use Inter-Asterisk eXchange (IAX).

Connecting LANs

All of this information has been presented absent the network management infrastructure that helps make communications between easier.  Handling data on a single local area network (LAN) doesn’t necessarily require this kind of infrastructure but utilizing tools like DHCP, DNS, and others can be helpful.

Summary Conclusion

As you’ve seen, once you’ve built your network there are a few more challenges to making your network work for you.  This, however, doesn’t need to be an impediment and with just a little work you can make your network truly work for you.  You also don’t need any fancy hardware, either, as these tools can easily work on a laptop connected to the network for easy deployment.

All the suggested software is free and open source software (FOSS) which allows anyone to deploy the software for free (and allows you to make changes to the software if needed).

Securing email to Gmail

I’ve been working on securing my postfix configuration to enforce certificate validation and encryption on some known, higher-volume, or more sensitive connections between SMTP servers (port 25).

On many of the connections I’ve setup for secure transport there have been no problems (assuming proper TLS certificates are used).  Unfortunately Gmail™ has been a problem.  Sometimes it verifies and validates the certificate and other times it doesn’t… for days.

After conferring with Google Security I believe I’ve come up with a solution.  In my tls_policy file I’ve added the following:

gmail.com       secure match=.google.com:google.com ciphers=high protocols=TLSv1.2

So far this is working but I’ll continue to test.

If you run your own SMTP server and wish to maintain a secure connection with Gmail this is an easy way to enforce encryption as well as validate the certificate.  Of course this doesn’t protect the message while it’s being stored on the server or workstation (or on Google’s internal network).  To protect messages at rest (on a server) one should use GPG or S/MIME.  Using both TLS over the network between servers and GPG or S/MIME is beneficial to provide protection of the messages going over the Internet.

Update

This configuration is applicable with the OpenSSL version shipped with CentOS 6/RHEL 6.  Implementing this on CentOS 7/RHEL7 or another flavor of Linux may require a different/better configuration.
The policy has been updated for CentOS 7/RHEL 7 which supports TLSv1.2 on Postfix.  Other services can also be setup similarly:

google.com    secure ciphers=high protocols=TLSv1.2
comcast.net    secure ciphers=high protocols=TLSv1.2
verizon.net    secure ciphers=high protocols=TLSv1.2
hotmail.com    secure ciphers=high protocols=TLSv1.2

Linux, the Yaesu FT-1D, and the SCU-18

I had almost given up on programming my Yaesu FT-1D on my Linux computer.  The software provided by Yaesu wouldn’t work on Linux and CHIRP didn’t support the radio.  Well, CHIRP didn’t support it until now.  While it’s not official, their daily build claims to support the radio and that makes me excited.  But there’s still a problem.

The programming cable that is provided by Yaesu, the SCU-18, doesn’t seem to be recognized by my Linux system.  Well, it’s recognized but it doesn’t actually attach the device to a port so I can use it.

usb 3-1: new full-speed USB device number 12 using xhci_hcd
usb 3-1: New USB device found, idVendor=0584, idProduct=b03a
usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-1: Product: USB-Serial Converter
usb 3-1: Manufacturer: RATOC Systems,Inc.

and

Bus 003 Device 013: ID 0584:b03a RATOC System, Inc.

It turns out, the device appears to be a RATOC System USB60MB.  What Yaesu is shipping looks just like these devices except for where the 9-pin serial connector is there is actually some proprietary USB plug.

I think this is the only part that is holding me back.  I’m hoping to talk with a few people tomorrow that can hopefully help remedy the problem.  I feel that I’m really close to a solution, though, and hope to make this process easier for other Linux users out there.

Starting work at Red Hat

I’m excited.  Earlier this week I accepted a position at Red Hat working on a very cool project that has the ability to affect many open source, and not so open source, projects in a very positive way.  The opportunity that I was presented was too good to turn away.  The best part is, aside from never having to touch a Windows box again, that I get to continue my work and studies in security and bring this project to the world in an open source way.

There is a lot of work that needs to be done and I hope to spread the wealth of information and goodness to the masses in a few short months.  I won’t say much about the project now but I will be writing about my work after I start in early January.  Stay tuned.

Looking for a LUG

Later this week I’ll be moving up to Deale, Maryland.  I’ve been learning about some of the local activities that are available up there but I don’t know much about the local Linux user groups (LUGs) in that area.  A quick search of the Internet turned up the Annapolis LUG and the DCLUG.  I wonder if there are others up in the area or if anyone knows anything about either of those two LUGs.  Drop me a note!

Fedora Amateur Radio Guide

Cross posting to Sparks’ Linux blog.

Earlier today John WB8RCR and I released the Fedora Amateur Radio Guide. Depicting many of the programs available in Fedora’s repositories, these free and open source software packages provides many tools to turn any amateur radio operator into a truly geeky operator.

John did a wonderful job putting together the guide to include twenty-one software packages. And while there is still work to do we wanted to get it out the door now so that Fedora users could take advantage of what was complete. We hope you find it useful!

Amateur Radio in January's LINUX Journal

I just received the January 2010 issue of LINUX Journal and was surprised to see a penguin with headphones, a microphone, and a amateur radio callsign!  Awesome!  There is a four page article which starts to show the relationship between open source software and amateur radio and how one can benefit from the other.  There are so many options for amateur radio operators within the Linux community and the price is definitely right…  free!

Amateur Radio in next month's Linux Journal

I just pulled down the December version of Linux Journal a couple of minutes ago.  I made it all the way to page 4 and read that next month’s issue would be on Amateur Radio (or at least some portion there of).  I’m excited to see that Amateur Radio and Open Source has been written about together because they do share so many similarities.  Amateur radio operators used to build all their equipment and help mentor each other on developing better communications stations.  Open source software is very similar to that.  While I might not build my transceivers, I do still build many of my antennas which is something I enjoy.  Amateur radio operators, also like OSS developers, are in it to help people and have some fun in the mean time.  Yep, Amateur Radio and OSS… a match made in heaven.

NetworkManager… Where is the prefered WiFi list?

I know somewhere there has to be a file that retains information on the wireless access points (WAP) that you connect to using Network Manager. Anyone know the name of that file?

Amanda was visiting a friend up in Cleveland a while back and connected to her friend’s WAP (named linksys). Now every time she gets near a “linksys” WAP her computer will jump to it. That includes being at home a mere twenty feet from our own WAP (not named “linksys”). Not only is it very annoying to her but it also poses a security risk to her data and could possibly be illegal.

I haven’t had a chance to really investigate this problem, either, as she is always using her computer for school. Maybe I can steal it away at 5 in the morning to take a closer look at the issue.