How do I install Pi-hole on a Synology NAS?


#21

Please note that I have modified some steps for cron as they weren’t loaded properly.


#22

I add to the white list of addresses that remains always block. And in the black list of addresses that it does not block.

https://github.com/pi-hole/pi-hole/issues/832


#23

Blacklist is used for blocking, whitelist for letting through.


#24

In the white list, the site of the “support.microsoft.com” don’t unlock this for example.


#25

Hi,

ty for your guide, i successfully installed pi-hole on my syno.

But i have a problem: every time i use the web admin page warn me about a available update.

I try to re-install or pihole -up but the warn still exist…

any tips? ty

edit: pihole -v:
::: Pi-hole version is (Latest version is v2.9.4a)
::: Web-Admin version is (Latest version is v1.4.3.1a)

ok found the solution: From /etc/.pihole do a git pull


#26

[…] Starting DNS forwarder and DHCP server: dnsmasq
dnsmasq: failed to create listening socket for port 53: Address already in use
failed!

plz. help


#27

plz read: already in use.
ie. there is a dns server running already.


#28

Not a linux buff in any sense and getting older so my patiance is very limited nowadays :slight_smile: but got this up and running on my Xpenology 5.xx and it is awsome!! Many thanks.

One note i would like to give to other noobs, is that i run in to error msg when installing and it was in regards to IP tables. I resolved it by adding a Firewall rule in Xpenology (through GUI). It had to do with that it needed a the files that are created when a firewall rule is set/created. By default Xpenology dosent have any rules aka the files where missing required by pi-hole. There probably are better ways of resolving this, but i’m lazy and dont mind “short cuts”.

Many thanks @bakman2 for this great tutorial!


#29

Followed the tutorial and have the admin page displayed in browser, but all graphics are empty. It appears I’m missing a most important file, namely /etc/pihole/setupVars.conf

I’ve run the install a few times but no change. Get error message when I run updateGravity manually too:

root@ruby:/# /usr/local/bin/pihole updateGravity
:::
::: WARNING: /etc/pihole/setupVars.conf missing. Possible installation failure.
::: Please run ‘pihole -r’, and choose the ‘reconfigure’ option to reconfigure.

Any ideas please?


#30

Seems the function configureFirewall() is failing in basic-install.sh

::: Configuring iptables for httpd and dnsmasq…
modprobe: ERROR: …/libkmod/libkmod.c:557 kmod_search_moddep() could not open moddep file ‘/lib/modules/3.2.40/modules.dep.bin’
iptables v1.4.21: can’t initialize iptables table `filter’: Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.


#31

So this line appears to be failing on my setup:

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

I do not have the firewall enabled on my synology. In DSM (security > firewall) setting is unchecked.


#32

from which prompt are you running your commands ?
Clearly pihole has not been installed properly, i would recommend to go into chroot and run the install again.


#33

I’m running from chroot prompt. The basic-install.sh script is erroring out when attempting to add entries to iptables. I commented out that part of the basic-install.sh script (configureFirewall) so the script ran through to completion, and I’ve a working installation now. :slight_smile:


#34

Great tutorial thank you.
How do you update Pi-hole on synology?


#35

Hi all,

Great tutorial! For the time being everything working perfectly except the white&black listing option in the admin webpage. I can add any server from terminal, but not from web…any clue?

My config:

DS213j
DSM 6.0.2-8451 Update 5
php 7.0 (beta) & 5.6 (beta) installed.


#36

Hi bakman2, great tutorial…
I tried to run it on dsm6 (6.0.2 update 5), but dns is not reachable from other client.
I discovered that if I uninstall docker and I disable “Open vSwitch” pihole/dns start to work…
So there’s some problem with open vSwitch… I tried to let it enabled, but also if I select “ovs_eth0 (and not eth0)” as interface during pihole setup, the dns doesn’t work.
I thing that some type of port forward or port map is required… in fact, when using docker, you need to setup port forward if u want to access, for example, a web server in a container…
I don’t use docker, so I turned off open vSwitch and pihole is working again…

Thanks
ema


#37

Got the same problem. Tried to reinstall and uninstall multiple times

the result of install.log is
cat install.log
::: Checking if user ‘pihole’ exists…
::: User ‘pihole’ already exists
:::
::: Installing scripts to /opt/pihole… done.
:::
::: Installing configs…
::: Existing dnsmasq.conf found… it is from a previous pi-hole install.
::: Backing up dnsmasq.conf to dnsmasq.conf.orig… done.
::: Restoring default dnsmasq.conf… done.
::: Copying 01-pihole.conf to /etc/dnsmasq.d/01-pihole.conf… done.
:::
::: Creating log file and changing owner to dnsmasq… already exists!
:::
::: Installing pihole custom index page… Existing page detected, not overwriting
::: Installing sudoer file… done!
:::
::: Installing latest Cron script… done!
::: Configuring iptables for httpd and dnsmasq…

Any help is appreciated.

Regards
Mikkel


#38

Did you try the reconfigure option?

pihole -r


#39

Yup, that didn’t work either… I think there is a problem with setup because port 80 is already occupied…

I tried to install a fresh Ubuntu server and install PiHole here -and then copy the content of /etc/pihole to the Synology box, and then configure setupVars.conf with interface and ipaddress…

It seems to work… so I’ll give it a few days of testing :slight_smile:
Thanks for your effort

regards
Mikkel


#40

As i mentioned

The Pi-hole webserver runs on port 80, which is usually already occupied by the webserver, so we need to modify the webserver config:
nano /etc/lighttpd/lighttpd.conf
modify server.port = xxxx to a suitable port (higher than 1023) ctrl+x to save