OPNsense
  • Home
  • Help
  • Search
  • Login
  • Register

  • OPNsense Forum »
  • International Forums »
  • German - Deutsch (Moderator: Patrick M. Hausen) »
  • Restart unbound-dns via commandline
« previous next »
  • Print
Pages: [1]

Author Topic: Restart unbound-dns via commandline  (Read 9406 times)

t0mc@

  • Newbie
  • *
  • Posts: 8
  • Karma: 0
    • View Profile
Restart unbound-dns via commandline
« on: December 30, 2017, 04:02:56 pm »
Hallo zusammen,

(wie) kann der unbound-dns service per commandline neu gestartet werden? Dieser wird ja nicht (mehr) per "systemctl" verwaltet, sondern wird über die Web-GUI per Klick neu gestartet.

Hintergrund:
Ich habe ein kleines Script geschrieben, welches eine unbound-dns Config Datei aus Online Quellen erstellt, um per DNS zentrales Ad-Blocking zu betreiben. Das funktioniert auch so, wie es soll.
Dieses Script soll nun per cron mehrmals am Tag aufgerufen werden um die geblockten Hosts aktuell zu halten. Damit die neu erstellte config im unbound-dns geladen wird, muß der Dienst neu gestartet werden. Die Config-Datei ist per "include: ..." in der Erweiterten Konfiguration des Unbound-DNS eingetragen.

Hat jmd. einen Tip?
Vielen Dank schon mal und viele Grüße
T0mc@
Logged

franco

  • Administrator
  • Hero Member
  • *****
  • Posts: 17703
  • Karma: 1616
    • View Profile
Re: Restart unbound-dns via commandline
« Reply #1 on: December 30, 2017, 07:48:11 pm »
Am besten über den Neustart des DNS-Subsystems:

# pluginctl dns


Grüsse
Franco
Logged

Micky

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 11
    • View Profile
Re: Restart unbound-dns via commandline
« Reply #2 on: December 30, 2017, 08:22:42 pm »
Hallo T0mc@,

wäre es möglich, dass du dein Skript posten könntest? Hab das Gleiche vor.

Danke und Grüße

M.
Logged

t0mc@

  • Newbie
  • *
  • Posts: 8
  • Karma: 0
    • View Profile
Re: Restart unbound-dns via commandline
« Reply #3 on: December 30, 2017, 09:00:26 pm »
Quote from: franco on December 30, 2017, 07:48:11 pm
Am besten über den Neustart des DNS-Subsystems:

# pluginctl dns


Grüsse
Franco
Hi Franco,

vielen Dank für den "Schubs", das scheint zu klappen. pluginctl kannte ich noch nicht, was genau macht das und gibt es noch optionen dafür? Ich kann nirgendwo ne Doku, man-page oder --help option dazu finden...
Logged

franco

  • Administrator
  • Hero Member
  • *****
  • Posts: 17703
  • Karma: 1616
    • View Profile
Re: Restart unbound-dns via commandline
« Reply #4 on: December 30, 2017, 09:02:05 pm »
Ist aktuell nur ein internes Tool mit dem man das Plugin-System teilweise konfigurieren kann. Wir denken noch über die mittelfristige Verwendung nach, daher auch keine Doku. So viele Anwendungsfälle gibt es noch nicht.


Grüsse
Franco
Logged

t0mc@

  • Newbie
  • *
  • Posts: 8
  • Karma: 0
    • View Profile
Re: Restart unbound-dns via commandline
« Reply #5 on: December 30, 2017, 09:07:35 pm »
Quote from: Micky on December 30, 2017, 08:22:42 pm
Hallo T0mc@,

wäre es möglich, dass du dein Skript posten könntest? Hab das Gleiche vor.

Danke und Grüße

M.
Hi Micky,

habe als "Anregung" das hier benutzt:

https://devinstechblog.com/block-ads-with-dns-in-opnsense/

Darin wird ein Shell - Script verlinkt, welches die unbound-config Datei auf Basis von Online Quellen erstellt.
Darin gibt es auch die Möglichkeit, per Whitelist diverse Ad - Hosts von der Aufnahme in die Blacklist auszuschließen, aber das hat bei mir irgendwie nicht richtig funktioniert. Daher habe ich das Very Quick and Dirty noch mal schnell in PHP geschrieben (kenne mich mit awk, welches im Shell Script benutzt wird, nicht wirklich gut aus):

