Hot answers tagged

1

So, as it turns out the issue is due to checksum offloading. For some reason, Linux guests don't work over NAT when IPv4 Checksum Offloading is activated. (They work without NAT just fine, which is bizarre.) So, after disabling IPv4 Checksum Offload on both the physical and virtual interface, and rebooting the server, everything works as expected.


1

Disable 'client-to-client' option in config and use firewall/iptables to filter traffic.


1

I think the problem is in this rule -A FORWARD -i eth0:0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT You have to change the position of the interfaces -A FORWARD -i eth0 -o eth0:0 -m state --state RELATED,ESTABLISHED -j ACCEPT


1

The provider (Linode) filters traffic by IP address at the hypervisor/network level, so traffic with public IP addresses will not transverse the private network at all. I've changed provider now and NAT it working just fine.


1

Your first iptables rule is correct and sufficient to do the job. I'd consider explicitly specifying an incoming interface such as: iptables -t nat -A PREROUTING -i ${wan_if} -d ${jumper_ip} -p tcp --dport 22 -j DNAT --to-destination ${invisibleserver_ip} But this is not required. Your POSTROUTING rule is a bit flawed. I don't think it is going to break ...



Only top voted, non community-wiki answers of a minimum length are eligible