Components
- Mikrotik router with USB port - I tested on RB2011UiAS-2HnD-IN and hAP ac models
- RouterOS in modern version - I tested with long term (6.44.6)
- Raspberry Pi Zero - I use old one without "W", with 4GB microSD card running latest Raspbian 10 Buster (minimal, without GUI!)
- Short micro-USB data cable - because many cheap cables don't do data
Pi Zero actually has more than enough power to run Pi-hole serving even quite large home/family network and running it completely self-contained off Mikrotik seems to work great!
Initial setup
- Download and burn the latest Raspbian onto the SD card - I used for this Etcher and 2019-09-26-raspbian-buster-lite.img
- Connect SD card to a PC and in partition called boot edit two files to enable Ethernet gadget:
- config.txt - at the very end of the file add a line saying dtoverlay=dwc2
- cmdline.txt - add modules-load=dwc2,g_ether directly after 'rootwait' and before any other parameters that may (or not) be there
- Boot up RPi powering from PC using the port marked as USB on the board - not the PWR IN; it's the one in the centre - only that one does power + gadget
- After all boots up, you should be able to run ssh pi@raspberrypi.local (thanks mDNS!) with password raspberry
- On the RPi create file called /etc/modprobe.d/g_ether.conf with the following content (single line of text)
options g_ether idVendor=0x05ac idProduct=0x1402 iProduct=Pi0 iManufacturer=Raspberry
NOTE - This is required for RPi to show up as LTE interface on Mikrotik!