UDM-Pro mit public IP-Range

Die UniFi Dream Machine Pro von Ubiquiti ist an und für sich ein schönes Gerät, will man damit aber etwas professioneller unterwegs sein, zB mit einer public IP-Range ohne NAT, so wirkt die Firmware noch unausgereift und man muss derzeit noch zu Tricks greifen.

Folgend die Notizen wie man NAT deaktivieren kann, getestet mit Firmware 1.8.5.

VORSICHT: Nachdem NAT deaktiviert wurde, steht euer PC öffentlich im WAN! Tut folgendes nur wenn Ihr wisst was Ihr macht.

Als erstes erstellen wir ein VLAN mit der ersten public-IP die wir via PPPoE erhalten. Dies kann noch über das WEB-GUI gemacht werden. Nach Lust und Laune kann hier auch noch ein DHCP-Server eingerichtet werden.

Nun verbinden wir via SSH auf die UDM-Pro und starten eine Shell:

ssh root@<ip-adresse der UDM-Pro>
# unifi-os shell

Und laden ein Paket welches uns erlaubt, ein Script persistent zu speichern nach dem Reboot der UDM-Pro auszuführen (evtl. auf neue Version prüfen):

root@ubnt:/# curl -L https://raw.githubusercontent.com/boostchicken/udm-utilities/master/on-boot-script/packages/udm-boot_1.0.2_all.deb -o udm-boot_1.0.2_all.deb
root@ubnt:/# dpkg -i udm-boot_1.0.2_all.deb
root@ubnt:/# exit

Danch kontrollieren welches unsere Firewall-Regel ist welche NAT macht:

# xtables-multi iptables -t nat -L UBIOS_POSTROUTING_USER_HOOK -v --line-number
 Chain UBIOS_POSTROUTING_USER_HOOK (1 references)
 num   pkts bytes target     prot opt in     out     source               destination         
 1     1873  154K MASQUERADE  all  --  any    ppp0    anywhere             anywhere             /* 00000001095216660481 / 2        1   264 MASQUERADE  all  --  any    eth9    anywhere             anywhere             / 00000001095216660482 */

In meinem Fall ist es die erste Regel mit dem out-interface ppp0.
Diese müssen wir nun löschen mit einem Script, welches auch nach einem Reboot die NAT-Regel wieder entfernt. Zuerst erstellen wir das File:

cd /mnt/data/on_boot.d/
vi disable_nat.sh

Dann brauchen wir folgenden Inhalt der die Regel löscht. Falls es bei euch eine andere Regel-Nr. ist, einfach die Zahl am Ende anpassen. Bei mir ist es Regel Nr. 1:

#!/bin/sh
xtables-multi iptables -t nat -D UBIOS_POSTROUTING_USER_HOOK 1

Die Datei speichern und dann noch ausführbar machen:

# chmod +x disable_nat.sh

Nun kann man das z.B mal von Hand ausführen und kontrollieren:

# ./disable_nat.sh
# xtables-multi iptables -t nat -L UBIOS_POSTROUTING_USER_HOOK -v --line-number
 Chain UBIOS_POSTROUTING_USER_HOOK (1 references)
 num   pkts bytes target     prot opt in     out     source               destination         
 1        1   264 MASQUERADE  all  --  any    eth9    anywhere             anywhere             /* 00000001095216660482 */

Wie man sieht, ist nun nur noch die zweite Regel vorhanden resp. hat den Platz der ersten Regel eingenommen. Ab sofort ist NAT deaktiviert.

Hat man nur ein VLAN auf welchem man NAT deaktivieren will, kann man evtl. mit den in/out Interfaces spielen. Ich habe das nicht getestet.

Phoniebox

Ich habe unserer Tochter zu Weihnachten eine Phoniebox gebaut. Grundsätzlich findet man alle nötigen Informationen auf der Webseite der Phoniebox, ich beschreibe hier rudimentär die Schritte die ich gemacht habe und die verwendete Hardware. Die Front wurde gefräst, der Rahmen vom OLED-Display mit PLA gedruckt und die Symbole gelasert, alles mit dem Snapmaker 2.0 A350.

Hardwareliste:

