Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 28-02-2017 13:30:47

Stevanovich
Membre
Lieu : RENNES
Inscription : 15-02-2017

Paramétrage iptables pour domain.local avec avahi-daemon

Bonjour,
Exposé de mon problème :
Matériel : Orange Pi zero
J'ai créé un hotspot wifi sans pont réseau . (iptables et dnsmasq)

ETH0 est connecté au réseau et à ma box "freebox" (ip dhcp)
WLAN0 me permet de connecter mes téléphones et autres périphériques avec leur propres plages IP.
Edit:J'ai créé un domain.local sur mon Orange Pi Zero : domain.local, que je veux rendre accessible depuis le WLAN et sur le ETH0


Mon PC1 connecté sur le LAN (ETH) accède bien à domain.local
Mon PC2 connecté au WLAN0 n'accède pas à domain.local

J'ai autorisé le port 5353 suivant les règles suivantes:


# allow AVAHI in, on $WLAN
iptables -A INPUT -i $WLAN0 -p udp -m udp --dport 5353 -j ACCEPT
iptables -A INPUT -i $ETH0 -p udp -m udp --dport 5353 -j ACCEPT
 



Aurais-je oublié quelque chose ?
Quelles sont les règles à établir pour accéder à mon domain.local depuis tous les ports ETH et WLAN ?

Merci à vous !

Dernière modification par Stevanovich (28-02-2017 22:06:50)


PC de dev : Xubuntu 16.04 -
Domotique : Raspberry 3b  / Orange Pi Zero / Arduino
Serveur : Synology DS209+

Hors ligne

#2 28-02-2017 14:56:14

raleur
Membre
Inscription : 03-10-2014

Re : Paramétrage iptables pour domain.local avec avahi-daemon

Je ne pense pas que le multicast DNS puisse traverser un routeur à moins qu'il ait été spécifiquement configuré pour.
D'autre part, si les paquets multicast sont routés (et non relayés), il passent dans la chaîne FORWARD et non INPUT.

EDIT : Si tu utilises iptables pour faire du SNAT/MASQUERADE, le NAT ne marche pas avec les paquets multicast.

Dernière modification par raleur (28-02-2017 15:07:10)

Hors ligne

#3 28-02-2017 21:10:40

numa
Membre
Distrib. : Debian 8 - Fedora
(G)UI : Gnome
Inscription : 27-10-2016

Re : Paramétrage iptables pour domain.local avec avahi-daemon

Je suis d'accord avec raleur.

Avahi pourrait te servir si le partage était sur ton Pi (ta passerelle) ou si tu voulais atteindre un ressource depuis ton Pi.

En l'état, je ne pense pas non plus que la découverte réseau puisse fonctionner entre deux réseau différents...

Hors ligne

#4 28-02-2017 22:11:10

Stevanovich
Membre
Lieu : RENNES
Inscription : 15-02-2017

Re : Paramétrage iptables pour domain.local avec avahi-daemon

@raleur
@numa

Merci à vous, je me suis surement mal exprimé, ou je n'ai pas bien compris les réponses, (ou les deux lol )
@numa : Oui, Je précise que le domain.local se situe sur le PI
Edit:J'ai créé un domain.local sur mon Orange Pi Zero : domain.local, que je veux rendre accessible depuis le WLAN et sur le ETH0

Je trouverai étrange que l'on puisse pinger domain.local sur ETH0 , mais pas sur WLAN0 ... ne faudrait-il pas mettre lo dans iptables ?

Merci

Dernière modification par Stevanovich (28-02-2017 22:12:12)


PC de dev : Xubuntu 16.04 -
Domotique : Raspberry 3b  / Orange Pi Zero / Arduino
Serveur : Synology DS209+

Hors ligne

#5 01-03-2017 00:25:08

numa
Membre
Distrib. : Debian 8 - Fedora
(G)UI : Gnome
Inscription : 27-10-2016

Re : Paramétrage iptables pour domain.local avec avahi-daemon

Salut,

Si tu nous expliquais ce que tu veux réellement faire ça serait peut-être plus simple.

