Jump to content

Archived

This topic is now archived and is closed to further replies.

ssc37

Probleme avec IPTABLES

Recommended Posts

Coucou :D

Bon voila mon soucis j'ai ma passerelle avec sur eth0 mon modem adsl et eth1 mon reseau.

J'ai sur mon poste windows emule kademlia sur port udp 6429 et impossible d'etre en open alors que mon modem branché direct sur mon xp ca passe nikel :oops:

pour le moment mes regles sont de bases car je debute dans les firewall donc j'ai le strict minimum..

voici ce que j'avais mis au debut:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p udp eth0 --dport 6429 -j DNAT --to 192.168.1.2

mais toujours en firewalled :boulet:

apres j'ai rajouté ca penseant que ca pourait aider

iptables -A FORWARD -i eth0 -o eth1 -p upd --dport 6429 -j ACCEPT

mais toujours aucaun changement :byebye:

Donc si quelqu'un voit le soucis :transpi:

Share this post


Link to post
Share on other sites
iptables -t nat -A PREROUTING -p udp eth0 --dport 6429 -j DNAT --to 192.168.1.2

export IPT="/sbin/iptables"
export WAN="eth0"

$IPT --table nat --append PREROUTING --in-interface $WAN --protocol udp \
--destination-port 6429 --jump DNAT --to-destination 192.168.1.2

T'avais oublié le "-i" pour l'interface, et puis le manuel parle pas du raccourci "--to" pour "--to-destination"

(T'as pas de messages d'erreurs en executant ton script firewall? O_o)

