Network map

  localnet  +-------------------------------------+  vmnet  +--------------------+
------------|eth0          gateway            eth1|---------|eth0            vm  |
            |192.168.1.44           192.168.56.101|         |192.168.56.102      |
            +-------------------------------------+         +--------------------+

iptables

The easiest configuration we can use is:

/etc/iptables.up.rules:
-----------------------
*nat
:PREROUTING ACCEPT  [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT      [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT   [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT  [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j ACCEPT
COMMIT
_$: iptables-save > /etc/iptables.up.rules
/etc/network/if-pre-up.d/iptables:
----------------------------------
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules
_$: chmod +x /etc/network/if-pre-up.d/iptables