Là tu nous parles d'un ping (protocole icmp) vers domain.local (qui doit donc pointer sur un Ip... si tu le ping) tout ça en faisant référence à des règles de filtrages sur de l'UDP... j'en perd mon latin lol

Mais ça vient peut-être de moi tongue

Hors ligne

#6 01-03-2017 00:56:50

Stevanovich
Membre
Lieu : RENNES
Inscription : 15-02-2017

Re : Paramétrage iptables pour domain.local avec avahi-daemon

@numa
Oui, la plus grand difficulté des néophytes (moi inclus) est de réussir à exprimer clairement et de façon limpide ce que l'on cherche à faire , en employant à tort des termes informatiques utilisé dans le language commun  ... ops.gif

Donc, J'ai installé une appli web sur mon Orange PI Zero (php + mysql) adressée sur le port 8080 .
j'y accède par http:\\192.168.0.53\controleparental:8080

Je souhaite, plutot que de tapper l'IP, y accedder par http:\\patrol.zone\controlparental:8080
Avec un hostname qui sera patrol.zone

Pourquoi ?
Car, je souhaite effectuer des essais un peu partout, donc j'emmène mon ptit bidule chez pierre paul jacques,
je le branche sur un port ethernet, et je sais que j'y accès par :

http:\\patrol.zone\controlparental:8080


Maintenant, pourquoi mon bazard avec le wifi ?
Pareil, j'ai créér un wifi avec un mot de passe à moi, je me branche sur la box de mon pote en ethernet , et je fais ce que je veux, avec son accord, bien entendu big_smile
Mes enfants ont tous internet , et je me prends la tete sur ce qu'ils pourront voir ...ou acceder .

Donc, dans avahi j'ai modifié ça :


[server]
host-name=patrol
domain-name=zone
#browse-domains=0pointer.de, zeroconf.org
use-ipv4=yes
use-ipv6=yes
allow-interfaces=eth0,wlan0
#deny-interfaces=eth1
#check-response-ttl=no
#use-iff-running=no
#enable-dbus=yes
#disallow-other-stacks=no
#allow-point-to-point=no
#cache-entries-max=4096
#clients-max=4096
#objects-per-client-max=1024
#entries-per-entry-group-max=32
ratelimit-interval-usec=1000000
ratelimit-burst=1000

[wide-area]
enable-wide-area=yes

[publish]
#disable-publishing=no
#disable-user-service-publishing=no
#add-service-cookie=no
#publish-addresses=yes
#publish-hinfo=yes
#publish-workstation=yes
#publish-domain=yes
#publish-dns-servers=192.168.50.1, 192.168.50.2
#publish-resolv-conf-dns-servers=yes
#publish-aaaa-on-ipv4=yes
#publish-a-on-ipv6=no

[reflector]
enable-reflector=no
reflect-ipv=no

[rlimits]
#rlimit-as=
rlimit-core=0
rlimit-data=4194304
rlimit-fsize=0
rlimit-nofile=768
rlimit-stack=4194304
rlimit-nproc=3

 