(Je peux pas te dire si ça suffit, j'ai encore jamais fais de réseau, ni de partage de connexion :D)

Share this post


Link to post
Share on other sites

ton modem est un ethernet ??? ( bridge ou routeur ?? )

fait un ifconfig

sachant que normalement si tu es en bridge, tu devrais avoir une interafce ppp0

Share this post


Link to post
Share on other sites

C'est un routeur bewan cx :byebye:

et pour mon soucis j'ai trouvé quelquechose qui fonctionne apres plusieurs heures de recherche sur google mais niveau securité on oublie...

RESEAU_VERT="192.168.1.0/24"
INTERFACE_ROUGE="eth0"


iptables -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT


iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT


iptables -t nat -A POSTROUTING -s $RESEAU_VERT -o $INTERFACE_ROUGE -j MASQUERADE

iptables -t nat -A PREROUTING -p tcp -m multiport --dport 6419 -j DNAT --to 192.168.1.2:6419
iptables -t nat -A PREROUTING -p udp -m multiport --dport 6429 -j DNAT --to 192.168.1.2:6429

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

Quel est la ligne la dedans qui fait que ca passe comparé à ce que j'avais fait? :D

Share this post


Link to post
Share on other sites

quand tu ajoute une règle de SNAT ou de DNAT, ça n'ajoute pas implicitement la règle de forward

ton iptables -P FORWARD ACCEPT, par contre, autorise tout le forward ...

Share this post


Link to post
Share on other sites

Humm pourtant ceci devrait bien forwardé mes paquets udp non? :francais:

iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 6429 -j ACCEPT

Share this post


Link to post
Share on other sites

dans les deux cas d'un NAT, il faut faire attention parceque la règle s'applique avant ou après l'opération. Si tu as translaté l'adresse avant le forward, il faut appliquer la règle à la nouvelle adresse.

http://www.netfilter.org/documentation/HOW...ng-HOWTO-6.html

du coup àa me fait penser qu'il ne faut pas modifier ta règles forward mais bien te règle input ou output (selon que tu DNAT ou SNAT)

Share this post


Link to post
Share on other sites

je vais etre un peu embetant mais plus precisement ca donne quoi? :francais:

Je crois que je peux encore me plonger dans mes bouquins :fumer:

Share this post


Link to post
Share on other sites

Bon avec un peu de lecture si j'ai bien compris: comme j'ai fait ma translation avant mes regles de forward

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

il faudrait que dans mes regles de forward je mette l'adresse de l'interface connecté au net c'est bien ca? :fumer:

Enfin le plus simple c'est de faire la translation à la fin

Share this post


Link to post
Share on other sites

heu en fait je crois qu'il a un truc que je pige pas :eeek2:

si ton modem est routeur, que vient faire ici Linux ????

Ta passerrelle linux te sert strictement à rien puisque tu configures tout sur le routeur hard qui est ton modem ( PAT )

tu as besoin d'une passerelle linux seulement si ton modem est ethernet ou usb qu'il n'a pas les fonctions de routeur ( comme mon modem contrend), et à ce moment la passerrelle linux sert de routeur...

fait nous un ifconfig, et si tu as un ppp0 qui apparait, alors ton modem ne fait pas routeur, ou il est pas configuré

edit

en fait si ton modem est en mode routeur tu devrais avoir un réseau de ce type

prise téléphone <--> modem adsl / routeur <--> swith :/ hub <--> et sur chaque prise du switch un pc

et donc ton windows xp n'a pas besoin de linux, et donc la configuration se fait sur ton modem adsl....

Share this post


Link to post
Share on other sites

Tu n'es pas un boulet :transpi: mon modem fait bien routeur et le schema reseau que tu montre je le conais par coeur suis pas un boulet non plus quoi que... :eeek2: Le reseau que je me fais est pour m'apprendre le reseau sous linux avec le partage de connexion et firewall. Avoir un routeur en effet ne necessite pas de passerelle mais moi je veux faire du firewalling pour m'entrainer et comprendre :transpi:

Puisque tu veux mon ifconfig le voila:

eth0      Link encap:Ethernet  HWaddr 00:80:5F:7D:09:34
         inet addr:213.101.215.47  Bcast:255.255.255.255  Mask:255.255.255.0
         inet6 addr: fe80::280:5fff:fe7d:934/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1303347 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1330556 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:523074472 (498.8 MiB)  TX bytes:634277910 (604.8 MiB)
         Interrupt:11 Base address:0x1020

eth1      Link encap:Ethernet  HWaddr 00:40:05:2D:B1:E3
         inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
         inet6 addr: fe80::240:5ff:fe2d:b1e3/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1305585 errors:0 dropped:1 overruns:0 frame:0
         TX packets:1230391 errors:29 dropped:0 overruns:0 carrier:58
         collisions:15179 txqueuelen:1000
         RX bytes:629529256 (600.3 MiB)  TX bytes:515663154 (491.7 MiB)
         Interrupt:11 Base address:0x1080

avec sur eth0 mon modem-routeur en dhcp

et sur eth1 mon reseau local

sinon j'ai pris un script ou j'ai changé quelques petites choses et ca fonctionne donc c'est cool :transpi: mais qui peut m'expliquer le coup de la partie LOCAL-INTERNET, le but et ses fonctions? :postsinutiles:

	############################### START #######################################

firewall_start() {

echo "[Démarrage du firewall]"

############################### REGLES PAR DEFAUT ###########################

echo "[Initialisation de la table filter]"
iptables -F
iptables -X

echo "[Politique par défaut de la table filter]"

# On ignore tout ce qui entre ou transite  par la passerelle
iptables -P INPUT DROP
iptables -P FORWARD DROP

# On accepte, ce qui sort
iptables -P OUTPUT ACCEPT

# Pour éviter les mauvaises suprises, on va
# autoriser l'accès à la loopback, c'est vital !
iptables -A INPUT  -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

############################### LOCAL-INTERNET ###########################

echo "[On autorise les clients à accéder à internet ]"

#On créé une nouvelle chaîne, le nom est indifférent
# appelons-la "local-internet"
iptables -N local-internet

# On définit le profil de ceux qui appartiendront à "local-internet"
# "local-internet" concerne toutes les connections sauf celles venant d'internet ( ! = non)
# En gros avec ça, vous rendez, vos serveurs inaccessibles depuis internet.
# Pas de panique, certains serveurs seront autorisés explicitement dans la suite.
iptables -A local-internet -m state --state NEW -i ! ppp0 -j ACCEPT

#Evidemment, une fois acceptées comme "local-internet", les connections peuvent continuer
# et faire des petits :-)
iptables -A local-internet -m state --state ESTABLISHED,RELATED -j ACCEPT

# On termine en indiquant que les connections appartenant à "local-internet"
# accèdent à internet de manière transparente.
iptables -A INPUT -j local-internet
iptables -A FORWARD -j local-internet


############################### LES TABLES NAT ET MANGLE #############################

echo "[Initialisation des tables nat]"

iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

####################################### FORWARDING ##########################################

iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 6429 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -m multiport --dport 6419 -j DNAT --to 192.168.1.2:6419 
iptables -t nat -A PREROUTING -p udp -m multiport --dport 6429 -j DNAT --to 192.168.1.2:6429

#################################### LE MASQUERADING ########################################

# Commentez ces 2 lignes, si vous ne faîtes pas du masquerading (nat)
echo "[Mise en place du masquerading]"

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

################################# ACTIVATION DE LA PASSERELLE ##################

echo "[Activation de la passerelle]"
echo 1 > /proc/sys/net/ipv4/ip_forward

################################# PAS DE SPOOFING ############################

echo "[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 SYNFLOOD ####################

echo "[Pas de synflood]"
if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then
 echo 1 > /proc/sys/net/ipv4/tcp_syncookies
fi

################################## PAS DE PING ###############################

# commentez ces 6 lignes, si vous autorisez les pings sur votre passerelle
echo "[Pas ping]"
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ]; then
 echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
fi

############################ Fonctionnalités serveurs #####################################

echo "[Etude des fonctionalités serveurs, visibles depuis internet ]"

# A ce stade, tous vos clients du réseau local et de la passerelle ont accès à internet. Mieux,
# vos clients du réseau local, ont accès à vos serveurs apache, proftp ... localement. Mais personne
# depuis internet ne peux accéder à l'un des serveurs que vous hébergés.

# Il est bien-sûr possible de dévérrouiller pontuellement l'accès à un serveur depuis internet,
# en décommentant les 2 ou 3 lignes correspondantes.

#echo "[autorisation du serveur ssh(22) ...]"
iptables -A INPUT -p tcp --dport ssh -j ACCEPT

#echo "[autorisation du serveur smtp(25) ...]"
#iptables -A INPUT -p tcp --dport smtp -j ACCEPT

#echo "[autorisation du serveur http(80) ...]"
#iptables -A INPUT -p tcp --dport www -j ACCEPT

#echo "[autorisation du serveur https(443) ...]"
#iptables -A INPUT -p tcp --dport https -j ACCEPT

#echo "[autorisation du serveur DNS(53) ...]"
#iptables -A INPUT -p udp --dport domain -j ACCEPT
#iptables -A INPUT -p tcp --dport domain -j ACCEPT

#echo "[autorisation du serveur irc(6667) ...]"
#iptables -A INPUT -p tcp --dport ircd -j ACCEPT

#echo "[autorisation du serveur cvs (2401) ...]"
#iptables -A INPUT -p tcp --dport cvspserver -j ACCEPT

#echo "[autorisation du serveur FTP(21 et 20) ...]"
#iptables -A INPUT -p tcp --dport ftp -j ACCEPT
#iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT

#echo "[autorisation d'Emule(6419 et 6429) ...]"
iptables -A INPUT -p tcp --dport 6419 -j ACCEPT
iptables -A INPUT -p udp --dport 6429 -j ACCEPT

# Ne pas décommenter les 3 lignes qui suivent.
# Plus généralement :
#echo "[autorisation du serveur Mon_truc(10584) ...]"
#iptables -A INPUT -p tcp --dport 10584 -j ACCEPT

echo "[firewall activé !]"


#############################################################################

############################## START-STOP-RESTART ###########################

}

