31/01/2010

Dnsmasq et le blocage de site

[ openwrt dnsmasq blocage ]

Pour faire suite à l'article sur le blocage de site paru dans le GLMF n° 124, je vous propose sa déclinaison OpenWRT.

/etc/config/dhcp:

config dnsmasq
    [ snip config ]
    list address '/ads.google.com/127.0.0.1'
    list address '/google-analytics.com/127.0.0.1'
    list address '/smartadserver.com/127.0.0.1'
    list address '/adsense.com/127.0.0.1'
    list address '/adsense.fr/127.0.0.1'
    list address '/doubleclick.net/127.0.0.1'

L'option address n'étant pas encore reconnue par le script d'init de dnsmasq (/etc/init.d/dnsmasq), on va lui rajouter une fonction et une ligne de commande supplémentaire.

OpenWRT 8.09 (et antérieur)

dhcp_address_add() {
    local cfg="$1"

    config_get address "$cfg" address
    for o in $address; do
            append args "--address=$o"
    done

}

start() {
    [ snip config_foreach ... ]
    config_foreach dhcp_address_add dnsmasq # appel de notre fonction

    /usr/sbin/dnsmasq $args && { 

OpenWRT 8.09.1 (et ultérieur)

append_address() {
    append args "--address=$1"
}

dnsmasq() {
    [ snip append ... ]
    config_list_foreach "$cfg" "server" append_server
    config_list_foreach "$cfg" "interface" append_interface
    config_list_foreach "$cfg" "address" append_address # appel de notre fonction
    append_parm "$cfg" "leasefile" "-l"
    ...

Et un restart plus tard:

dsx@linutop>host www.adsense.com
www.adsense.com has address 127.0.0.1
0 commentaire(s)

Nom :
URL (optionel) :
Écrire ici: "Je conchie sur les pourriels"
Commentaires :

Pages :