J'ai entré ça dans iptables:


  # reset firewall rules
  iptables -F; iptables -X; iptables -P INPUT DROP; iptables -P OUTPUT ACCEPT; iptables -P FORWARD DROP
  # allow loopback
  iptables -A INPUT -i lo -j ACCEPT; iptables -A OUTPUT -o lo -j ACCEPT
  # allow already established connections on eth0 (useful for SSH)
  iptables -A INPUT -i $ETH_IN -m state --state RELATED,ESTABLISHED -j ACCEPT
  # Allow ping on $ETH_IN & $WLAN
  iptables -A INPUT -i $ETH_IN -p icmp -m icmp --icmp-type 8 -j ACCEPT
  iptables -A INPUT -i $WLAN -p icmp -m icmp --icmp-type 8 -j ACCEPT
  iptables -A FORWARD -i $WLAN -o $ETH_IN -p icmp -m icmp --icmp-type 8 -j ACCEPT

  # allow SSH in, on $ETH_IN  & $WLAN
  iptables -A INPUT -i $ETH_IN -p tcp -m tcp --dport 22 -j ACCEPT
  iptables -A INPUT -i $WLAN -p tcp -m tcp --dport 22 -j ACCEPT


  # allow HTTP in, on $ETH_IN  & WLAN
  iptables -A INPUT -i $ETH_IN -p tcp -m tcp --dport 80 -j ACCEPT
  iptables -A INPUT -i $WLAN -p tcp -m tcp --dport 80 -j ACCEPT

  # allow DNS in, on $WLAN
  iptables -A INPUT -i $WLAN -p udp -m udp --dport 53 -j ACCEPT
  #iptables -A INPUT -i $WLAN -p tcp -m tcp --dport 53 -j ACCEPT
  iptables -A INPUT -i $ETH_IN -p udp -m udp --dport 53 -j ACCEPT
  #iptables -A INPUT -i $ETH_IN -p tcp -m tcp --dport 53 -j ACCEPT



  # allow DHCP in, on $WLAN
  iptables -A INPUT -i $WLAN -p udp -m udp --dport 67 -j ACCEPT
  # allow patrolzone in, on $WLAN & ETH
  iptables -A INPUT -i $WLAN -p tcp -m tcp --dport 8080 -j ACCEPT
  iptables -A INPUT -i $ETH_IN -p tcp -m tcp --dport 8080 -j ACCEPT

  # allow Avahi-Deamon in, on $WLAN & ETH
  iptables -A INPUT -i $WLAN -p udp -m udp --dport 5353 -j ACCEPT
  iptables -A INPUT -i $ETH_IN -p udp -m udp --dport 5353 -j ACCEPT


  # packet forwarding
  sysctl net.ipv4.ip_forward=1
  iptables -t nat -A POSTROUTING -o $ETH_IN -j MASQUERADE
  iptables -A FORWARD -i $ETH_IN -o $WLAN -m state --state RELATED,ESTABLISHED -j ACCEPT

  # allow HTTP and HTTPS to be forwarded
  iptables -A FORWARD -i $WLAN -o $ETH_IN -p tcp -m tcp --dport 80 -j ACCEPT
  iptables -A FORWARD -i $WLAN -o $ETH_IN -p tcp -m tcp --dport 443 -j ACCEPT

 




Donc, je ping patrol.zone pour tester .... et ça ping pas scratchhead.gif

