Reseau : dns

Je crois que je fais une confusion !!!
Je ne fais pas de proxy transparent. Je retire la règle du fichier. Je ne laisse que la MASQUERADE.

Si tu supprimes la règle REDIRECT, le jeu de règles restant permet de se connecter directement en HTTP à l’extérieur sans passer par le proxy. La configuration explicite des clients par la variable http_proxy ou autre n’est donc plus nécessaire, sauf si tu veux profiter de la mise en cache du proxy le cas échéant. Mais par contre je ne vois pas l’intérêt de l’authentification.

C’est pour cela que mes clients ont chacun leur navigateur de configurer pour passer par le proxy et dansguardian.
Mais normalement, je ne devrais pas à avoir à spécifier pour apt, le passage par le proxy ?! Comme rien ne bloque dans iptables…
Quelquechose m’échappe ?

Ce n’est plus nécessaire maintenant si tu as retiré la règle REDIRECT. Cette règle interceptait et donc empêchait les connexions HTTP directes. apt est un client HTTP comme une autre.

J’ai retiré la règle REDIRECT (au passage, iptables-D ne fonctionnait pas donc j’ai édité le fichier rules.v4 et je l’ai effacée ; c’est peut-être pas très propre :confused: ).Je n’ai plus que la règle MASQUERADE

[code]# cat /etc/iptables/rules.v4

Generated by iptables-save v1.4.14 on Tue Jan 27 15:14:04 2015

*filter
:INPUT ACCEPT [153075:131152433]
:FORWARD ACCEPT [733:125748]
:OUTPUT ACCEPT [145884:132612179]
COMMIT

Completed on Tue Jan 27 15:14:04 2015

Generated by iptables-save v1.4.14 on Tue Jan 27 15:14:04 2015

*nat
:PREROUTING ACCEPT [19:1359]
:INPUT ACCEPT [1:60]
:OUTPUT ACCEPT [1:60]
:POSTROUTING ACCEPT [2:303]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT

Completed on Tue Jan 27 15:14:04 2015[/code]

Eh bien apt-get update sur le client1 (je n’ai fait aucune modifs sur les fichiers wgetrc et apt.conf) ne passe toujours pas alors que sur le client2 (avec les modifs), çà passe.
Je persiste donc…quelquechose m’échappe !

De plus, java me réclame aussi une identification :

[quote]Entrez les informations de connexion permettant d’accéder à Squid proxy-caching web server sur /172.16.10.1 :
Nom utilistaeur :
Mot de passe : [/quote]
Et il me bloque :

[quote]Pour des raisons de sécurité, les applications doivent désormais répondre aux exigences de paramètres de sécurité…
Nom : geonext
emplacement : recitmst.qc.ca
motif : vos paramètres de sécurité ont bloqué l’execution d’une application auto-signée[/quote]
???

Oui, c’est pour çà que j’ai pris squid…autrement j’aurais pris un proxy plus léger comme tinyproxy par exemple.

Comment ça ? Quelle commande complète as-tu utilisée ? As-tu bien spécifié [mono]-t nat[/mono] ?

As-tu appliqué le nouveau jeu de règles iptables, et est-il bien actif ? Qu’affiche [mono]iptables-save[/mono] ?

De manière générale essaie d’être plus précis dans tes descriptions au lieu d’un simple “ça ne marche pas”. Décris ce que tu fais, les commandes que tu tapes, les messages résultants.

Il y a une commande pour l'activer ? J'ai redémarrer le serveur  :confused: 

[quote="PascalHambourg"]Qu'affiche [mono]iptables-save[/mono] ?[/quote]
[code]n# iptables-save
# Generated by iptables-save v1.4.14 on Thu Jan 29 10:51:49 2015
*nat
:PREROUTING ACCEPT [6:732]
:INPUT ACCEPT [3:636]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Jan 29 10:51:49 2015
# Generated by iptables-save v1.4.14 on Thu Jan 29 10:51:49 2015
*filter
:INPUT ACCEPT [172413:121517648]
:FORWARD ACCEPT [399:94873]
:OUTPUT ACCEPT [174072:125672874]
COMMIT
# Completed on Thu Jan 29 10:51:49 2015[/code]

Il y a une commande pour l’activer ? J’ai redémarrer le serveur :confused:

[code]n# iptables-save

Generated by iptables-save v1.4.14 on Thu Jan 29 10:51:49 2015

*nat
:PREROUTING ACCEPT [6:732]
:INPUT ACCEPT [3:636]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT

Completed on Thu Jan 29 10:51:49 2015

Generated by iptables-save v1.4.14 on Thu Jan 29 10:51:49 2015

*filter
:INPUT ACCEPT [172413:121517648]
:FORWARD ACCEPT [399:94873]
:OUTPUT ACCEPT [174072:125672874]
COMMIT

Completed on Thu Jan 29 10:51:49 2015[/code]

Bon, iptables-save confirme que la règle REDIRECT n’est plus là.
Maintenant, quels sont les messages d’erreur d’apt-get sur le poste client 1 ?

[quote=“toto69”]De plus, java me réclame aussi une identification :
Entrez les informations de connexion permettant d’accéder à Squid proxy-caching web server sur /172.16.10.1[/quote]
Ça veut dire qu’il est configuré explicitement pour passer par le proxy.

Lors d'un apt-get, la machine mouline un moment avant de me sortir qu'elle n'atteint pas l'adresse et j'ai aussi le message que j'ai indiqué au tout début :
[code]Err http://security.ubuntu.com precise-security/main Sources
400 Bad Request [IP : 91.189.88.149 80][/code]

