Дело не в маркировке пакетов с помощью iptables, а в использовании двух разных таблиц маршрутизации. Это необходимо сделать, поскольку у вас будет два шлюза по умолчанию, и это возможно только в том случае, если у вас есть две совершенно разные таблицы маршрутизации с соответствующими правилами, определяющими, когда применять каждую из них.
Обычная процедура настройки системы таблиц с двумя маршрутизациями выглядит следующим образом:
Сначала создайте две таблицы (замените NAME1 и NAME2 именами, которые что-то значат для вас, то же самое с IP1, DEV1 и т.д.):
echo 200 <NAME1> >> /etc/iproute2/rt_tables
echo 201 <NAME2> >> /etc/iproute2/rt_tables
Добавьте шлюз к каждой таблице маршрутизации (при необходимости):
ip route add <NET1> dev <DEV1> src <SRC1> table <NAME1>
ip route add <NET2> dev <DEV2> src <SRC2> table <NAME2>
Тогда маршрут по умолчанию:
ip route add default via <IP1> table <NAME1>
ip route add default via <IP2> table <NAME2>
Затем правила выбора таблицы маршрутов на основе адреса источника:
ip rule add from <IP1> table <NAME1>
ip rule add from <IP2> table <NAME2>
В вашем случае это еще проще, потому что запуск VPN автоматически настроит вашу основную таблицу маршрутизации, и вам нужно сделать это только для другой таблицы маршрутизации. В приведенном выше правиле IP1 должен быть IP-адресом интерфейса tun/tap, а IP2 - IP-адресом другого интерфейса (это может быть eth0 или wlan0, или что-то еще).
Что касается других приложений, которые запускают соединение с вашего компьютера, вам просто нужно привязать их к любой сетевой плате.
РЕДАКТИРОВАТЬ:
Теперь, когда я вижу картину установки, которую вы пытаетесь реализовать, я вижу, что предложенное мной решение не является правильным, поскольку вы не хотите, чтобы весь ваш трафик маршрутизировался через VPN, а только тот, который предназначен для другой локальной сети. Это намного проще.
Забудьте все о двух таблицах маршрутизации и политике маршрутизации. Сотрите вторую таблицу маршрутизации. Запустите VPN, убедитесь, что ни клиент, ни сервер не содержат оператора, содержащего слова redirect-gateway df1. Затем на своем домашнем сервере введите следующие команды как sudo:
ip route add 192.168.57.0/24 via 192.168.162.5
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
в то время как на вашем рабочем маршрутизаторе, выполните снова, как sudo, эти две команды:
ip route add 192.168.112.0/24 via 192.168.162.9
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Столицы, где они есть, обязательны.