AREDN: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Brian Wilson (talk | contribs)
 
(One intermediate revision by the same user not shown)
Line 6: Line 6:


== Building an Internet-only node ==
== Building an Internet-only node ==
Officially AREDN supports ProxMox (don't have one), VMWare and QEMU. Setting up to run in VirtualBox was easy enough, now I just have to sort the networking out.


=== on a ProxMox Virtual Machine ===
'''ProxMox''' requires a separate PC that has a processor that can handle virtualization. I don't have one right now.  My spare PC, [[Tern]] was not up to the task. Too puny. Ironic that setting up a separate PC is the way AREDN people choose to virtualize. Kind of misses the point. I could set up an OpenWRT box more easily.
I installed on [[Tern]] this because my travails on VirtualBox left me wondering what a supported install looked like.It was a hard fail because Proxmox would not work on this machine.


=== on a VirtualBox Virtual Machine ===
'''QEMU''' can probably do EVERYTHING but it's too much work learning how to set up its networking.
Officially they support ProxMox (don't have one), VMWare ($) and QEMU. Setting up to run in VirtualBox was easy enough, now I just have to sort the networking out.


2024-12-07
'''VirtualBox'''... that's where I am now. The race is on. Which is easiest? Ha ha ha.


* Installed VirtualBox on [[Murre]].
'''VMWare''' - there is supposedly a free version now but I don't like the licensing. VirtualBox (Oracle) is bad enough.
* Downloaded the x86 version from https://downloads.arednmesh.org/afs/www/ (look for "x86" in Model)
* Converted the img file to a vdi using VboxManage. Takes about a second with this command.
VBoxManage convertfromraw --format VDI aredn-3.24.10.0-x86-64-generic-ext4-combined.img aredn-3.24.10.0-x86-64-generic-ext4-combined.vdi
Converting from raw image file="aredn-3.24.10.0-x86-64-generic-ext4-combined.img" to file="aredn-3.24.10.0-x86-64-generic-ext4-combined.vdi"...
Creating dynamic image with size 126353408 bytes (121MB)...
* Create in a vbox machine (128MB RAM, 2 CPUs), remove the IDE controller, and add a second network adapter and set it to Bridged mode
* Launch the machine.
* It shows a hostname of NOCALL, it is possible to set a hostname using "W6GKD-astoria", like this, but this is the wrong thing. Instead run "/usr/local/bin/firstuse-setup W6GKD-astoria" and that will set the hostname and do other as-yet unspecified stuff. I chose the name based on their rules which say make the callsign all caps.
uci set system.@system[0].hostname='W6GKD-astoria'
uci commit system
/etc/init.d/system reload
*Reboot. This gets me some IP addresses in /etc/hosts. Funky ones.
*In the console, entered commands to set br-lan to DHCP and rebooted. That got me a usable IP address on my lan.
* Connected with password "hsmm" using ssh -p 2222 [email protected]
* Rebooted. Now there are services on port 80 and 8080 but not reachable (?).


==== Sorting out the networking ====
=== on a ProxMox Virtual Machine ===
Documentation on the network interfaces is here. [https://docs.arednmesh.org/en/latest/arednHow-toGuides/home-router-connection.html How to guides: Home Router]
I installed on [[Tern]] this because my travails on VirtualBox left me wondering what a supported install looked like.It was a hard fail because Proxmox would not work on this machine.
 
The crucial part I missed is that it sets up its '''WAN port''' as the place it will connect to your network. From its perspective this makes perfect sense. The AREDN network is the LAN and the outside world is the WAN. Well maybe that makes sense. I mean, my network is how it will reach the Internet. If I put a radio on one of its LAN ports, that's where the mesh network would be.
 
First network interface is now Host-only. I had top create an interface "VBoxManage hostonlyif create" because File->Preferences no longer has "Network" huh. '''STILL NO GO.''' Out of the (virtual!) box it supposedly has DHCP enabled on WAN. '''NOT ON the VM image!!''' I see only static entries in /etc/config/network.


=== on QEMU ===
=== on QEMU ===
Line 69: Line 48:
Learn more about networking: https://en.wikibooks.org/wiki/QEMU/Networking and here https://wiki.qemu.org/Features/HelperNetworking
Learn more about networking: https://en.wikibooks.org/wiki/QEMU/Networking and here https://wiki.qemu.org/Features/HelperNetworking


I don't remember VirtualBox being this hard, but it seems to be as hard as QEMU, really. Either I am losing my mind (yes, I am) or it's harder than it was in 2001 with VMWare. Ha ha ha.
I don't remember VirtualBox being this hard, but it seems to be as hard as QEMU, really. Either I am losing my mind (yes, I am) or it's harder than it was in 2001 with VMWare. Ha ha ha. No, further reading makes me conclude QEMU networking is too complicated for me.
 
Some random set up commands I tried before giving up.


  sudo chmod u+s /usr/lib/qemu/qemu-bridge-helper
  sudo chmod u+s /usr/lib/qemu/qemu-bridge-helper
Line 75: Line 56:
  echo "allow br0" | sudo tee /etc/qemu/bridge.conf
  echo "allow br0" | sudo tee /etc/qemu/bridge.conf


== Build your own ==
=== on a VirtualBox Virtual Machine ===
Installed VirtualBox on [[Murre]]. The release on Mint is a little outdated but I don't care right now. (7.0.22 vs 7.0.16)
sudo apt install virtualbox virtualbox-ext-pack virtualbox-guest-additions-iso virtualbox-guest-x11
Last week I started all these experiments by jumping straight in with the AREDN virtual image and got stuck with networking issues so I am backing off. Today I searched for courses in learning.acm.org and I am now taking one called "The Complete Ethical Hacking Course" which conveniently teaches networking and uses VirtualBox and [https://kali.org/ Kali Linux]. Perfect, I have wanted to look at Kali for a long time anyway.
 
==== Kali Linux VM ====
I downloaded the version they have available in VBOX format, all I had to do was extract the 7Z archive into ~/VirtualBox\ VMs/ and use the "add" option under Machine in the VirtualBox GUI. And hey guess what, with NAT networking it supports ping!
 
The ethical hacking class had me install Windows in a VM, too. I was going to, but the Microsoft virtual machine download site says "Due to ongoing technical issues, as of October 23, 2024, downloads are temporarily unavailable." '''WOW.''' I was able to download an ISO for Windows 10 (5.7GB) from https://www.microsoft.com/en-us/software-download/windows10ISO I think this is better anyway, theoretically 11 will not run on Murre anyway (that's why it runs Lnux Mint now).
 
==== Debian VM ====
Let's not download AGAIN, let's use the QEMU image.
 
qemu-img convert -f qcow2 debian-12-nocloud-amd64.qcow2 -O vdi ~/VirtualBox\ VMs/debian-12.vdi
 
==== AREDN VM ====
*Downloaded the x86 version from https://downloads.arednmesh.org/afs/www/ (look for "x86" in Model)
*Converted the img file to a vdi using VboxManage. Takes about a second with this command.
VBoxManage convertfromraw --format VDI aredn-3.24.10.0-x86-64-generic-ext4-combined.img aredn-3.24.10.0-x86-64-generic-ext4-combined.vdi
Converting from raw image file="aredn-3.24.10.0-x86-64-generic-ext4-combined.img" to file="aredn-3.24.10.0-x86-64-generic-ext4-combined.vdi"...
Creating dynamic image with size 126353408 bytes (121MB)...
* Create in a vbox machine (128MB RAM, 2 CPUs), remove the IDE controller, and add a second network adapter and set it to Bridged mode
* Launch the machine.
* It shows a hostname of NOCALL, it is possible to set a hostname using "W6GKD-astoria", like this, but this is the wrong thing. Instead run "/usr/local/bin/firstuse-setup W6GKD-astoria" and that will set the hostname and do other as-yet unspecified stuff. I chose the name based on their rules which say make the callsign all caps.
uci set system.@system[0].hostname='W6GKD-astoria'
uci commit system
/etc/init.d/system reload
*Reboot. This gets me some IP addresses in /etc/hosts. Funky ones.
*In the console, entered commands to set br-lan to DHCP and rebooted. That got me a usable IP address on my lan.
* Connected with password "hsmm" using ssh -p 2222 [email protected]
* Rebooted. Now there are services on port 80 and 8080 but not reachable (?).
 
==== Sorting out the networking ====
Documentation on the network interfaces is here. [https://docs.arednmesh.org/en/latest/arednHow-toGuides/home-router-connection.html How to guides: Home Router]
 
The crucial part I missed is that it sets up its '''WAN port''' as the place it will connect to your network. From its perspective this makes perfect sense. The AREDN network is the LAN and the outside world is the WAN. Well maybe that makes sense. I mean, my network is how it will reach the Internet. If I put a radio on one of its LAN ports, that's where the mesh network would be.
 
First network interface is now Host-only. I had top create an interface "VBoxManage hostonlyif create" because File->Preferences no longer has "Network" huh. '''STILL NO GO.''' Out of the (virtual!) box it supposedly has DHCP enabled on WAN. '''NOT ON the VM image!!''' I see only static entries in /etc/config/network.
 
== Build your own AREDN images ==
Source code is in github https://github.com/aredn/aredn
Source code is in github https://github.com/aredn/aredn


Line 81: Line 102:


== Resources ==
== Resources ==
Go to https://arednmesh.org/ for information on the big project; if you accidentally go to https://aredn.org/ you will see a long manifesto about trademarks, whew. Glad I missed all that.  
Go to https://arednmesh.org/ for information on the big project; if you accidentally go to https://aredn.org/ you will see a manifesto about trademarks, whew. Glad I missed all that. Reminds me of the Linux trademark kerfuffle.  


[[Category: Network]]
[[Category: Network]]
[[Category: Wireless]]
[[Category: Wireless]]

Latest revision as of 02:01, 14 December 2024

"Amateur Radio Emergency Digital Network" or some such. They pronounce this "ARRR DIN" like a pirate. I want to call it "ARR-AH-DIN". Too bad for me.

Main page is at https://arednmesh.org/

The nearest neighbor for me is the Willamette Valley Mesh Network.

Building an Internet-only node

Officially AREDN supports ProxMox (don't have one), VMWare and QEMU. Setting up to run in VirtualBox was easy enough, now I just have to sort the networking out.

ProxMox requires a separate PC that has a processor that can handle virtualization. I don't have one right now. My spare PC, Tern was not up to the task. Too puny. Ironic that setting up a separate PC is the way AREDN people choose to virtualize. Kind of misses the point. I could set up an OpenWRT box more easily.

QEMU can probably do EVERYTHING but it's too much work learning how to set up its networking.

VirtualBox... that's where I am now. The race is on. Which is easiest? Ha ha ha.

VMWare - there is supposedly a free version now but I don't like the licensing. VirtualBox (Oracle) is bad enough.

on a ProxMox Virtual Machine

I installed on Tern this because my travails on VirtualBox left me wondering what a supported install looked like.It was a hard fail because Proxmox would not work on this machine.

on QEMU

Just keep on trying. I already installed QEMU on Murre but now installing QEMU on Bellman. (Debian) (I figured I might as well get ready to test Raspberry Pi images too (arm))

sudo apt install qemu-system-x86 qemu-system-arm qemu-system-common

Here on Bellman I will be doing everything from the command line. I am fed up with the mysteries of the AREDN package so I am first going to load a Debian image (qemu RAW format) (or a qemu QCOW2 format). Then openwrt. Finally, AREDN.

qemu-system-x86_64 --enable-kvm -m 1G -smp 2 -hda debian-12-nocloud-amd64.qcow2 -nographic \
-netdev user,id=debnet -device e1000,netdev=debnet

Screenless options are explored here: https://stackoverflow.com/questions/6710555/how-to-use-qemu-to-run-a-non-gui-os-on-the-terminal The option"-nographic" works fine for me, I can see console output in my shell terminal window and just type away just like being there.

Log in as "root" (no password). There you go. When done, type "poweroff". Only but now you need networking which is the whole point, really. By default I can see "ip a" looks like there is a 10.x.x.x net on ens3. It works out of the box with NAT, I can do this from the guest

apt update
apt install ssh-client
ssh [email protected]
(base) bwilson@bellman:~$ who
bwilson  pts/0        2024-12-12 20:10 (192.168.123.99)
bwilson  pts/2        2024-12-12 20:25 (192.168.123.99)
bwilson  pts/3        2024-12-12 20:47 (192.168.123.2) <---------------- ta da

Note I cannot test with 'ping' because the default network interface does not support ICMP.

Well, if my goal for AREDN is to establish a tunnel to the mesh and not to bridge any traffic directly to the Internet, then I am probably all set. I can build a tunnel and ignore my local LAN. But.. but.. how do I use the node if I can't run any application locally? I mean, where does my meshphone plug in, for example? So I don't think I am done yet. I want to run an interface in bridged mode so it's a full-fledged member of my LAN.

QEMU Networking

Learn more about networking: https://en.wikibooks.org/wiki/QEMU/Networking and here https://wiki.qemu.org/Features/HelperNetworking

I don't remember VirtualBox being this hard, but it seems to be as hard as QEMU, really. Either I am losing my mind (yes, I am) or it's harder than it was in 2001 with VMWare. Ha ha ha. No, further reading makes me conclude QEMU networking is too complicated for me.

Some random set up commands I tried before giving up.

sudo chmod u+s /usr/lib/qemu/qemu-bridge-helper
sudo mkdir /etc/qemu
echo "allow br0" | sudo tee /etc/qemu/bridge.conf

on a VirtualBox Virtual Machine

Installed VirtualBox on Murre. The release on Mint is a little outdated but I don't care right now. (7.0.22 vs 7.0.16)

sudo apt install virtualbox virtualbox-ext-pack virtualbox-guest-additions-iso virtualbox-guest-x11

Last week I started all these experiments by jumping straight in with the AREDN virtual image and got stuck with networking issues so I am backing off. Today I searched for courses in learning.acm.org and I am now taking one called "The Complete Ethical Hacking Course" which conveniently teaches networking and uses VirtualBox and Kali Linux. Perfect, I have wanted to look at Kali for a long time anyway.

Kali Linux VM

I downloaded the version they have available in VBOX format, all I had to do was extract the 7Z archive into ~/VirtualBox\ VMs/ and use the "add" option under Machine in the VirtualBox GUI. And hey guess what, with NAT networking it supports ping!

The ethical hacking class had me install Windows in a VM, too. I was going to, but the Microsoft virtual machine download site says "Due to ongoing technical issues, as of October 23, 2024, downloads are temporarily unavailable." WOW. I was able to download an ISO for Windows 10 (5.7GB) from https://www.microsoft.com/en-us/software-download/windows10ISO I think this is better anyway, theoretically 11 will not run on Murre anyway (that's why it runs Lnux Mint now).

Debian VM

Let's not download AGAIN, let's use the QEMU image.

qemu-img convert -f qcow2 debian-12-nocloud-amd64.qcow2 -O vdi ~/VirtualBox\ VMs/debian-12.vdi

AREDN VM

VBoxManage convertfromraw --format VDI aredn-3.24.10.0-x86-64-generic-ext4-combined.img aredn-3.24.10.0-x86-64-generic-ext4-combined.vdi
Converting from raw image file="aredn-3.24.10.0-x86-64-generic-ext4-combined.img" to file="aredn-3.24.10.0-x86-64-generic-ext4-combined.vdi"...
Creating dynamic image with size 126353408 bytes (121MB)...
  • Create in a vbox machine (128MB RAM, 2 CPUs), remove the IDE controller, and add a second network adapter and set it to Bridged mode
  • Launch the machine.
  • It shows a hostname of NOCALL, it is possible to set a hostname using "W6GKD-astoria", like this, but this is the wrong thing. Instead run "/usr/local/bin/firstuse-setup W6GKD-astoria" and that will set the hostname and do other as-yet unspecified stuff. I chose the name based on their rules which say make the callsign all caps.
uci set system.@system[0].hostname='W6GKD-astoria'
uci commit system
/etc/init.d/system reload
  • Reboot. This gets me some IP addresses in /etc/hosts. Funky ones.
  • In the console, entered commands to set br-lan to DHCP and rebooted. That got me a usable IP address on my lan.
  • Connected with password "hsmm" using ssh -p 2222 [email protected]
  • Rebooted. Now there are services on port 80 and 8080 but not reachable (?).

Sorting out the networking

Documentation on the network interfaces is here. How to guides: Home Router

The crucial part I missed is that it sets up its WAN port as the place it will connect to your network. From its perspective this makes perfect sense. The AREDN network is the LAN and the outside world is the WAN. Well maybe that makes sense. I mean, my network is how it will reach the Internet. If I put a radio on one of its LAN ports, that's where the mesh network would be.

First network interface is now Host-only. I had top create an interface "VBoxManage hostonlyif create" because File->Preferences no longer has "Network" huh. STILL NO GO. Out of the (virtual!) box it supposedly has DHCP enabled on WAN. NOT ON the VM image!! I see only static entries in /etc/config/network.

Build your own AREDN images

Source code is in github https://github.com/aredn/aredn

I installed docker on Murre for this.

Resources

Go to https://arednmesh.org/ for information on the big project; if you accidentally go to https://aredn.org/ you will see a manifesto about trademarks, whew. Glad I missed all that. Reminds me of the Linux trademark kerfuffle.