Need a little help with firewall / iptables setup

If you’re getting a ‘no route to host’, I suspect:

  1. You are hitting a REJECT iptables rule somewhere
  2. The backup qube isn’t connected to the firewall qube, or somehow lost connectivity?
    • Edit: based on your last reply, I think this is where the issue is
  3. You’re modifying routing rules on some qubes and undoing the 32-bit subnetting?
  4. Typo somewhere? Wrong IP address somewhere maybe? Make sure the IPs haven’t changed on you, though that should only happen if you created a new qube.

From the info you’ve posted, what you have should do it. You’ve got:

  1. Forwarding enabled at the netvm so that qubes can talk to each other
  2. The backup qube wide open to the client on the INPUT side

I also agree with unman, doing this with qrexec will remove the iptables complexity and the need for your firewall qube.

To understand the qrexec/RPC method, think of it like this: If you have a server qube and client qube, in the client qube you are doing something similar to local port forwarding for SSH, except the transport isn’t SSH; it’s qrexec. qrexec is the Qubes implementation that uses Xen capabilities like vchans for inter-VM communication details.

If you wanted to open up all ports on a server qube to a client qube (which by all means is naturally dangerous, this is only to demonstrate capability), you would do:

  1. Edit (dom0) /etc/qubes-rpc/policy/qubes.ConnectTCP
  2. Add a line clientqubename serverqubename ask,default_target=serverqubename, this will prompt you to confirm allowing making the TCP connection

Any port in serverqubename is now accessible to clientqubename; pretend it’s like clientqubename having localhost access to serverqubename (no annoying firewall rules to worry about, very dangerous!)

  1. To ssh into serverqube from clientqube (such that localhost:8022 redirects to serverqube:22):

    qvm-connect-tcp 8022:serverqubename:22
    ssh -p 8022 localhost
    

But don’t do that; that’s just to show how simple it is. Create new named Qubes RPC services for each service you want to expose from serverqube.