firewall_stop() {


iptables -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT


echo " [firewall descativé! ]"
}

firewall_restart() {
 	firewall_stop
 	sleep 2
 	firewall_start
}

case "$1" in
'start')
   firewall_start
 ;;
'stop')
   firewall_stop
 ;;
'restart')
   firewall_restart
 ;;
'status')
   iptables -L
     iptables -t nat -L
 iptables -t mangle -L
 ;;
*)
     echo "Usage: firewall {start|stop|restart|status}"
esac



################################ FIN #########################################

Share this post


Link to post
Share on other sites
Tu n'es pas un boulet :transpi: mon modem fait bien routeur et le schema reseau que tu montre je le conais par coeur suis pas un boulet non plus quoi que... :eeek2: Le reseau que je me fais est pour m'apprendre le reseau sous linux avec le partage de connexion et firewall. Avoir un routeur en effet ne necessite pas de passerelle mais moi je veux faire du firewalling pour m'entrainer et comprendre :transpi:

:postsinutiles:

Quand on tente des trucs, c'est mieux de regarder la doc sur le net, quand même...

RTFM & STFW

http://www.netfilter.org/documentation/

si tu trouve pas ton bonheur là dedans...

Share this post


Link to post
Share on other sites

Ca te generait de m'expliquer ou sont mes erreurs au lieu de me traiter de boulet et de me refiler un link genre " tiens demerde toi" !!!?