Par contre www.google.fr fonctionne sur wlan0  et eth0 (ben oui lui c'est normal hi hi hi )
Et donc patrolzone.local (Qui sera patrol.zone) ,le ping fonctionne uniquement sur le eth0 et depuis un pc linux, pas android, et pas windows ...
patrolezone.local est défini par hostname (pour l'instant)

L'outil Angry IP Scanner affiche correctement "patrol.zone" ... mais pas patrolzone.local ... crash.gif

Merci pour votre patience mrgreen.gif

Dernière modification par Stevanovich (01-03-2017 01:00:32)


PC de dev : Xubuntu 16.04 -
Domotique : Raspberry 3b  / Orange Pi Zero / Arduino
Serveur : Synology DS209+

Hors ligne

#7 01-03-2017 01:05:47

Stevanovich
Membre
Lieu : RENNES
Inscription : 15-02-2017

Re : Paramétrage iptables pour domain.local avec avahi-daemon

En me relisant  .... je me dis ... finalement c'est pas plus claire ...
J'arrive à pinger le hostname , mais uniquement par le phériphérique linux connecté sur le port eth0.
Je n'arrive pas à pinger ce qui est défini par avahi, mais c'est visible par l'outil angry ip scanner.
.....
Je vais au dodo .
A demain , et merci.

PC de dev : Xubuntu 16.04 -
Domotique : Raspberry 3b  / Orange Pi Zero / Arduino
Serveur : Synology DS209+

Hors ligne

#8 01-03-2017 01:57:21

numa
Membre
Distrib. : Debian 8 - Fedora
(G)UI : Gnome
Inscription : 27-10-2016

Re : Paramétrage iptables pour domain.local avec avahi-daemon

Stevanovich a écrit :

En me relisant  .... je me dis ... finalement c'est pas plus claire ...


MDR, c'est pas faux big_smile


Edite ton fichier /etc/nsswitch.conf et vérifie que la ligne hosts se termine bien par mdns4 sinon ajoute le :

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4



Jamais testé mais ça à l'air d'être récurrent comme pb.

https://wiki.archlinux.fr/Avahi
(quand même, il est bien ce wiki... même si je ne comprends pas toujours tout ce que j'y lis lol)

Dernière modification par numa (01-03-2017 02:10:36)

Hors ligne

#9 02-03-2017 20:14:42

Stevanovich
Membre
Lieu : RENNES
Inscription : 15-02-2017

Re : Paramétrage iptables pour domain.local avec avahi-daemon

Bon voici un premier constat :
Dans /etc/hosts


127.0.0.1   localhost orangepizero
::1         localhost orangepizero ip6-localhost ip6-loopback
fe00::0     ip6-localnet
ff00::0     ip6-mcastprefix
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters
127.0.0.1   bid-serv5
127.0.0.1   bid-serv5.local
 




Fichier /etc/nsswitch.conf


# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat
gshadow:        files

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

 




fichier /etc/avahi/avahi-daemon.conf


# See avahi-daemon.conf(5) for more information on this configuration
# file!

[server]
host-name=bid-serv2
#domain-name=local
#browse-domains=0pointer.de, zeroconf.org
use-ipv4=yes
use-ipv6=yes
allow-interfaces=wlan0,eth0
#deny-interfaces=eth1
#check-response-ttl=no
#use-iff-running=no
#enable-dbus=yes
#disallow-other-stacks=no
#allow-point-to-point=no
#cache-entries-max=4096
#clients-max=4096
#objects-per-client-max=1024
#entries-per-entry-group-max=32
ratelimit-interval-usec=1000000
ratelimit-burst=1000

[wide-area]
enable-wide-area=yes

[publish]
#disable-publishing=no
#disable-user-service-publishing=no
#add-service-cookie=no
#publish-addresses=yes
#publish-hinfo=yes
#publish-workstation=yes
#publish-domain=yes
#publish-dns-servers=192.168.50.1, 192.168.50.2
#publish-resolv-conf-dns-servers=yes
#publish-aaaa-on-ipv4=yes
#publish-a-on-ipv6=no

[reflector]
#enable-reflector=no
#reflect-ipv=no

 



Fichier


# This file is part of avahi.
#
# avahi is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# avahi is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with avahi; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.

# This file contains static ip address <-> host name mappings.  These
# can be useful to publish services on behalf of a non-avahi enabled
# device. Please bear in mind that host names are expected to be
# fully qualified domain names, i.e. ending in .local!

# See avahi.hosts(5) for more information on this configuration file!

# Examples:
# 192.168.0.1 router.local
# 2001::81:1 test.local
127.0.0.1 bid-serv3.local
#ip du wlan0
192.168.42.1 bid-serv4.local

 





Depuis mon android , connecté sur le eth0 : Rien
Depuis mon android , connecté sur le wlan0 : http - rien
ping bid-serv5.local résolu, pingé
ping bid-serv5 résolu, pingé

Depuis mon pc linux , http bid-serv2.local resolu.
ping bid-serv2.local résolu, pingé
ping bid-serv3.local résolu, pingé
ping bid-serv4.local résolu, NON pingé (plages différentes)



Depuis windows , rien, de rien

Je vais continuer mes recherches pour comprendre le mécanisme hostname , et pourquoi dans certains cas c'est hostname qui répond et pourquoi dans d'autres c'est avahi ...
Je pensais que c'était une histoire de ports ouverts 5353 pour avahi et 53 pour le dns .
iptables semble etre paramétré de façon identique pour ces ports.
Je reste désapointé scratchhead.gif

Mais .... je l'aurais !


PC de dev : Xubuntu 16.04 -
Domotique : Raspberry 3b  / Orange Pi Zero / Arduino
Serveur : Synology DS209+

Hors ligne

Pied de page des forums