I am trying to create a Minecraft server with port 25565 for me and my friends to access. I used to run one on my mac, where I would change the config for my firewall to allow connections through different ports when my public IP changed; then tell my friends to change the IP they should connect to when necessary. But I got sick of this, and wanted to run the server from a remote computer to act as a server which could be controlled via ssh from my main computer. And so you could connect to it from a hostname rather than the actual IP address.
Now, I have a computer running Ubuntu Desktop 12.04 and a set of rules to allow ports 25565, 22 and 10000 (for webmin). It has a service set to run the executable for the server when it is commanded to and it works on LAN but not outside my network. It has a reserved private IP and I am using a Dynamic Update Client (ddclient) to update the public IP from the system every x minutes. This updates to DynDns.com, but I understand Linux has a client firewall and network manager, Iptables which I don't have much experience using and this is where I got stuck and thought I should come for help.
My ISP, Sky supports DNS from DynDns.com specifically. So that works fine, but it doesn't support fixed external IP addresses so I can't create a network card for an outfacing network because it will just change? I thought I might be able to create one that will search my DynDns.com profile to find my external IP and update it every x minutes. But I am unsure of how to do this to make it work properly. Also I want to route my Internal IP to my external from a postrouting rule. Now I understand that I might have to configure a cron script to update my Iptables from my DynDns.org account but that is irrelevant.
How would I go about doing all this? Thanks!
Here are some things I thought might be helpful:
Output for iptables -L:
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT udp -- anywhere anywhere udp dpt:domain ACCEPT tcp -- anywhere anywhere tcp dpt:domain ACCEPT udp -- anywhere anywhere udp dpt:25565 ACCEPT tcp -- anywhere anywhere tcp dpt:25565 ACCEPT tcp -- anywhere anywhere tcp dpt:ssh ACCEPT udp -- anywhere anywhere udp dpt:ssh ACCEPT udp -- anywhere anywhere udp dpt:10000 ACCEPT tcp -- anywhere anywhere tcp dpt:webmin Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination mcserver@helloworld:~$
Output for ifconfig:
eth0 Link encap:Ethernet HWaddr 00:0e:7f:a9:10:54 inet addr:192.168.0.8 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20e:7fff:fea9:1054/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:687 errors:0 dropped:0 overruns:0 frame:0 TX packets:588 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:221050 (221.0 KB) TX bytes:106677 (106.6 KB) Interrupt:20 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:200 errors:0 dropped:0 overruns:0 frame:0 TX packets:200 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:16564 (16.5 KB) TX bytes:16564 (16.5 KB)