Il est ecris en Haut: Si tu ne sais pas : demande, si tu sais : partage ! et pas "Ici de superbes liens que vous pouvez trouvez dans Google!"

C'est bizzard j'avais un vague souvenir qu'a l'école on me refilais pas juste des bouts de papier à lire mais qu'on m'expliquais ce que je ne comprenais pas....... !!! :eeek2:

Share this post


Link to post
Share on other sites

Disons que c'est juste que en général, je connais rarement la réponse aux questions...

Alors je vais sur google, je tape la question telle quelle, je chope un des premiers liens, je lis une minute, et voilà, j'ai la réponse...

En général, quand j'essaie d'apprendre quelque chose, c'est pas pour me retrouver avec un script qui marche, mais auque je ne comprends rien, mais bel et bien de pouvoir en refaire par la suite...

La partie que tu indique est exactement le principe de iptables, et en 2 minutes de lecture, je sais déjà ce que cela fait...

C'est juste dommage que tu ne t'intéresse pas plus...

"iptables -N local-internet"

Créer une nouvelle chaine (qui s'appelera local-internet)

"iptables -A local-internet -m state --state NEW -i ! ppp0 -j ACCEPT"

"iptable -A local-internet" ajoute une règle à la chaine ...

"-m state" dit de charger le module "state"

"--state NEW" dit de contrôler les nouvelles connections

"-i ! ppp0" dit de regarder que celles qui ne viennent pas d'internet (donc déjà là c pas bon pour toi, vu que c'est eth1)

"-j ACCEPT" dit d'accepter de packet

"iptables -A local-internet -m state --state ESTABLISHED,RELATED -j ACCEPT"

le début est identique, sauf que là, on accepte automatiquement les connections déjà établies

"iptables -A INPUT -j local-internet"

"iptables -A FORWARD -j local-internet"

on dit à INPUT et FORWARD d'aller vers "local-internet"

Share this post


Link to post
Share on other sites

en effet pour le ppp0 moi c'est eth1 j'ai zappé ce point la...

Sinon justement j'essai de comprendre mais la je me demandais le but de creer une chaine.. le reste je le comprend à peu pres.

Et si je comprend ce que tu viens de me dire ca veut dire que les ports demandés par les connections venant du reseau local passent et l'input et le forward aussi si c'est une connection deja etablie ou une reponse

Donc en gros je devrais pouvoir enlever ca non?:

iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 6429 -j ACCEPT

Share this post


Link to post
Share on other sites
en effet pour le ppp0 moi c'est eth1 j'ai zappé ce point la...

Sinon justement j'essai de comprendre mais la je me demandais le but de creer une chaine.. le reste je le comprend à peu pres.

Et si je comprend ce que tu viens de me dire ca veut dire que les ports demandés par les connections venant du reseau local passent et l'input et le forward aussi si c'est une connection deja etablie ou une reponse

Donc en gros je devrais pouvoir enlever ca non?:

iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 6429 -j ACCEPT

à priori, oui...

ça ne te coûte rien d'essayer :pastaper:

Share this post


Link to post
Share on other sites
213.101.215.47

c'est ça l'adresse que te donne ton routeur :pastaper:

elle est bizarre :keskidit:

sutout que

traceroute 213.101.215.47

traceroute to 213.101.215.47 (213.101.215.47), 30 hops max, 38 byte packets

1  netserver (192.168.0.1)  0.460 ms  0.304 ms  0.226 ms

2  84.98.19.1 (84.98.19.1)  62.476 ms  77.534 ms  62.724 ms

3  173-201-118-80.kaptech.net (80.118.201.173)  59.891 ms  122.763 ms  63.225 ms

