Recherchez dans la Communauté

Vous avez une question ?

Interrogez la communauté

internet & fixe ma connexion

Affichage NAT / PAT

Gun
contributeur occasionnel
1 193  

Re: Affichage NAT / PAT

Reset usine et on recommence...

sol22
contributeur occasionnel
1 169  

Re: Affichage NAT / PAT

Réinstallation :-(

Misterdim
contributeur
496  

Re: Affichage NAT / PAT

Hello,

 

je retombe sur ce vieux thread car moi aussi je ne voyais plus mes NAT/PAT. En regardant les appels réseaux, j'ai vu en effet que l'un de mes forward avait une tabulation dans le nom (surement lorsque j'ai fait "tab" pour passer au champs suivant). J'étais bien mal barré et ne voulais pas faire un réinitialisation. 

 

J'ai fait l'hypothèse que le problème était juste un problème d'affichage et me suis décider à intercepter depuis la console développeur le retour de l'appel ajax pour le "cleaner". 

 

Il faut déjà trouver dans les nombreux appels au script "ws" celui qui retourne la liste de PAT/NAT. Ca ressemble à ce genre de choses : 

 

 

{
    "status": {
        "webui_Secure Shell Server _SSH_": {
            "Id": "webui_Secure Shell Server _SSH_",
            "Origin": "webui",
            "Description": "Secure Shell Server _SSH_",
            "Status": "Enabled",
            "SourceInterface": "data",
            "Protocol": "6",
            "ExternalPort": "22",
            "InternalPort": "22",
            "SourcePrefix": "xx.xx.xx.xx/32",
            "DestinationIPAddress": "192.168.1.127",
            "DestinationMACAddress": "",
            "LeaseDuration": 0,
            "HairpinNAT": true,
            "SymmetricSNAT": false,
            "UPnPV1Compat": false,
            "Enable": true
        },
        "webui_Home Assistant ": {
            "Id": "webui_Home Assistant\t",
            "Origin": "webui",
            "Description": "Home Assistant",
            "Status": "Enabled",
            "SourceInterface": "data",
            "Protocol": "6",
            "ExternalPort": "8123",
            "InternalPort": "8123",
            "SourcePrefix": "",
            "DestinationIPAddress": "192.168.1.13",
            "DestinationMACAddress": "",
            "LeaseDuration": 0,
            "HairpinNAT": true,
            "SymmetricSNAT": false,
            "UPnPV1Compat": false,
            "Enable": true
        }
    }
}

c'est donc 

"Id": "webui_Home Assistant\t"

qui pose problème (le \t)

 

J'ai donc été sur la page PAT/NAT qui n'affiche rien. Dans la console, j'ai fait le petit script d'interception / clean (adapter l'IP de la LB et le patern à remplacer) : 

// Sauvegarder la méthode d'origine de XMLHttpRequest
const originalXhrSend = XMLHttpRequest.prototype.send;

XMLHttpRequest.prototype.send = function () {
    this.addEventListener('readystatechange', function () {
        if (this.readyState === 4 && this.responseURL.includes('192.168.1.1/ws')) {
            // Remplacer `webui_Home Assistant\t` par `webui_Home Assistant`
            const modifiedResponse = this.responseText.replace(/webui_Home Assistant\t/g, 'webui_Home Assistant');
            
            // Redéfinir responseText pour retourner le texte modifié
            Object.defineProperty(this, 'responseText', { value: modifiedResponse });
        }
    });

    // Appeler la méthode d'origine
    return originalXhrSend.apply(this, arguments);
};

et j'ai clique de nouveau sur l'onglet PAT/NAT (pas un gros relaod qui ferait perdre la fonction de réécriture). Et magie, le \t cleané, la page PAT/NAT a bien tout affiché. J'ai eu peur de ne pouvoir supprimer la règle problématique en me disant que peut-être, derrière, l'id attendrait le \t donc j'imaginais que j'allais devoir réécrire l'appel asynchrone qui supprime. Mais non !

 

Ouf !!! Ca m'a bien sauvé car je me voyais pas réinitialiser la LB.

 

Du coup si quelqu'un repasse par là avec le même soucis. Peut-être que ce sera la solution pour le sauver d'une réinit. 

 

pouillev73
contributeur
353  

Re: Affichage NAT / PAT

Hello, 


merci beaucoup pour ton astuce, mais je n'arrive pas à faire fonctionner

voilà ce que je rentre dans la console avant de recharger l'onglet PAT NAT

 

// Sauvegarder la méthode d'origine de XMLHttpRequest
const originalXhrSend = XMLHttpRequest.prototype.send;

XMLHttpRequest.prototype.send = function () {
    this.addEventListener('readystatechange', function () {
        if (this.readyState === 4 && this.responseURL.includes('2.7.137.64/ws')) {
            // Remplacer `webui_Home Assistant\t` par `webui_Home Assistant`
            const modifiedResponse = this.responseText.replace(/webui_WEBDAV HTTPS 224\t/g, 'webui_WEBDAV HTTPS 224');
            
            // Redéfinir responseText pour retourner le texte modifié
            Object.defineProperty(this, 'responseText', { value: modifiedResponse });
        }
    });

    // Appeler la méthode d'origine
    return originalXhrSend.apply(this, arguments);
};
pouillev73
contributeur
336  

Re: Affichage NAT / PAT

Je me répond à moi même :

il faut être en local !!
je ne comprends pas pourquoi mais au moins ca marche

Bravo à Toi 

Milvain1
contributeur
271  

Re: Affichage NAT / PAT

Bonjour,

 

Pardon de mon ignorance mais où injecter le script dans chrome ? J'ai exactement le même problème et souhaite retrouver mes ports forwarding.

 

Merci beaucoup.

Milvain1
contributeur
248  

Re: Affichage NAT / PAT

J'ai réussi à me dépatouiller, c'était la partie console que je ne trouvais pas, cela à fonctionné. Merci beaucoup !!

Vous avez une question ?

Interrogez la communauté

Déjà 795301 membres inscrits 🧡

2868 personnes actuellement en ligne

Tous les membres en ligne