First of all, it's not a port forwarding issue. By running tcpdump, I can see the requests getting to the debian server, and then they stop.
My debian server is running apache as well as PleX. If I connect to the Debian server using 192.168.1.210, it works flawlessly. I can see the web pages, and I can stream from PleX.
If I leave my network, say, I go to a friends house, I can't access either. Using tcpdump, I can see the packets get to the server, but that's it. Same with canyouseeme.org.
I do have some routing & iptables in place. I use this machine for torrenting + a VPN, so I use routing to keep everything working. The routing is supposed to keep PleX away from tun0, the VPN interface, and the iptables is supposed to keep the user debian-transmission from using anything other than tun0.
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.172.1.5 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
10.172.1.1 10.172.1.5 255.255.255.255 UGH 0 0 0 tun0
10.172.1.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
50.18.0.0 192.168.1.1 255.255.0.0 UG 0 0 0 eth0
54.241.0.0 192.168.1.1 255.255.0.0 UG 0 0 0 eth0
128.0.0.0 10.172.1.5 128.0.0.0 UG 0 0 0 tun0
184.72.0.0 192.168.1.1 255.255.192.0 UG 0 0 0 eth0
184.169.128.0 192.168.1.1 255.255.128.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
216.144.236.186 192.168.1.1 255.255.255.255 UGH 0 0 0 eth0
iptables:
target prot opt source destination
ACCEPT all -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 192.168.1.0/24 owner UID match debian-transmission
REJECT all -- anywhere anywhere owner UID match debian-transmission reject-with icmp-port-unreachable