4  V4094.cbv1-co-1.gaoland.net (62.39.148.1)  227.444 ms *  61.497 ms

5  swipnet-tele2.FreeIX.net (213.228.3.183)  65.487 ms  62.348 ms  63.506 ms

6  par1-core.pos12-0.swip.net (130.244.218.1)  76.470 ms  105.303 ms  98.128 ms 7  130.244.193.66 (130.244.193.66)  80.381 ms  62.561 ms  69.100 ms

8  d213-101-215-47.cust.tele2.fr (213.101.215.47)  125.582 ms  262.608 ms  241.627 ms

on tombe sur l'adresse de tele2 :keskidit: ( d'où provient ta connexion )

par conséquent je ne pense pas que ton modem soit en routeur dans l'exmeple que tu as donné, sinon le dhcp donne normalement une adresse ip local ( 192.x.x.x ou 10.x.x.x ) comme le ferait un routeur sous linux ....

c'est pour ça que je trouve ça bizarre, et je pense que ta connexion est en bridged plutôt qu'en routeur, et que ta carte réseau ethernet ait l'adresse ip de tele2 me choque :keskidit:

parce qeu j'ai moi par exemple

eth1      Lien encap:Ethernet  HWaddr 00:A0:C9:CC:3E:CC 

          adr inet6: fe80::2a0:c9ff:fecc:3ecc/64 Scope:Lien

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:385332 errors:46 dropped:0 overruns:0 frame:46

          TX packets:435962 errors:0 dropped:0 overruns:0 carrier:0

          collisions:3115 lg file transmission:1000

          RX bytes:92603982 (88.3 MiB)  TX bytes:111928397 (106.7 MiB)

ppp0      Lien encap:Protocole Point-à-Point 

          inet adr:84.98.19.168  P-t-P:84.98.19.1  Masque:255.255.255.255

          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1

          RX packets:384503 errors:0 dropped:0 overruns:0 frame:0

          TX packets:435051 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 lg file transmission:3

          RX bytes:84088448 (80.1 MiB)  TX bytes:102329589 (97.5 MiB)

parce qeu chez moi mon modem est branché sur la carte réseau eth1, mais l'ip sortante n'est pas directement sur la carte réseau :mdr: , mais sur ppp0

c'est bizarre :keskidit:

Share this post


Link to post
Share on other sites

pour te repondre la configuration de ce modem est un vrai casse tet pour faire ce que tu veux :pastaper: en fait le bewan cx est en faite un aztech DSL305E. Le routeur par default fait du nat et mapp les ports et tu es obligé de configurer à lamain les ports à mapper et moi j'ai envie de controler ce que je veux à partir de mon firewall seul.Et la seul solution solution que j'ai trouvé c'est d'activé le half-bridge et d'enlever le nat.Lorsque je fais ca mon roteur je peux le pinger par 192.168.0.1 mais il attribue automatiquement en dhcp l'adresse qu'il lui est fourni

Bref c'est un vrai casse tete si tu veux pas garder le mappage :keskidit:

Share this post


Link to post
Share on other sites

La semaine priochaine je posterai mon article sur la securite. Dans la config de iptables qui a ete presentee ici, il y a un gros pb de conception au niveau de la securite : Vous acceptez tous par defaut, et vous refusez certains paquets. C'est le contraire qu'il faut appliquer, absolument rien laisser passer, ni forwarder, ni nater, et specifier explicitement par la suite ce que chaque connxion( adresse ip ) a le droit de faire. Et de decider de les forwardere et nater ou non.

De plus, un ip conntrack a ete evoque ici mais pas utilise de maniere tres judicieuse, et il est possible pour qq'un qui connait bien la securite reseau de passer a travers le firewall decrit ici. Il manque une gestion du suivi de connexion, pour s'assurer que les seuls paquets du reseau qui rentrent sont des paquets qui viennent en reponse des paquets emis depuis le reseau local...

Share this post


Link to post
Share on other sites
Vous acceptez tous par defaut, et vous refusez certains paquets.

:baton:

c pas moi, j'ai rien fait!

J'ai lu 2 minutes la doc d'iptables...mais je pense qu'il vaut mieux tout empêcher et rajouter des trucs ensuite...

Share this post


