I don’t use tor that often but as my understanding tor is basically a socks5 proxy, which operates at application layer, so there is no way you can route all your traffic through tor, at least not the ICMP packets.
Some applications are willing to use your proxy settings like http_proxy
and https_proxy
environment variables, but some of them not, especially for udp based applications (most games). The workaround that i am aware of is to use a rule-based proxy program that supports TUN mode, such as Clash Meta (the link is a fork of clash meta called mihomo, which is the one that i am currently using). Basically it creates a virtual interface and traps all the higher layer traffic into this interface, so it can route them through the configured proxy (tor in your case), even for applications that don’t honor your proxy settings at all.
In Clash Meta you can use configurations such as this to route all your layer 5 and 4 traffic through tor, the important part is to enable the tun mode. After that you can simply use command mihomo -f config.yaml
to start it.
port: 7890
socks-port: 7891
redir-port: 7892
mode: rule
tun:
enable: true
stack: gvisor
auto-route: true
auto-redirect: true
auto-detect-interface: true
proxies:
-
name: 'tor'
type: socks5
server: localhost
port: 9050
proxy-groups:
-
name: DEFAULT
type: select
proxies:
- 'tor'
rules:
- MATCH,DEFAULT
Have you checked the logs? I guess a simple
journalctl —user -f
would tell you what went wrong. Just run the command on a terminal and click the file picker button couple times and see what pops up