Re: Iptable et ip dynamique

Page principale

Répondre à ce message
Auteur: Olivier Allard-Jacquin
Date:  
À: guilde
Sujet: Re: Iptable et ip dynamique
    Bonsoir,

david@??? a écrit :
> Bonjour à toutes et tous,
>
> J'ai un soucis sur un serveur SME7 (serveur/passerelle 2 cartes réseau 1 wan 1
> lan) avec l'ouverture de port.
> J'ai installé sur ce serveur un serveur vocal ventrilo qui tourne en service.
> Pas de soucis ca tourne bien, le serveur ventrilo est joignable depuis le lan!
>
> Pour le rendre accessible depuis le wan
>
> donc j'ai fait
> # db configuration set ventrilo service access public status enabled TCPPort
> 3784 UDPPort 3784
> # signal-event remoteaccess-update
>
> Après celà je redirige le port 3784 vers le serveur (via le server-manager)
> quand je fais:
>
> # iptables -L | grep 3784
> j'obtiens
>
> # ACCEPT     tcp  --  anywhere     AGrenoble-2X7-X-1XX-2X.w90-9.abo.wanadoo.fr
> tcp dpt:3784
> # ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:3784
> # ACCEPT     udp  --  anywhere     AGrenoble-2X7-X-1XX-2X.w90-9.abo.wanadoo.fr
> udp dpt:3784
> # ACCEPT     udp  --  anywhere             anywhere            udp dpt:3784 


    Tu n'es pas obligé de mettre ton adresse IP dans les règles "INPUT".
Aussi, si peux remplacer :


    iptables -A INPUT -d AGrenoble-2X7-X-1XX-2X.w90-9.abo.wanadoo.fr -p tcp
--dport 3784 -j ACCEPT


par :

    iptables -A INPUT -p tcp --dport 3784 -j ACCEPT


Mais cela n'est pas forcément très bon au niveau de la sécurité, car on
pourrait t'envoyer depuis Internet des paquets à destination de ton
adresse IP LAN (on appelle cela du spoofing).

A moins de rajouter au début de ton script quelque chose comme :
      for Filter in /proc/sys/net/ipv4/conf/*/rp_filter; do
        echo 1 > $Filter
      done


Enfin, dans tout les cas, il faudrait restreindre la règles iptables à
ton interface réseau LAN. Si nous supposons qu'elle s'appelle "ppp0",
cela donnerait :

    iptables -A INPUT -i ppp0 -p tcp --dport 3784 -j ACCEPT


    Mais à la vue de la suite de ton mail, je ne pense pas que ces
commandes te soient utiles, vu que SME a des programmes "tout fait" pour
gérer iptables/netfilter.


> C'est bon ca roule.
> Le soucis vient de mon changement d'ip (wanadoo 24h). quand l'ip change, le
> serveur sme s'adapte bien, la met à jour (client dyndns compris sur une sme) et
> le serveur reste accessible sur les ports (80, 21, 25, ...) sauf le port 3784
> qui prend alors le statut Stealth (testé depuis grc.com)
> Le serveur ventrilo est toujours eccessible depuis le lan mais plus depuis le wan
>
> Pour le faire fonctionner à nouveau je dois refaire
> # db configuration set ventrilo service access public status enabled TCPPort
> 3784 UDPPort 3784
> # signal-event remoteaccess-update


    Hummm, de ce que je comprend, cette commande est une spécificité de ton
serveur SME, non ?


> Une hypothèses émise sur la liste francophone de sme est qu'IPtable ne comprend
> pas les domaines mais uniquement les ip.


    Un petit tour sur mon site web
http://olivieraj.free.fr/fr/linux/information/firewall/ t'aidera à
comprendre ce qu'est iptables... ;)


    En fait, iptables fonctionne au niveau IP, voir au niveau des adresses
MAC de la couche réseau. Et pour faire simple, oui iptables ne s'amuse
pas à jouer avec les noms de domaines. Pour lui, tout est adresses IP.
Les noms de domaines, c'est juste bon pour les pauvres humains que nous
sommes... ;)


> Je viens vers vous pour essayer de trouver une solution en laissant ue fois pour
> toute le port 3784 ouvert.


    Pour faire simple, le problème vient de ta commande "db" qui utilise
l'adresse IP WAN de ta machine pour configurer iptables. En soit, ce
n'est pas une mauvaise chose. Le problème vient alors des changements
d'adresse IP de ta machine, que la fameuse commande "db" ne gère pas.


    On peut résoudre cela en un rien de temps.


    Ecrit un script, disons "firewall" qui lance les commandes "db" :


#!/bin/sh
db configuration set ventrilo service access public status enabled
TCPPort 3784 UDPPort 3784
signal-event remoteaccess-update


Puis, en fonction de la manière dont tu te connecte à Internet :
- si tu utilises "PPPoE" ou "PPPoA" (la commande "ifconfig | grep ppp"
te rendra quelque chose chose comme "ppp0 xxxxxxxxxx"), alors place ce
fichier dans /etc/ppp/ip-up/

- si au contraire tu utilises un démon DHCP, alors appelle ce fichier
/etc/dhclient-exit-hooks

    Puis, rend exécutable ce fichier :
    chmod +x xxxx


Cela permettra de relancer ce script, donc la configuration de ton FW, à
chaque changement d'adresse UP.

"man pppd" et "man dhclient-script" pour plus d'aide concernant le rôle
de ces fichiers.

> Par avance merci de votre aide


    De rien.


    Cordialement,


                            Olivier
-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
       /   / \  / \   \   Web:  http://olivieraj.free.fr/
      /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!