Есть скрипт, который определенных системных пользователей пускает через openvpn.
До сегодняшнего дня все работало.
Симптомы: openvpn работает. Если вручную сделать ip route add ip_сайта via ip_vpn dev tun0_vpn, то на сайт пойдет через vpn (проверял через 2ip.ru).
Если же пускаем username через vpn
# Generated by iptables-save v1.4.18 on Sun Apr 7 08:01:33 2013
*mangle
:PREROUTING ACCEPT [210:31347]
:INPUT ACCEPT [102:17398]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [352:32472]
:POSTROUTING ACCEPT [352:32472]
[175:10343] -A OUTPUT -m owner --uid-owner 1003 -j MARK --set-xmark 0x1/0xffffffff
[0:0] -A OUTPUT -m owner --uid-owner 1005 -j MARK --set-xmark 0x1/0xffffffff
COMMIT
# Completed on Sun Apr 7 08:01:33 2013
# Generated by iptables-save v1.4.18 on Sun Apr 7 08:01:33 2013
*nat
:PREROUTING ACCEPT [7:2548]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [103:6095]
:POSTROUTING ACCEPT [0:0]
[103:6095] -A POSTROUTING ! -d 10.1.1.0/24 -o tun0_vpn -j MASQUERADE
COMMIT
# Completed on Sun Apr 7 08:01:33 2013
ip route show table openvpn
default via 10.1.1.9 dev tun0_vpn
ip rule show
0: from all lookup local
32765: from all fwmark 0x1 lookup openvpn
32766: from all lookup main
32767: from all lookup default
Если глянуть wireshark, то видно, что ответы приходят. Т.е. и ответы от dns, и icmp response. Например.
Получается, что тот же ping как бы не видит ответы.
Однако опять же, если сделать
ip r a 8.8.8.8 via 10.1.1.9 dev tun0_vpn