Code: [Select]
<?php$blacklists=array('http://winhelp2002.mvps.org/hosts.txt','http://pgl.yoyo.org/as/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext','https://adaway.org/hosts.txt');$whitelist=array('cdn1.smartadserver.com','acdn.adnxs.com');$arHosts=array();$flHosts=fopen("/var/unbound/ad-blacklist.conf","w");$hosts=array();foreach($blacklists as $url) {        $hosts=array_merge($hosts,file($url));}foreach($hosts as $line) {        $arLine=explode(" ",trim($line));        if($arLine[0]=="127.0.0.1" || $arLine[0]=="0.0.0.0") {                $host=trim($arLine[1]);                if(!in_array($host,$whitelist) && !in_array($host,$arHosts) && $host!="") {                        $arHosts[]=$host;                        fwrite($flHosts,"server:\n");                        fwrite($flHosts,'local-data: "'.$host.' A 0.0.0.0"'."\n");                }        }}fclose($flHosts);?>


 

Logged

t0mc@

  • Newbie
  • *
  • Posts: 8
  • Karma: 0
    • View Profile
Re: Restart unbound-dns via commandline
« Reply #6 on: December 30, 2017, 09:08:53 pm »
Quote from: franco on December 30, 2017, 09:02:05 pm
Ist aktuell nur ein internes Tool mit dem man das Plugin-System teilweise konfigurieren kann. Wir denken noch über die mittelfristige Verwendung nach, daher auch keine Doku. So viele Anwendungsfälle gibt es noch nicht.


Grüsse
Franco
Alles klar, vielen Dank für die Erläuterung. D.h. das Teil startet (unter anderem) das genannte Plugin (in dem Fall DNS) neu, egal, ob es schon läuft?
Logged

franco

  • Administrator
  • Hero Member
  • *****
  • Posts: 17703
  • Karma: 1616
    • View Profile
Re: Restart unbound-dns via commandline
« Reply #7 on: December 30, 2017, 09:13:03 pm »
Ja, sauberer Neustart des Subsystems. Auch Dnsmasq und die Generierung der "hosts".
Logged

Evil_Sense

  • Full Member
  • ***
  • Posts: 112
  • Karma: 15
    • View Profile
Re: Restart unbound-dns via commandline
« Reply #8 on: April 07, 2018, 03:00:36 pm »
Ich habe dasselbe Shell Script im Einsatz und habe dafür eine Action geschrieben, um das Script per cron ausführen zu können.
Nun würde ich gerne den Neustart des DNS-Subsystems integrieren.. Am liebsten direkt in der action und im selben Block (update-hosts), notfalls angehängt am Script.

/usr/local/opnsense/service/conf/actions.d/actions_udapte-hosts.conf
Code: [Select]
[update-hosts]
command:/usr/home/update-hosts.sh
type:script_output
message:updating adblock file
description:Update adblock file

Logged

franco

  • Administrator
  • Hero Member
  • *****
  • Posts: 17703
  • Karma: 1616
    • View Profile
Re: Restart unbound-dns via commandline
« Reply #9 on: April 07, 2018, 05:18:04 pm »
command:/usr/home/update-hosts.sh;pluginctl dns


Grüsse
Franco
Logged

Evil_Sense

  • Full Member
  • ***
  • Posts: 112
  • Karma: 15
    • View Profile
Re: Restart unbound-dns via commandline
« Reply #10 on: April 09, 2018, 01:11:32 pm »
Danke Franco, dachte nicht, dass das so einfach wäre  ::) ;D

Gruss  :)
Logged

franco

  • Administrator
  • Hero Member
  • *****
  • Posts: 17703
  • Karma: 1616
    • View Profile
Re: Restart unbound-dns via commandline
« Reply #11 on: April 09, 2018, 01:54:13 pm »
Hehe, machmal schon :)


Grüsse
Franco
Logged

  • Print
Pages: [1]
« previous next »
  • OPNsense Forum »
  • International Forums »
  • German - Deutsch (Moderator: Patrick M. Hausen) »
  • Restart unbound-dns via commandline
 

OPNsense is an OSS project © Deciso B.V. 2015 - 2024 All rights reserved
  • SMF 2.0.19 | SMF © 2021, Simple Machines
    Privacy Policy
    | XHTML | RSS | WAP2