web-dev-qa-db-fra.com

redirection de port vers un périphérique Arduino sur le réseau domestique

J'ai un serveur domestique exécutant Kubuntu 14.04. Il sert une page Web au monde extérieur et fournit un accès Internet à tous les appareils sur mon réseau local. J'ai un appareil Arduino avec une application de serveur Web pour signaler la température. Je souhaite utiliser mon Android pour me connecter à la page Web Arduino.

J'utilise UFW pour configurer mon pare-feu et souhaite transmettre les demandes à mon serveur domestique en utilisant le port 225 vers la page Web Arduino, configurée pour écouter le port 225.

Je peux atteindre l'Arduino de n'importe où sur mon réseau local, mais pas de l'extérieur. J'ai fait des recherches et essayé beaucoup de choses, mais sans succès. Des sites comme "vérifiez vos ports" signalent que le port 225 est fermé.

Toute aide est grandement appréciée!

1
John Zbesko

Essaye ça

Vérifiez d'abord avec cat /proc/sys/net/ipv4/ip_forward est la réponse 0 ou 1. Si c'est 0 exécuter la commande

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

Cela permettra le transfert IP

Puis modifiez et ajoutez avant la section de filtre dans /etc/ufw/before.rules (haut du fichier):

 Sudo nano etc/ufw/before.rules


*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp --dport 225 -j DNAT --to-destination ip_address_of_Arduino
COMMIT

Redémarrez ensuite ufw.

Le problème est la place de la règle.

Votre *nat la table est en cours de démarrage et ne peut plus s'afficher à la fin du fichier. Déplacez votre règle de line 82 belowe PREROUTING

Devrait ressembler à ceci

*nat
:PREROUTING ACCEPT [0:0]
# Port fw
-A PREROUTING -i eth0 -p tcp --dport 225 -j DNAT --to-destination      ip_address_of_Arduino

:POSTROUTING ACCEPT [0:0] 
# Forward traffic from eth1 through eth0. 
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE 

# don't delete the 'COMMIT' line or these rules won't be processed 
COMMIT

Après cette table de départ *filter et le reste de la configuration de ufw.

1
2707974