Link to post
Share on other sites
pour te repondre la configuration de ce modem est un vrai casse tet pour faire ce que tu veux :baton: en fait le bewan cx est en faite un aztech DSL305E. Le routeur par default fait du nat et mapp les ports et tu es obligé de configurer à lamain les ports à mapper et moi j'ai envie de controler ce que je veux à partir de mon firewall seul.Et la seul solution solution que j'ai trouvé c'est d'activé le half-bridge et d'enlever le nat.Lorsque je fais ca mon roteur je peux le pinger par 192.168.0.1 mais il attribue automatiquement en dhcp l'adresse qu'il lui est fourni

Bref c'est un vrai casse tete si tu veux pas garder le mappage :yes:

ok je comprends mieux :transpi: , ce'st à cause du half bridge :transpi:

bizarre ce modem :incline:

le tout c'ets que ça marche

Share this post


Link to post
Share on other sites

Pour info, la machine 213.101.215.47 n'a pas de firwall, ou en a un inexistant.... de plus, c'est une machine microsoft, 8 ports ouverts dont des tres critiques.... :nonnon: attention donc !

Share this post


Link to post
Share on other sites

J'adore les gens qui s'y conaisse :mdr:

c'est bien ca à part que je fonctionne avec le script qui est dans le topic donc je me dis "quel class ca protege rien lol" :roll:

Share this post


Link to post
Share on other sites

voici un exemple de script tout simple pour un lan 192.168.1.0 pour sortir sur un =modem ppp0, je ferai un article detaille plus tard.

#!/bin/sh

#

#-----------------------------------

#

#  Initialization

# by default, everything is dropped

#-----------------------------------

iptables -t filter -F

iptables -t filter -X

iptables -t filter -P INPUT DROP

iptables -t filter -P OUTPUT DROP

iptables -t filter -P FORWARD DROP

#--------------------

#

#  Loopback

#

#--------------------

iptables -t filter -A OUTPUT -o lo -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

iptables -t filter -A INPUT  -i lo -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

#------------------------

#

#  Local Area Network

#  everything is allowed

#------------------------

iptables -t filter -A OUTPUT -o eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -j ACCEPT

iptables -t filter -A INPUT  -i eth0 -s 192.168.1.0/24 -d 0.0.0.0/0 -j ACCEPT

#------------------------------------------

# HTTP (80/TCP)

# HTTPS (443/TCP)

#------------------------------------------

# connexions sortantes

iptables -t filter -A OUTPUT -o ppp0 -s 192.168.1.0/24 -d 0.0.0.0/0  -p tcp --dport 80  -j ACCEPT

iptables -t filter -A OUTPUT -o ppp0 -s 192.168.1.0/24 -d 0.0.0.0/0  -p tcp --dport 443 -j ACCEPT

# connexions connexions

iptables -t filter -A INPUT  -i ppp0 -s 0.0.0.0/0  -d 192.168.1.0/24 -p tcp --sport 80 -j ACCEPT

iptables -t filter -A INPUT  -i ppp0 -s 0.0.0.0/0 -d 192.168.1.0/24 -p tcp --sport 443 -j ACCEPT

# forward packet from modem to lan interface

iptables -t filter -A FORWARD  -i eth0 -o ppp0 -s 192.168.1.0/24 -d 0.0.0.0/0 -j ACCEPT

iptables -t filter -A FORWARD  -i ppp0 -o eth0 -s 0.0.0.0/0 -d 192.168.1.0/24 -j ACCEPT

# Masqeurade all packets from lan to internet

iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.1.0/24 -j MASQUERADE

#------ conn track, bye motherfuckers !

iptables -t filter -A OUTPUT -o ppp0 -s <adresse ip sur internet> -d 0.0.0.0/0  -p all -m state --state ! INVALID -j ACCEPT

iptables -t filter -A INPUT  -i ppp0 -s 0.0.0.0/0  -d <adresse ip sur internet> -p all -m state --state RELATED --state ESTABLISHED -j ACCEPT

Share this post


Link to post
Share on other sites

l'article serait le bienvenu en effet :mdr: ...... car je suis loin de comprendre toute la logique et toutes les regles du script :roll:

Share this post


Link to post
Share on other sites

×
×
  • Create New...