Scrivo per chiedere se il port fowarding che ho fatto è corretto (perché non mi funziona..quindi immagino di no(?))
Vi spiego in dettaglio la mia situazione:
Ho 3 dispositivi: un PC, un Raspberry e una Jetson.
Il PC e il Raspberry sono collegati alla stessa rete locale tramite wifi.
Il Raspberry condivide la sua connessione di rete con la Jetson attraverso la porta eth0. (vedi punto 1)
Pertanto, il Raspberry crea una sottorete con il Jetson.
Il problema è che il Jetson, essendo in una sottorete diversa, non può vedere i ROS2 topic del pc e viceversa.
Stavo pensando di fare un port forwarding dal raspberry in modo da far passare il traffico ROS2 tra il Jetson e il PC, ma provando in tutti i modi non ci riesco (vedi punto 2)
(ROS2 utilizza come protocollo di comunicazione FastDDS)
Punto 1: (tutto su raspberry)
- ho tolto il commento alla riga net.ipv4.ip_forward=1
- ho inserito i seguenti comandi :
Codice: Seleziona tutto
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
Punto 2: (tutto su raspberry)
- ho abilitato il port fowarding delle porte interessate dal Domain ID = 0 (vedere immagine)
Codice: Seleziona tutto
sudo iptables -t nat -A PREROUTING -p udp --dport 7400 -j DNAT --to-destination 192.168.2.43:7400
sudo iptables -t nat -A PREROUTING -p udp --dport 7401 -j DNAT --to-destination 192.168.2.43:7401
sudo iptables -t nat -A PREROUTING -p udp --dport 7410 -j DNAT --to-destination 192.168.2.43:7410
sudo iptables -t nat -A PREROUTING -p udp --dport 7411 -j DNAT --to-destination 192.168.2.43:7411Grazie

