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!
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
.