apt install redsocks /etc/redsocks.conf :
sysctl -w net.ipv4.ip_forward=1 iptables -t nat -A PREROUTING -i eth0 -p tcp -j REDIRECT --to-port 12345 Send specific traffic (or all) to the Linux box. Route all internet traffic via Linux box (policy routing): /ip route add dst-address=0.0.0.0/0 gateway=192.168.88.2 (Only if Linux box has its own default route to the real internet) Or use firewall marking (e.g., only for certain src/dst): /ip firewall mangle add chain=prerouting src-address=192.168.88.100/32 action=mark-routing new-routing-mark=via-v2ray /ip route add dst-address=0.0.0.0/0 gateway=192.168.88.2 routing-mark=via-v2ray Step 4 – NAT Consideration If the Linux box is on the same LAN, ensure MikroTik does not NAT traffic to it. Add a bypass rule: v2ray mikrotik
Avoid containers for transparent proxying. Use an external Linux box. Testing & Verification On MikroTik: apt install redsocks /etc/redsocks
On a LAN client, check public IP:
/ip firewall nat add chain=srcnat src-address=192.168.88.0/24 dst-address=192.168.88.2 action=accept Some RouterOS versions (7.x) support containers. You can run a lightweight Linux with V2Ray. Step 1 – Enable containers /container config set registry-url=https://registry-1.docker.io tmpdir=containers Step 2 – Pull and run a V2Ray container /container add remote-image=v2ray/official:latest interface=veth1 root-dir=containers/v2ray /container start 0 Step 3 – Expose SOCKS5 port Bind container port 1080 to router’s IP. Step 4 – Transparent proxy inside container? This is complex because the container lacks full network control. Easier: Use SOCKS5 proxy on client devices manually, or run redsocks inside the container with TPROXY (requires advanced network namespaces – often unstable on RouterOS). Use an external Linux box
Enable forwarding:
Example with redsocks (simpler):