View previous topic :: View next topic |
Author |
Message |
Gilbow n00b
Joined: 23 May 2004 Posts: 30 Location: Toulouse-France
|
Posted: Sun May 23, 2004 3:33 pm Post subject: [module ip_tables] partage de connection |
|
|
Salut
Je me bat depuis plus d'une semaine sur mon partage de connection.
J'ai une connection ADSL par modem USB, et je veux partager ma connection avec mon deuxieme PC (aussi sous Gentoo).
Au lancement de Shorewall, j'ai ça :
- modprobe : can't locate module ip_tables
- iptables v1.2.9 : can't initialize iptables table 'filter' : iptables who ? (do you need to insmod ?)
- Perhaps iptables or kernel needs to be upgraded.
Je suppose que mon probleme viens de l'absence du module ip_tables.
J'aimerais donc savoir quelle(s) option(s) du kernel genere le module ip_tables.
Merci _________________ Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes (nos amis les Shadoks) |
|
Back to top |
|
|
kernelsensei Bodhisattva
Joined: 22 Feb 2004 Posts: 5619 Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)
|
Posted: Sun May 23, 2004 3:43 pm Post subject: |
|
|
Je vais te donner la marche a suivre dans le 2.6 (les emplacements different un peu dans le 2.4)
Device Drivers -> Networking Support -> Networking Options -> :
[*] Network packet filtering (replaces ipchains) --->
Dedans t'as :
IP: Netfilter Configuration --->
tu rentres dedans et tu cherches pas trop comprendre, tu actives TOUT !
<*> Connection tracking (required for masq/NAT)
[...]
EDIT: Perso, j'ai tout en dur ! _________________ $ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join' |
|
Back to top |
|
|
titix Guru
Joined: 01 Nov 2003 Posts: 343 Location: Paris, France
|
Posted: Sun May 23, 2004 10:00 pm Post subject: |
|
|
Tout en module c'est pas plus mal :p mais l'important reste de tout ajouter. Après si tu est plus ou moins "novice" je te conseil de configurer ton iptable depuis webmin qui simplifie grandement le travail et te donne un meilleur aperçu qu'en ligne de commande surtout pour un partage de connexion qui peut nécessiter bon nombre de tentative avant d'aboutir à un succès. _________________ titix
« La route est longue... mais la voie est libre ! » |
|
Back to top |
|
|
Gilbow n00b
Joined: 23 May 2004 Posts: 30 Location: Toulouse-France
|
Posted: Mon May 24, 2004 11:56 am Post subject: |
|
|
Bien...
la solution de tout integrer dans le noyau a resolu mon probleme.
il ne me reste plus qu'a comprendre comment configurer shorewall.
merci encore. _________________ Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes (nos amis les Shadoks) |
|
Back to top |
|
|
kernelsensei Bodhisattva
Joined: 22 Feb 2004 Posts: 5619 Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)
|
Posted: Mon May 24, 2004 12:04 pm Post subject: |
|
|
De rien
shorewall je connais pas trop, mais de toute maniere ce ne sont que des front end a iptables ...
sur lea-linux.org ya un tuto iptables pas mauvais ... et comme a dit titix il y a aussi webmin (que je ne connais pas trop non plus ^^) _________________ $ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join' |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Tue May 25, 2004 9:48 am Post subject: |
|
|
Pour partager ta connexion c'est tout simple.
Tu dois l'autoriser en activant le forwarding dans le noyau :
echo 1 > /proc/sys/net/ipv4/ip_forward
Ensuite tu dois le dire à iptables :
echo 1 > /proc/sys/net/ipv4/ip_forward
Et enfin coté client :
route add default gw ip_de_votre_passerelle
Sans oublier de mettre les serveurs dns dans /etc/resolv.conf
EDIT : j'ai oublié de dire que tout çà est effacé lors du reboot coté client comme coté serveur. Un script au demarrage est donc très utile. |
|
Back to top |
|
|
Leander256 l33t
Joined: 05 Jul 2003 Posts: 910 Location: Singapour
|
Posted: Tue May 25, 2004 10:44 am Post subject: |
|
|
Pachacamac wrote: | Et enfin coté client :
route add default gw ip_de_votre_passerelle
Sans oublier de mettre les serveurs dns dans /etc/resolv.conf
EDIT : j'ai oublié de dire que tout çà est effacé lors du reboot coté client comme coté serveur. Un script au demarrage est donc très utile. |
Pour spécifier la passerelle proprement (à la gentoo donc), c'est dans le fichier /etc/conf.d/net:
Code: | # For setting the default gateway
#
gateway="eth0/192.168.0.128"
|
Pour iptables il faut voir avec le service iptables (donc dans /etc/init.d et /etc/conf.d). |
|
Back to top |
|
|
kernelsensei Bodhisattva
Joined: 22 Feb 2004 Posts: 5619 Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)
|
Posted: Tue May 25, 2004 11:18 am Post subject: |
|
|
Pachacamac wrote: | Pour partager ta connexion c'est tout simple.
Tu dois l'autoriser en activant le forwarding dans le noyau :
echo 1 > /proc/sys/net/ipv4/ip_forward
Ensuite tu dois le dire à iptables :
echo 1 > /proc/sys/net/ipv4/ip_forward
Et enfin coté client :
route add default gw ip_de_votre_passerelle
Sans oublier de mettre les serveurs dns dans /etc/resolv.conf
EDIT : j'ai oublié de dire que tout çà est effacé lors du reboot coté client comme coté serveur. Un script au demarrage est donc très utile. |
J'ai jamais fait de echo 1 > /proc/sys/net/ipv4/ip_forward et ca marche, c'est surement du a la solution plus propre a mon gout qui est :
Editer /etc/sysctl.conf et y mettre :
Code: |
net.ipv4.ip_forward = 1
|
_________________ $ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join' |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Tue May 25, 2004 3:08 pm Post subject: |
|
|
Je ne savais meme pas que /etc/sysctl.conf existait. Je vais voir ce qu'il contient. |
|
Back to top |
|
|
Gilbow n00b
Joined: 23 May 2004 Posts: 30 Location: Toulouse-France
|
Posted: Wed May 26, 2004 2:28 pm Post subject: |
|
|
Je pense que mon dernier probleme est le suivant.
Au lancement de Shorewall j'obtiens ca :
iptables: No chain/target/match by that name
et je ne sais pas d'ou ca vient....
Si vos lumieres pouvaient m'eclairer, je pourrais vous laisser un peu tranquille.
Merci d'avance. _________________ Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes (nos amis les Shadoks) |
|
Back to top |
|
|
kernelsensei Bodhisattva
Joined: 22 Feb 2004 Posts: 5619 Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)
|
Posted: Wed May 26, 2004 4:12 pm Post subject: |
|
|
habituellement iptables te sort ca quand tu lui passe une mauvaise chaine en argument ... (qui n'existe pas) _________________ $ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join' |
|
Back to top |
|
|
Gilbow n00b
Joined: 23 May 2004 Posts: 30 Location: Toulouse-France
|
Posted: Wed May 26, 2004 4:36 pm Post subject: |
|
|
je suis confus mais ca ne fais aps longtemps que je tripotte linux (gentoo en particulier). ce qui fait que j'ai pas trop compris ce que tu m'as dit.
quelques explications complementaires seraient les bienvenues...
A + _________________ Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes (nos amis les Shadoks) |
|
Back to top |
|
|
kernelsensei Bodhisattva
Joined: 22 Feb 2004 Posts: 5619 Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)
|
Posted: Wed May 26, 2004 4:41 pm Post subject: |
|
|
un exemple :
Code: |
iptables -A INPUT -i ppp0 -j ACCEPT
|
Fonctionne car la chaine INPUT existe
Maintenant :
Code: |
# iptables -A EXISTEPAS -i ppp0 -j ACCEPT
iptables: No chain/target/match by that name
|
Ne fonctionne pas car la chaine EXISTEPAS n'existe pas ! _________________ $ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join' |
|
Back to top |
|
|
Gilbow n00b
Joined: 23 May 2004 Posts: 30 Location: Toulouse-France
|
Posted: Wed May 26, 2004 5:05 pm Post subject: |
|
|
ca s'eclaircis...
mais je ne connait toujrous pas le processus qui appelle iptables avec des parametres inexistants...
je vais reprendre ma config de shorewall depuis le debut. je trouverais peut etre la solution...
Au courant, je te tiendrais. _________________ Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes (nos amis les Shadoks) |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Wed May 26, 2004 6:36 pm Post subject: |
|
|
Regarde la version d'iptables que tu as. Chez moi :
Code: | # iptables -V
iptables v1.2.9
|
|
|
Back to top |
|
|
Gilbow n00b
Joined: 23 May 2004 Posts: 30 Location: Toulouse-France
|
Posted: Wed May 26, 2004 8:10 pm Post subject: |
|
|
ma version de iptables
Code: |
# iptables -V
iptables v1.2.9
|
aussi, j'utilise un noyau "linux-2.4.26_pre6-gentoo", si ca peut aider. _________________ Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes (nos amis les Shadoks) |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Wed May 26, 2004 8:29 pm Post subject: |
|
|
D'apres moi tu n'a pas compiler tout ce qu'il faut pour autoriser iptables a faire du NAT.
Regarde bien si tu as dans ton noyau
Device Drivers --->
Networking support --->
Networking options --->
│ │ [*] TCP/IP networking │ │
│ │ [*] IP: multicasting │ │
│ │ [*] IP: advanced router │ │
│ │ [*] Network packet filtering (replaces ipchains) ---> │ │
│ │ IP: Netfilter Configuration ---> │ │
│ │ <*> Connection tracking (required for masq/NAT) │ │
│ │ <*> FTP protocol support │ │
│ │ <*> IP tables support (required for filtering/masq/NAT) │ │
│ │ <*> Packet filtering │ │
│ │ <*> REJECT target support │ │
│ │ <*> Full NAT │ │
│ │ <*> MASQUERADE target support │ │
│ │ <*> REDIRECT target support │ │
Voila, j'ai à peu près çà chez moi et çà roule.
EDIT : Chez moi je l'ai mis en dur mais si tu veux le mettre en module y'a aucun problème. |
|
Back to top |
|
|
Gilbow n00b
Joined: 23 May 2004 Posts: 30 Location: Toulouse-France
|
Posted: Thu May 27, 2004 11:19 am Post subject: |
|
|
apres avoir recompiler mon kernel avec les options manquantes, le resultat n'a pas change.
Le probleme ne pourrait pas venir d'iproute (j'utilise iproute2).
en attendant, je sens que je vais lacher lacher l'affaire, peut etre que dnas une semaine mon pc voudra bien marcher comme je le veux... je suis a court de patience.
A+ _________________ Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes (nos amis les Shadoks) |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Thu May 27, 2004 11:38 am Post subject: |
|
|
Je ne connais pas iproute, il faut que je regarde ce que c'est.
Là je vais faire un tour, je me pencherai sur çà ce soir.
Pourquoi tu n'utilise pas iptables ? |
|
Back to top |
|
|
Gilbow n00b
Joined: 23 May 2004 Posts: 30 Location: Toulouse-France
|
Posted: Thu May 27, 2004 12:49 pm Post subject: |
|
|
disons qu'on m'a conseille d'utiliser shorewall... alors, bete comme je suis , c'est ce que j'ai fais.
tout a l'heure j'ai appris par dela mes recherches, que je pouvais utiliser "simplement" iptables. (quand je dis simplement c'est pas que la syntaxe soit evidente et intuitive, mais que je contournerais peut etre mon probleme de shorewall.)
je suis en train de chercher des renseignements me permettant de configurer iptables a ma guise... j'ai trouver une page sur lea-linux qui me parait bien, mais je comprend tout de meme pas grand chose.
Si demain j'ai toujorus rien compris, je crirais "au secour"...
a demain.... lol _________________ Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes (nos amis les Shadoks) |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Thu May 27, 2004 4:41 pm Post subject: |
|
|
Tu as déjà tout ce qu'il te faut sur cette page pour configurer iptables.
Options du noyau + commandes à passer. Sers toi en, c'est là pour çà |
|
Back to top |
|
|
Gilbow n00b
Joined: 23 May 2004 Posts: 30 Location: Toulouse-France
|
Posted: Thu May 27, 2004 5:47 pm Post subject: |
|
|
J'ai recuperer ce qui m'interessait de la page de lea-linux (pour ne pas faire de pub).
Et j'avoue que mon partage marche impecable...
Ile me reste je crois qu'un seul probleme a regler (en en attendant d'autres.) qui consiste a permettre au firewall d'acceder a internet...
quand j'aurias compris comment on fais, je pense que j'aurias fais un tre grand pas dasn ce monde merveilleux qu'est celui de Linux.
voila mon script de regles pour les courageux...
Code: | #!/bin/sh
# Activation du forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Alors la, on va appliquer quelques astuces
# pour empêcher les attaques de type spoofing
# et bloquer les réponses ICMP du firewall,
# pas de spoofing
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
then
for filtre in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $filtre
done
fi
# pas de icmp
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Pour faire bien, on va vider toutes les règles
# avant d'appliquer les nouvelles règles de firewall
iptables -F
iptables -X
# On va rajouter 2 nouvelles chaînes.
# Ceci permettra d'ajouter des nouvelles cibles qui
# auront la possibilité de loguer ce qui se passe.
# La on logue et on refuse le paquet,
# on rajoute un préfixe pour pouvoir
# s'y retrouver dans les logs
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG \
--log-prefix '[IPTABLES DROP] : '
iptables -A LOG_DROP -j DROP
# ici, on logue et on accepte le paquet,
# on rajoute un préfixe pour pouvoir
# s'y retrouver dans les logs
iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG \
--log-prefix '[IPTABLES ACCEPT] : '
iptables -A LOG_ACCEPT -j ACCEPT
# On veut faire un firewall efficace,
# donc la politique a appliquer est de tout
# refuser par défaut et rajouter une a une
# les règles que l'on autorise.
# Bien sur, on a RTFM un peu et on a vu que
# l'option -P permet de définir
# la cible par défaut
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Pour éviter les problèmes, on va tout accepter sur
# la machine en local (interface lo).
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# il faut accepter que le proxy ait une connexion
# internet directe. Tant qu'à faire, on va
# mettre des états pour que ça soit bien sécurisé
iptables -A OUTPUT -o eth1 -m state \
--state NEW,ESTABLISHED -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth1 -m state \
--state ESTABLISHED -p tcp --sport 80 -j ACCEPT
# Permettre au LAN d'acceder au web
# Une règle de NAT suffira largement pour faire ça.
iptables -t nat -A PREROUTING -i eth1 -p tcp \
--dport 80 -j DNAT --to-destination 192.168.0.1:3128
# SSH interne au reseau
iptables -A INPUT -i eth0 -s 192.168.0.2 -m state \
--state NEW,ESTABLISHED -p tcp --dport 22 -j LOG_ACCEPT
iptables -A OUTPUT -o eth0 -d 192.168.0.2 -m state \
--state ESTABLISHED -p tcp --sport 22 -j LOG_ACCEPT
# On veut que le LAN connecté à l'interface
# eth0 ait un accès complet à internet
# qui est gerer par l'interface eth1
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -o eth0 -i eth1 -j ACCEPT
# Une petite règle de NAT avec un -j MASQUERADE
# suffira (masquerade = dialoguer avec l'adresse
# IP publique sur firewall)
iptables -t nat -A POSTROUTING \
-s 192.168.0.0/24 -j MASQUERADE
# Toutes les règles qui n'ont pas passé les
# règles du firewall seront refusées et loguées...
iptables -A FORWARD -j LOG_DROP
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP
# Pour faire zoli
echo " [Termine]"
|
_________________ Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes (nos amis les Shadoks) |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Thu May 27, 2004 6:24 pm Post subject: |
|
|
Hum çà ressemble à un copier coller
Pour que le firewall accède a internet ? J'ai pas compris mais si tu parle de configurer le parefeu pour permettre un acces à internet je vais te conseiller Léa que tu as l'air d'apprécier. |
|
Back to top |
|
|
Gilbow n00b
Joined: 23 May 2004 Posts: 30 Location: Toulouse-France
|
Posted: Thu May 27, 2004 7:02 pm Post subject: |
|
|
effectivement, ca ressemble bien a du copier-coller.
je n'ai aps encore eu le temps de me pencher sur la comprehension de ce que j'ai betement copier.
Je t'explique la situation : j'ai deux pc,
- le premier me sert de firewall, de station de dl, et autre msn...
- le second me sert a msn (surtout) mais aussi a taffer (un peu) , et jouer ... pourquoi pas.
quand iptables est charger, j'ai internet sur le second mais plus sur le premier... (et oui, ya du progres.) quand il n'y a aps de regles pour iptables, alors a situation est inversee (normal, iptables effectue le lien entre le reseau et internet et il n'y a pas de restriction...).
J'aimerais avoir iternet sur les deux pcs simultanement... _________________ Il vaut mieux mobiliser son intelligence sur des conneries que de mobiliser sa connerie sur des choses intelligentes (nos amis les Shadoks) |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Thu May 27, 2004 7:11 pm Post subject: |
|
|
T'as essayé de mettre les règles minimum pour iptables ?
En fait juste pour ton routage tu pe mettre dans le script :
Code: |
#!/bin/sh
# Activation du forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# pas de icmp
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Pour faire bien, on va vider toutes les règles
# avant d'appliquer les nouvelles règles de firewall
iptables -F
iptables -X
iptables -A POSTROUTING -t nat -o ppp0 -j MASQUERADE
# Pour faire zoli
echo " [Termine]" |
Voila, c'est tout simple et tes 2 ordis auront un accès simultané sur internet !
[EDIT] Ils n'y aura plus de protection par le parefeu avec ce script |
|
Back to top |
|
|
|