Forwarding IP au niveau noyau

Echangez vos avis, assistez-vous durant la configuration de vos matériels réseau. Ce forum vous permettra de faire partager vos expérience en matière de mise en place de matériel réseau, qu'il s'agisse de routeurs, switches, wireless ...

Modérateur: modos Ixus

Forwarding IP au niveau noyau

Messagepar evilangel » 01 Sep 2005 00:46

Salut à tous,

j'ai monté une passerelle sous Debian en me servant du tres bon tuto d'Alexis de Lattre:
http://people.via.ecp.fr/~alexis/format ... l#AEN10749

Il donne cet exemple pour activer le forward IP:
# L'interface "loopback"
auto lo
iface lo inet loopback
# Activation de la fonction de forwarding IP au niveau du noyau
up echo "1" > /proc/sys/net/ipv4/ip_forward


Chez moi, apres avoir redémarrer le réseau (/etc/init.d/networking restart), l'ip_forward était toujours positionné à 0.

Ce segment de script est-il correct ?

Finalement j'ai du forcer avec un
Code: Tout sélectionner
echo "1" > /proc/sys/net/ipv4/ip_forward
Avatar de l’utilisateur
evilangel
Aspirant
Aspirant
 
Messages: 118
Inscrit le: 31 Déc 2004 21:06
Localisation: Toulouse

Messagepar jdh » 01 Sep 2005 07:46

Oui, c'est correct. (Pourtant les lignes indiqués par Alexis sont correctes : pour vérifier, il faudrait plutôt faire "ifdown lo; ifup lo").

Comme firewall, je t'encourage à utiliser Shorewall (qui est, en fait, un générateur de scripts iptables). Sous Debian, c'est facile : apt-get install shorewall.

Après avoir récupéré une config (two-interfaces.tgz ou three-interfaces.tgz selon) sur le site http://www.shorewall.net (par wget), il reste à configurer (avec vi) :

- /etc/shorewall/interfaces
- /etc/shorewall/zones
- /etc/shorewall/masq
- /etc/shorewall/policy
- /etc/shorewall/shorewall.conf (pour IP_FORWARDING=On et non à Keep)
- /etc/shorewall/rules

Pour Debian, il te faudra de plus regarder /etc/default/shorewall.

Pour revenir à la doc d'Alexis qui est très bonne, j'utiliserais plutot "dnsmasq" que "bind" comme relais dns (ou cache dns). De plus ce (petit) paquet fournit un serveur dhcp de base qui simplifie la config des PC du réseau interne.
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar micjack » 01 Sep 2005 10:35

evilangel a écrit:Finalement j'ai du forcer avec un

Code: Tout sélectionner
echo "1" > /proc/sys/net/ipv4/ip_forward


Je te donne un exemple de ce que j'ai mis sur ma passerelle, et à mettre dans le rc.local qui est le script en fin de chargement... Ainsi, ces regles serront prises en charge apres les interfaces reseaux (logique)

echo 1 > /proc/sys/net/ipv4/ip_forward

Mais il ne faut pas oublier le MASQUERADE, si non cela ne fonctionnera pas (logique)
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Ce qui est super avec cette regle, c'est que tu peux autoriser que certaines ou une adresse à sortir sur le Net, genre

iptables -t nat -A POSTROUTING -s 192.168.1.4 -o ppp0 -j MASQUERADE

Seule, l'adresse 192.168.1.4 aurra l'autorisation d'utiliser la passerelle..
Autant de lignes que d'adresse ...etc

Apres, il est vrai qu'il est plus simple d'utiliser une distrib dediée qui fait tout cela tres bien et plus simplement..
micjack
Amiral
Amiral
 
Messages: 3113
Inscrit le: 06 Juin 2003 00:00
Localisation: Varois

Messagepar Franck78 » 01 Sep 2005 11:26

J'ai plutôt l'impression que Evilangel attend qu'on lui réponde que le "up" ne sert pas forcément. D'ailleurs c'est quoi cette commande "up" ?
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar jdh » 01 Sep 2005 11:36

"up" est un attribut situé dans le fichier /etc/network/interfaces.

Cet "attribut" d'une interface permet de lancer une commande automatiquement au démarrage de l'interface elle-même (via la cde "ifup").

L'intéret est de rassembler en un seul fichier tout ce qui est nécessaire aux interfaces.

Par exemple : eth1 permet d'accéder à un réseau via un routeur : on écrira :

iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0
up ip route add 10.10.10.0/24 via 192.168.2.253 dev eth1

(utilisation de la commande iproute "ip")

(Cf man interfaces)
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar Franck78 » 01 Sep 2005 12:21

Ce n'est donc pas un "segment de script" a propement parlé qui est présenté mais en fichier de config. Alors la question est pourquoi n'est-il pas utilisé bien qu'il n'y est pas d'erreur*...

*(je suppose le copié/coller exact)
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar jdh » 01 Sep 2005 12:40

C'est pourquoi je disais que c'était correct.

Peut-être faut-il mettre la ligne "up xxxxx" au niveau d'un "vraie" interface réseau (eth0 ou autres) ?

A noter que cela aurait pour mérite de ne pas avoir à modifier /etc/shorewall/shorewall.conf (ligne IP_FORWARDING=Keep).

A noter qu'il existe aussi "pre-up", "post-up", "down", "pre-down" ou encore "post-down"

Néanmoins c'est très pratique. Par exemple, je l'utilise pour lancer le pgm "wpa_supplicant" pour disposer du WPA pour une carte PCI sans fil.
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes


Retour vers Configuration matériel réseau

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité