As far as i understood with the following rule:
ACCEPT tcp -- anywhere 172.17.0.4 tcp dpt:25565ubuntu allows connection via port 25565 but only to 172.17.0.4, but i want it to be reachable from anywhere. Ive tried something like
sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT -d anywherebut that doesn't work. Am I missing something? Maybe im totally wrong i don't know much about networking. My server i want to reach runs in a docker container if that makes any differences.
2 Answers
You can omit the "-d ...", but INPUT is just to your local device.
When your destination is in another network (even if it is a virtual network) you need forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forwardAnd the FORWARD chain is the right place to put your rules (but "ACCEPT" should already be the default)
Hint: iptables -S outputs the rules in the command-format
You can execute command below to do that
sudo iptables -I INPUT -p tcp --dport 25565 -j ACCEPT