Anomalie #2661
wpad ne fonctionne pas sur client avec adresse IPv6
Description
Le proxy peut avoir plusieurs adresses IP (pour eth1, eth2, ...). Le fichier wpad permet de configurer la bonne IP suivant le réseau du client.
Pour cela, myIpAddress() est utilisé dans le wpad. Le problème c'est que la fonctionne retourne l'adresse IPv6 plutôt que IPv4 (sans parlé des clients à plusieurs adresses IP ...).
La solution serait d'utiliser la fonction myIpAddressEx ... mais elle n'est pas encore implémenté sous firefox :
Demandes liées
Révisions associées
Support de wpad pour firefox avec support d'IPv6 fixes #2727 et fixes #2661
- Makefile : ajout du répertoire /var/lib/eole
- reverseproxy/eole/pretemplate/00-reverseproxy : suppression de l'ancien wpad.dat
- reverseproxy/dicos/25_nginx.xml : ajout des templates, suppression de wpad.dat
- reverseproxy/tmpl/nginx.default : diffuse un wpad différent suivant l'IP de provenance
- reverseproxy/tmpl/wpad.eth* : ajout du template de l'interface (qui utilise wpad.tmpl)
- reverseproxy/eolevar/wpad.tmpl : template commun à toutes les interfaces
Historique
#1 Mis à jour par Guillaume PITARD il y a environ 12 ans
- Statut changé de Nouveau à En attente d'informations
Même problème rencontré à Nantes.
Pour ne pas être gêné, je n'utilise pas myipadresse dans le java-script, je renvoie une "vip" proxy sans identifier l'ip source de la machine, puis j'ai créé 2 redirections sur les interfaces eth1 et eth2, chacune revoie les flux à destination de la VIP vers l'ip réelle de l'amon . (flux arrivant sur eth1 vers ip eth1 de l'amon, flux arrivant sur eth2 vers ip eth2 de l'amon). Ça simplifie le script et ne fait recréer que deux règles de redirection.
Qu'en pensez-vous ?
Cordialement,
#2 Mis à jour par Emmanuel GARETTE il y a environ 12 ans
L'idée est plutôt bonne. Mais j'ai un doute avec le mode conteneur ainsi que pour les règles de firewall généré à partir de l'EAD (les postes interdits, ...)
#3 Mis à jour par Guillaume PITARD il y a environ 12 ans
Voici les deux règles iptables que j'ajoute en mode "inclusion statique" dans ERA. Ce sont 2 DNAT dans la table nat.
Par rapport aux postes inderdits, je ne match pas la source, je pense donc que ça ne doit pas gêner.
Pour le mode conteneur, je ne sais pas, je suis toujours en 2.2.
/sbin/iptables -t nat -I PREROUTING -i eth1 -d %%adr_VIP_Proxy -p tcp --dport 3128 -j DNAT --to %%adresse_ip_eth1
/sbin/iptables -t nat -I PREROUTING -i eth2 -d %%adr_VIP_Proxy -p tcp --dport 3128 -j DNAT --to %%adresse_ip_eth2
Voici le wpad.dat
function FindProxyForURL(url, host)
{
// GLOBAL
if (
if %%adresse_ip_eth0[0:4] == "10.1"
isInNet(host, "%adresse_ip_pub", "255.255.255.255") ||
else
isInNet(host, "%adresse_network_eth0", "%%adresse_netmask_eth0") ||
end if
%for %%ip_httpsbypass in %%fw_httpsbypass_ip
isInNet(host, "%ip_httpsbypass", "255.255.255.255") ||
%end for
isInNet(host, "161.48.0.0", "255.255.224.0") ||
isInNet(host, "192.168.0.0", "255.255.0.0") ||
isInNet(host, "172.16.0.0", "255.240.0.0") ||
isInNet(host, "10.0.0.0", "255.0.0.0") ||
isInNet(host, "127.0.0.0", "255.0.0.0")
) {
return "DIRECT";
} else {
return "PROXY %%adr_VIP_Proxy:3128";
}
}
Les variables suivantes sont spécifiques à nos dicos:
%adr_VIP_Proxy : La VIP académique proxy.
%fw_httpsbypass_ip : Une liste de serveurs https qui nécessite un accès direct.
%%adresse_ip_pub : L'IP publique de l'étab (nos amon peuvent derrières des box qui NAT)
#4 Mis à jour par Emmanuel GARETTE il y a environ 12 ans
- Statut changé de En attente d'informations à Nouveau
- Version cible mis à Mises à jour 2.3.4 RC
#5 Mis à jour par Emmanuel GARETTE il y a environ 12 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit a217a838af4e7c86a4d3564472b109c5758b3356.
#6 Mis à jour par Fabrice Barconnière il y a environ 12 ans
- Statut changé de Résolu à Fermé