I'm trying to set up a transparent Tor proxy in Virtualbox using pfSense.
In the end I want all traffic to be passed through Tor, whenever I connect a VM to the same internal network as the proxy.
I set up a new VM for the pfSense router with 1 WAN and 1 LAN connection. (LAN IP in pfSense: 192.168.1.1/24)
I installed Tor and configured the torrc file like this:
DNSPort 53
DNSListenAddress 192.168.1.1
VirtualAddrNetworkIPv4 10.192.0.0/11
AutomapHostsOnResolve 1
RunAsDaemon 1
TransPort 9040
Log info file /var/log/tor/log
I connected to pfSense with a Windows 10 VM, kept the standard configuration, and disabled the DNS Resolver.
In pfSense I set up NAT port forwarding for the destination-ports 80/HTTP, 443/HTTPS and 22/SSH. They are redirected to 127.0.0.1:9040.
Now I connected a Win 10 VM to the internal network and tried to access some websites, with not a single one working. Except for some sites where I'm able to load them via their IP e.g. mmix.cs.hm.edu (129.187.208.9).
I found this article which describes very well what I am trying to do. I'm pretty sure the Tor configuration is correct, so the problem should be with the pfSense firewall.