[Résolu] Problème de dns je pense

[quote=“fran.b”]paflechien: Ai je bien compris le pbm, Web, mail, ftp fonctionne de l’extérieur mais pas de chez toi c’est ça? J’ai l’impression d’une incompréhension, pour moi ton pbm est d’accéder à tes services de tes machines, services qui marchent bien de l’extérieur. Est ce ça où bien est ce que ça ne marche pas du tout?

Dans ce dernier cas, pour apache, vérifie que tu ne lui as pas précisé une adresse IP spécifique dans le httpd.conf via Listen ou NameVirtualHost.

[/quote]

Oui je n’y accède pas de chez moi en tapant le nom de domaine. Sauf ssh, ssh root@domain.tld fonctionne. Et le serveur de mail aussi.

Comme serveur ftp j’utilise vsftpd. Apache, j’utilise apache2. POur apache je n’ai pas préciser d’adresse ip.

localnet est le 192.168.20.0/24 (le réseau de mes parents)

J’obient ceci:

eth1      Lien encap:Ethernet  HWaddr 00:50:8D:54:5F:4A
          inet adr:192.168.20.1  Bcast:192.168.20.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:629036 errors:0 dropped:0 overruns:0 frame:0
          TX packets:745398 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:56243145 (53.6 MiB)  TX bytes:360306517 (343.6 MiB)
          Interruption:23 Adresse de base:0xec00

eth2      Lien encap:Ethernet  HWaddr 00:80:C8:4C:A9:8A
          inet adr:192.168.77.1  Bcast:192.168.77.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:850156 errors:0 dropped:0 overruns:0 frame:0
          TX packets:926202 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:61580267 (58.7 MiB)  TX bytes:686519262 (654.7 MiB)
          Interruption:16 Adresse de base:0xd000

lo        Lien encap:Boucle locale
          inet adr:127.0.0.1  Masque:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:668 errors:0 dropped:0 overruns:0 frame:0
          TX packets:668 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:35746 (34.9 KiB)  TX bytes:35746 (34.9 KiB)

ppp0      Lien encap:Protocole Point-�-Point
          inet adr:213.36.28.100  P-t-P:213.36.81.11  Masque:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:15165 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12032 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:3
          RX bytes:5931079 (5.6 MiB)  TX bytes:1654166 (1.5 MiB)
Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
213.36.81.11    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.20.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.77.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2
0.0.0.0         213.36.81.11    0.0.0.0         UG    0      0        0 ppp0

C’est d’une machine du réseau dit des parents que ça ne marche pas non?

Dans ce cas, les règles ci dessous devraient permettre aux machines sur les deux réseaux d’accéder au serveur via 213.36.28.100:80

Par contre, as tu vérifié que le serveur Web fonctionnait de l’extérieur car sur cette IP, le SMTP et le POP répondent mais pas le Web

forward intérieur

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT -i eth2 -d 213.36.28.100 --to 192.168.77.1:80
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT -i eth1 -d 213.36.28.100 --to 192.168.77.1:80

forward extérieur

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT -i ppp0 --to 192.168.77.1:80

NAT des requêtes intérieures

iptables -t nat -A POSTROUTING -o eth2 -p tcp --dport 80 -s 192.168.77.0/24 -j MASQUERADE

(* la règle suivante est inutile, elle ne sert à rien *)
iptables -t nat -A POSTROUTING -o eth1 -p tcp --dport 80 -s 192.168.77.0/24 -j MASQUERADE

par contre j’avais oublié
iptables -t nat -A POSTROUTING -o eth2 -p tcp --dport 80 -s 192.168.20.0/24 -j MASQUERADE

C’est de machines de mon réseau que sa ne fonctionne pas, et cellles des mes parents. Mais dès que je tape 192.168.77.2, forcément, là sa fonctionne!

Tu as fais des petites erreurs je pense, rien de grave. eth1 c’est mes parents, eth2 c’est moi :wink: Dans le doute j’ai fais les tests avec ce que tu ma donné, et j’ai inversé!

Oui j’ai vérifié que le serveur web fonctionne de l’extérieur, avec le nom de domaine et l’ip et sa cherche.
Sinon, oui le serveur smtp, pop, fonctionne sans problème.

J’ai donc installé les règles,et j’obtient rien de mieux!

Ah!

Si sa fonctionne maintenant!

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT -i eth2 -d 213.36.28.100 --to 192.168.77.1:80 iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT -i eth1 -d 213.36.28.100 --to 192.168.77.1:80

j’ai mis en

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT -i eth2 -d 213.36.28.100 --to 192.168.77.2:80 iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT -i eth1 -d 213.36.28.100 --to 192.168.77.2:80

Pour le ftp, je vais faire de même. Par contre, mon addresse ip change toutes les 24h. Je ne me vois pas tapé mon addresse ip manuellement.

Si je fais

dans IP_EXT="" je pourrais mettre quoi pour avoir mon ip automatiquement?
Je pense à ifconfig ppp0 |awk '/inet addr/{split($2,x,":"); print x[2]}'

En faite, lynx --source http://www.monip.org | sed -nre 's/^.* (([0-9]{1,3}\.){3}[0-9]{1,3}).*$/\1/p' et le tour est joué :d

Petit problème à reglé, et je vous lache après :wink:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT -i eth1 -d $IPEXT --to 192.168.77.2:80

IPEXT="lynx --source monip.org | sed -nre ‘s/^.* (([0-9]{1,3}.){3}[0-9]{1,3}).*$/\1/p’ "

Et quand je redemarre mon script j’obtient:

./iptables.sh restart
[Firewall OFF]

Bad argument |' Tryiptables -h’ or ‘iptables --help’ for more information.
Bad argument |' Tryiptables -h’ or ‘iptables --help’ for more information.
[Firewall ON]

Il y’a un petit probème de syntaxe quelque part… Je désactive mes deux lignes

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT -i eth1 -d $IPEXT --to 192.168.77.2:80
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT -i eth2 -d $IPEXT --to 192.168.77.2:80

Sa redemarre sans problème. Donc le problème vient de la ligne IPEXT

Si une personne sais pourquoi sa merdouille, car sous mon terminal j’obtient bien mon ip, ou propose une autre solution pour avoir l’addresse ip du modem je suis ouvert.

Et en attendant, je tiens a remercier, matt, et fran.b, qui m’ont un peu ouvert les yeux sur iptables, reglé mon petit problème :d sa fais plaisir, je croyais que je ne verrais jamais le bout du tunnel!

En tout cas, merci

Désolé de t’avoir laché en route, j’ai été un peu pris.
Si tu remplaces tes DoubleQuote ("…") par des BackQuote (...) dans ton script, ça ne marche pas mieux ?

Si sa fonctionne!

Merci Matt :d il n’y à pas de mal, le principal c’est que celà fonctionne comme je veut non? :wink:

Je colle le sujet résolu!