Raspberry Pi 3 Model B Rev 1.2
SanDisk 32GB SD Card
Raspberry Pi 3 GPIO expansion board
LED-Arcade Buttons (nicht verwendet)
1.3″ 4-Pin I2C OLED 128X64 mit sh1106 Controller
125kHz RFID Karten
RFID Reader EM4100/Tk400 125kHz
USB Buchse
EARU On/Off Schalter
HifiBerry MiniAMP
Pimoroni OnOff SHIM
Speedlink Twoxo Speaker
Trust Urban Primo PowerBank 10’000mAh
Dragan von IKEA
Östernäs von IKEA
EC11 Rotary Encoder als Lautstärkeregler
TTP223 Touch Sensoren als Bedienelemente

Continue reading Phoniebox

Amiga 2000 mit TerribleFire 534

Ich habe dem Amiga eine TerribleFire 534 gegönnt. Damit hat er statt den originalen 7 MHz nun 33 MHz und zusätzliche 4MB FastRAM. Zusätzlich habe ich noch von HDD auf CF-Karte gewechselt. Nun läuft alles ein bisschen runder und Programme die vorher nicht von der CF-Karte gestartet werden konnten wegen zu wenig RAM, laufen nun problemlos.

Die TerribleFire wird auf das A2000 Relocator-Board gesetzt, dieses wird dann in den CPU-Slot auf dem Mainboard gesteckt. Die Original-CPU wird dabei vom Sockel entfernt.

TerribleFire 534 with A2000 relocator board

Hier der Speedtest mit SYSINFO im Originalzustand. Wir sind bei 0.74 MFlops, dies entspricht genau dem A2000.

SYSINFO without TerribleFire

Hier der Speedtest mit der TerribleFire, wir sind nun bei 6.54 MFlops. Auch hat die CPU nun eine MMU und FPU welche u.A. auch für WHDLoad benötigt werden. In der heutigen Zeit sind diese Zahlen ein Witz, aber für den Amiga sind das Welten 🙂

SYSINFO with TerribleFire

Es gibt die TerribleFire auch noch mit 40MHz und 50MHz, die waren mir aber zu teuer. Ausserdem hatte ich die Befürchtung dass einige Anwendungen damit nicht mehr klar kommen könnten.

OSX: Don’t ask always for ssh passphrase

Copy your private key to ~/.ssh/

chmod a-r id_rsa
chmod u+r id_rsa


Permissions should read:

.ssh directory: 700 (drwx------)
public key (.pub file): 644 (-rw-r--r--)
private key ( id_rsa ): 600 (-rw-------)

To save the passphrase in the keychain type:

ssh-add -K ~/.ssh/id_rsa

Enter your passphrase.

To tell the ssh agent to use your key from the keychain, create the file ~/.ssh/config and put this in it:

Host *
 UseKeychain yes
 AddKeysToAgent yes
 IdentityFile ~/.ssh/your_id_rsa
 IdentityFile ~/.ssh/your_id_rsa2 (if you have multiple)

Download Youtube content with youtube-dl


Example for OSX:

Make a new directory:

mkdir youtube-dl
cd youtube-dl

Install the python-tool youtube-dl:

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o youtube-dl

To convert audio to mp3, you need ffmpeg:

wget https://evermeet.cx/ffmpeg/ffmpeg-4.2.2.zip
unzip ffmpeg-4.2.2.zip

Create a bash script which saves audio to mp3, with this you don’t have to remember the parameters:

vi youtube-dl-mp3.sh

Content:

#!/bin/bash
./youtube-dl --ffmpeg-location ./ffmpeg -x --audio-format mp3 $1

Save it with :x! and make it executable:

chmod +x youtube-dl-mp3.sh

Now you can let the magic begin by executing this script and give the youtube shortcode as parameter:

./youtube-dl-mp3.sh dQw4w9WgXcQ
 dQw4w9WgXcQ: Downloading webpage
[download] Destination: Rick Astley - Never Gonna Give You Up (Video)-dQw4w9WgXcQ.webm
[download] 100% of 3.28MiB in 00:00
[ffmpeg] Destination: Rick Astley - Never Gonna Give You Up (Video)-dQw4w9WgXcQ.mp3
Deleting original file Rick Astley - Never Gonna Give You Up (Video)-dQw4w9WgXcQ.webm (pass -k to keep)

Now we have an mp3 called:
“Rick Astley – Never Gonna Give You Up (Video)-dQw4w9WgXcQ.mp3”

If you want the complete video, just start:

./youtube-dl dQw4w9WgXcQ

See also the thousands of other options with:

./youtube-dl --help