I've been testing out the whiterussian SVN for the purpose of upgrading my router from RC3. My ISP blocks outgoing port 25 (and others), so I have an openVPN tunnel running to another site that does not block outgoing port 25. I can then mark tcp connections going out on port 25 and send them down the tunnel using an ip route.
The following code works great in RC3, but does not work with recent WR SVN.
IPT_NOMARK="-m mark --mark 0"
IPT_MARKED="-m mark ! --mark 0"
IPT -t mangle -A PREROUTING $IPT_NOMARK -j CONNMARK --restore-mark
IPT -t mangle -A PREROUTING $IPT_MARKED -j ACCEPT
# Outgoing SMTP connections via Tunnel (mark 1)
IPT -t mangle -A PREROUTING -i $TUN_IF $IPT_NOMARK -j MARK --set-mark 0x1
IPT -t mangle -A PREROUTING -d ! $VPN_HST_IP -p tcp --dport 25 \
$IPT_NOMARK -j MARK --set-mark 0x1
IPT -t mangle -A PREROUTING $IPT_MARKED -j CONNMARK --save-mark
echo "Configuring Policy Routes..."
/usr/sbin/ip rule del fwmark 1 from $DP_IP/24 table 1
/usr/sbin/ip route flush table 1
/usr/sbin/ip route add default via $TUN_SRV_IP dev $TUN_IF table 1
/usr/sbin/ip rule add fwmark 1 from $DP_IP/24 table 1
/usr/sbin/ip route flush cache
On the tunnel interface, I can watch the tcp session with tcpdump. The first packet gets sent correctly, and packets return correctly, but no more packets get sent. I tried many different combinations of the above code, nothing helped.
Is anyone else using connection marking with the recent WR SVN?