--- a/vpnc-script.in
+++ b/vpnc-script.in
@@ -97,7 +97,7 @@ do_ifconfig() {
 	fi
 
 	# Point to point interface require a netmask of 255.255.255.255 on some systems
-	ifconfig "$TUNDEV" inet "$INTERNAL_IP4_ADDRESS" $ifconfig_syntax_ptp "$INTERNAL_IP4_ADDRESS" netmask 255.255.255.255 mtu ${MTU} up
+	ifconfig "$TUNDEV" "$INTERNAL_IP4_ADDRESS" $ifconfig_syntax_ptp "$INTERNAL_IP4_ADDRESS" netmask 255.255.255.255 mtu ${MTU} up
 
 	if [ -n "$INTERNAL_IP4_NETMASK" ]; then
 		set_network_route $INTERNAL_IP4_NETADDR $INTERNAL_IP4_NETMASK $INTERNAL_IP4_NETMASKLEN
@@ -503,6 +503,18 @@ do_disconnect() {
 	destroy_tun_device
 }
 
+start_vpn_nat() {
+	iptables -A forwarding_rule -o $TUNDEV -j ACCEPT
+	iptables -A forwarding_rule -i $TUNDEV -j ACCEPT
+	iptables -t nat -A postrouting_rule -o $TUNDEV -j MASQUERADE
+}
+
+stop_vpn_nat() {
+	iptables -t nat -D postrouting_rule -o $TUNDEV -j MASQUERADE
+	iptables -D forwarding_rule -i $TUNDEV -j ACCEPT
+	iptables -D forwarding_rule -o $TUNDEV -j ACCEPT
+}
+
 #### Main
 
 if [ -z "$reason" ]; then
@@ -516,8 +528,10 @@ case "$reason" in
 		;;
 	connect)
 		do_connect
+		start_vpn_nat
 		;;
 	disconnect)
+		stop_vpn_nat
 		do_disconnect
 		;;
 	*)