[code]Ça veut dire qu'il (Java) est configuré explicitement pour passer par le proxy.
[/code]
Cela suppose donc que je lui ai indiqué à un moment donné de passer par le proxy. Je ne m'en souviens plus mais il doit y avoir moyen de supprimer cette exigence ?

Lors d’un apt-get, la machine mouline un moment avant de me sortir qu’elle n’atteint pas l’adresse et j’ai aussi le message que j’ai indiqué au tout début :

Err http://security.ubuntu.com precise-security/main Sources 400 Bad Request [IP : 91.189.88.149 80]

Ça veut dire qu'il (Java) est configuré explicitement pour passer par le proxy.
Cela suppose donc que je lui ai indiqué à un moment donné de passer par le proxy. Je ne m’en souviens plus mais il doit y avoir moyen de supprimer cette exigence ?

Peux-tu fournir la sortie complète d’apt-get ?

Je ne vois pas comment c’est possible autrement. Soit dans l’environnement de Java, soit à un niveau plus global (variable d’environnement par exemple).

La fonction routeur IP est-elle bien activée sur le serveur ?

renvoie bien 1 ?
Un ping de l’adresse de la box depuis le poste client reçoit bien une réponse ?

# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 0

Dois-je faire cela ?

[code]root@serveur-debian:/etc# cat /etc/sysctl.conf

/etc/sysctl.conf - Configuration file for setting system variables

See /etc/sysctl.d/ for additonal system variables

See sysctl.conf (5) for information.

#kernel.domainname = example.com

Uncomment the following to stop low-level messages on console

#kernel.printk = 3 4 1 3

##############################################################3

Functions previously found in netbase

Uncomment the next two lines to enable Spoof protection (reverse-path filter)

Turn on Source Address Verification in all interfaces to

prevent some spoofing attacks

#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1

Uncomment the next line to enable TCP/IP SYN cookies

See http://lwn.net/Articles/277146/

Note: This may impact IPv6 TCP sessions too

#net.ipv4.tcp_syncookies=1

Uncomment the next line to enable packet forwarding for IPv4

#net.ipv4.ip_forward=1

Uncomment the next line to enable packet forwarding for IPv6

Enabling this option disables Stateless Address Autoconfiguration

based on Router Advertisements for this host

#net.ipv6.conf.all.forwarding=1

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

Additional settings - these settings can improve the network

security of the host and prevent against some network attacks

including spoofing attacks and man in the middle attacks through

redirection. Some network environments, however, require that these

settings are disabled so review and enable them as needed.

Do not accept ICMP redirects (prevent MITM attacks)

#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0

or

Accept ICMP redirects only for gateways listed in our default

gateway list (enabled by default)

net.ipv4.conf.all.secure_redirects = 1

Do not send ICMP redirects (we are not a router)

#net.ipv4.conf.all.send_redirects = 0

Do not accept IP source route packets (we are not a router)

#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0

Log Martian Packets

#net.ipv4.conf.all.log_martians = 1
#[/code]

Il y a peut-être des choses à décommenter, non ??? Par exemple :

# Uncomment the next line to enable packet forwarding for IPv4 #net.ipv4.ip_forward=1 ?

[quote=“toto69”]Dois-je faire cela ?

Oui, pour un effet immédiat mais volatil.
C’est nécessaire pour que le serveur fonctionne en routeur, retransmettant les paquets d’une interface à l’autre. Autrement, la règle MASQUERADE n’était pas très utile.

Exactement, pour un effet persistant au redémarrage.

J’ai décommenté la ligne concernée.

/proc/sys/net/ipv4/ip_forward est bien à 1 maintenant ?
Résultat ?

# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1

Bon, tout semble ok du côté de apt-get en console.

Alors depuis un an, je n’ai pas de routage sur mon serveur !!! Car j’ai souvenir d’avoir saisi la commande echo pour le forward de l’ipv4 ; après le premier reboot, tout a été effacé !

Cela dit, cela ne règle pas tout pour autant : ma femme vient d’aller sur facebook et le temps de chargement de la page est long ; par exemple, il me faut une à deux minutes d’attente pour une petite video de 5s :017 C’est bien trop long !

Ah,non, je corrige, là il a fallu 2 s !!
Il faut peut-être le temps à squid de mettre en cache !

Si on ne fait que du HTTP(S) avec un proxy explicite ou du HTTP avec un proxy transparent+serveur/relais DNS, l’absence de routage peut passer inaperçue.

[quote=“toto69”]Cela dit, cela ne règle pas tout pour autant (…)
Il faut peut-être le temps à squid de mettre en cache ![/quote]
Si le navigateur utilise le proxy, alors l’activation du routage ne change strictement rien puisque le serveur sert de proxy, pas de routeur.

Si je comprends bien, je ne peux pas avoir le beurre, l’argent du beurre et le sourire de la crémière :unamused: Uniquement si je comprends bien…
Par contre, ai-je besoin de cocher la case Utiliser ce proxy pour tous les protocoles ? Le protocole ssl n’a pas besoin de passer par le proxy ; de toute façon le https ne passe pas par le proxy. Le ftp non plus car pour le moment je n’utilise le serveur qu’en local ; quant à hôte SOCKS, je ne sais pas ce que c’est !Enfin, je ne sais pas si je dois cocher socks v4 ou socks v5 ou dns distant ?