допустим на интерфейсе vlan10 176.x.x.x, на vlan20 212.y.y.y, 192.168.1.10 находится за eth0
добавить в /etc/iproute2/rt_tables
101 prov1
102 prov2
выполнить
# ip rule add from all fwmark 0x1 lookup prov1
# ip rule add from all fwmark 0x2 lookup prov2
# iptables -t mangle -A PREROUTING -i vlan10 -m conntrack --ctstate NEW -j CONNMARK --set-mark 0x1
# iptables -t mangle -A PREROUTING -i vlan20 -m conntrack --ctstate NEW -j CONNMARK --set-mark 0x2
# iptables -t mangle -A PREROUTING -i eth0 -m conntrack --ctstate ESTABLISHED -j CONNMARK --restore-mark
# iptables -t nat -A PREROUTING -i vlan10 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.10:80
# iptables -t nat -A PREROUTING -i vlan20 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.10:80
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o vlan10 -j SNAT --to-source 176.x.x.x
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o vlan20 -j SNAT --to-source 212.y.y.y
# iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# iptables -A FORWARD -p tcp -m tcp -d 192.168.1.10 --dport 80 -j ACCEPT